Get started - it's free!
Log in
© 2026

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, refer to 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:

  1. Set up Ingress in cluster A for the Service you wish to access.
  2. Expose the external Service (running in cluster A) using its Tailscale IP address in cluster B with an annotation on the external Service.

Customization

Customize the operator and resources it manages.

Troubleshooting

Troubleshoot the operator and resources it manages.

Last updated Jan 5, 2026