Skip to content

Latest commit

 

History

History
85 lines (56 loc) · 3.32 KB

File metadata and controls

85 lines (56 loc) · 3.32 KB

aws-eks-operator

This example creates the following:

Considerations

  • The EKS cluster is configured with both public and private API server access for flexibility
  • The Tailscale operator is deployed in a dedicated tailscale namespace
  • The operator will create a Tailscale device for API server proxy access
  • Any additional Tailscale resources (like ingress controllers) created by the operator will appear in your Tailnet

Prerequisites

To use

Follow the documentation to configure the Terraform providers:

Configure variables

Create a terraform.tfvars file with your Tailscale OAuth credentials:

tailscale_oauth_client_id     = "your-oauth-client-id"
tailscale_oauth_client_secret = "your-oauth-client-secret"

Deploy

terraform init
terraform apply

Verify deployment

After deployment, configure kubectl to access your cluster:

aws eks update-kubeconfig --region $AWS_REGION --name $(terraform output -raw cluster_name)

Check that the Tailscale operator is running:

kubectl get pods -n tailscale
kubectl logs -n tailscale -l app.kubernetes.io/name=$(terraform output -raw operator_name)

Verify connectivity via the API server proxy

After deployment, configure kubectl to access your cluster using Tailscale:

tailscale configure kubeconfig ${terraform output -raw operator_name}
kubectl get pods -n tailscale

To destroy

terraform destroy

# remove leftover Tailscale devices at https://login.tailscale.com/admin/machines and services at https://login.tailscale.com/admin/services

Limitations