2026-02-03 18:51:57 -08:00
|
|
|
---
|
2026-02-07 21:44:57 -08:00
|
|
|
title: Tailscale Operator
|
2026-02-03 18:51:57 -08:00
|
|
|
tags:
|
|
|
|
|
- kubernetes
|
|
|
|
|
- tailscale
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# Tailscale Kubernetes Operator
|
|
|
|
|
|
|
|
|
|
The Tailscale operator enables Kubernetes services to be exposed directly on the Tailscale network via Ingress resources.
|
|
|
|
|
|
|
|
|
|
## Quick Reference
|
|
|
|
|
|
|
|
|
|
| Property | Value |
|
|
|
|
|
|----------|-------|
|
|
|
|
|
| **Namespace** | `tailscale` |
|
|
|
|
|
| **Helm Chart** | `tailscale/tailscale-operator` |
|
|
|
|
|
| **ArgoCD App** | `tailscale-operator` |
|
|
|
|
|
|
|
|
|
|
## How It Works
|
|
|
|
|
|
|
|
|
|
When you create an Ingress with `ingressClassName: tailscale`:
|
|
|
|
|
|
|
|
|
|
1. Operator provisions a Tailscale node for the service
|
|
|
|
|
2. Service becomes accessible at `<hostname>.tail8d86e.ts.net`
|
|
|
|
|
3. TLS is handled automatically via Tailscale
|
|
|
|
|
|
|
|
|
|
## Limitations
|
|
|
|
|
|
|
|
|
|
Services exposed via Tailscale Ingress are **not accessible** from:
|
|
|
|
|
- Other Kubernetes pods (they're not Tailscale clients)
|
|
|
|
|
- Docker containers on indri
|
|
|
|
|
|
2026-02-04 17:21:34 -08:00
|
|
|
For pod-to-service communication, use [[routing|Caddy]] (`*.ops.eblu.me`) instead.
|
2026-02-03 18:51:57 -08:00
|
|
|
|
|
|
|
|
## Related
|
|
|
|
|
|
|
|
|
|
- [[tailscale]] - Network configuration
|
|
|
|
|
- [[routing]] - Service routing options
|
|
|
|
|
- [[apps]] - Application registry
|