ScriptsApr 15, 2026·3 min read

Telepresence — Local Dev for Remote Kubernetes

CNCF tool that makes a remote Kubernetes cluster feel like localhost. Intercept a Pod's traffic to your IDE while the rest of the stack runs in staging.

TL;DR
Telepresence intercepts remote Kubernetes service traffic and routes it to your local machine for fast iteration.
§01

What it is

Telepresence is a CNCF project that bridges your local development environment with a remote Kubernetes cluster. Instead of deploying every code change to test it, you run a single service locally in your IDE while the other services stay in a shared staging cluster. Traffic, DNS, and environment variables flow through a sidecar so your laptop participates in the cluster network.

Telepresence is built for developers working on microservice architectures who need fast inner-loop iteration without waiting for container builds and deployments.

§02

How it saves time or tokens

The traditional Kubernetes dev loop is: edit code, build container, push to registry, update deployment, wait for pod scheduling, then test. Telepresence collapses this to: edit code, save, test. By intercepting traffic from the cluster to your local process, you get sub-second feedback on changes. Environment variables and secrets are synced from the remote pod, so your local process runs with production-like configuration.

§03

How to use

  1. Install Telepresence:
brew install datawire/blackbird/telepresence
  1. Install the traffic manager in your cluster (one-time):
telepresence helm install
  1. Connect your laptop to the cluster network:
telepresence connect
curl http://api.prod.svc.cluster.local:8080/health
  1. Intercept a service and route its traffic locally:
telepresence intercept orders --port 8080:http --env-file=.env.dev
./run-orders-locally.sh
§04

Example

A typical workflow intercepting an orders service:

# Connect to cluster
telepresence connect

# Verify cluster DNS works locally
curl http://orders.default.svc.cluster.local:8080/health
# => {"status": "ok"}

# Intercept the orders service
telepresence intercept orders --port 8080:http --env-file=.env

# Start your local dev server with cluster env vars
source .env
go run ./cmd/orders/main.go

# All traffic to the orders pod now hits your local process
§05

Related on TokRepo

§06

Common pitfalls

  • Telepresence requires cluster admin permissions to install the traffic manager; coordinate with your platform team before running helm install
  • Personal intercepts with header-based routing require Ambassador; without it, all traffic to the intercepted pod goes to your laptop, affecting other developers
  • VPN or firewall rules can block the Telepresence tunnel; ensure ports 8081 and 1080 are open between your machine and the cluster

Frequently Asked Questions

Does Telepresence work with any Kubernetes cluster?+

Yes. Telepresence works with EKS, GKE, AKS, minikube, kind, and any standard Kubernetes cluster. It installs a traffic manager component via Helm that runs as a deployment in the cluster. The only requirement is kubectl access to the target cluster.

What is the difference between global and personal intercepts?+

A global intercept routes all traffic from the intercepted service to your local machine. A personal intercept uses header-based routing so only requests with specific headers reach your laptop, while other traffic flows normally. Personal intercepts require Ambassador.

Does Telepresence sync volumes from the remote pod?+

Yes. Telepresence can mount remote volumes to your local filesystem using FUSE. This lets your local process access config files, certificates, and data that exist on the remote pod without copying them manually.

Can multiple developers intercept the same service?+

With personal intercepts and Ambassador, yes. Each developer sets a unique header value, and traffic is routed based on that header. Without Ambassador, only one developer can intercept a given service at a time.

How does Telepresence handle environment variables?+

When you create an intercept with --env-file, Telepresence exports all environment variables from the remote pod into the specified file. You source this file before running your local process, giving it the same configuration as the production pod.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets