TS
Tailscale SOPKnowledge Base
Search
← All topics

Expose a Service in one cluster to another cluster (cross-cluster connectivity)

Last validated: Jan 5, 2026

tailscalecontainers
Agent trigger phrases:

Expose a Service in one cluster to another cluster (cross-cluster connectivity)

Last validated: Jan 5, 2026

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. To distribute secrets between clusters, refer to Sync Kubernetes secrets across clusters with External Secrets Operator.

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.

Project Logo

Ask AI

reCAPTCHA

Recaptcha requires verification.

protected by reCAPTCHA