Expose a Service in one cluster to another cluster (cross-cluster connectivity)
You can use the Tailscale Kubernetes Operator to expose a Service in one cluster to another cluster. This is done by exposing the Service on destination cluster A to the tailnet (cluster ingress), and connecting from a source Service in cluster B to the tailnet (cluster egress) to access the Service running in cluster A.
For GitOps workflows that need to manage deployments across multiple clusters, see Manage multi-cluster Kubernetes deployments with ArgoCD.
Prerequisites
Cross-cluster connectivity setup
This will need to be configured for each Ingress and Egress pair of Services. To set this up for access through ingress to a Service in cluster A and routing through egress from a Service in cluster B:
- Set up
Ingressin cluster A for theServiceyou wish to access. - Expose the external
Service(running in cluster A) using its Tailscale IP address in cluster B with an annotation on the externalService.
Customization
Learn how to customize the operator and resources it manages.
Troubleshooting
Learn how to troubleshoot the operator and resources it manages.
