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.
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.
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.
How to use
- Install Telepresence:
brew install datawire/blackbird/telepresence
- Install the traffic manager in your cluster (one-time):
telepresence helm install
- Connect your laptop to the cluster network:
telepresence connect
curl http://api.prod.svc.cluster.local:8080/health
- Intercept a service and route its traffic locally:
telepresence intercept orders --port 8080:http --env-file=.env.dev
./run-orders-locally.sh
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
Related on TokRepo
- DevOps tools — Kubernetes development and operations tooling
- Self-hosted tools — tools for running infrastructure locally
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
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.
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.
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.
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.
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)
- Telepresence GitHub— Telepresence is a CNCF project for local Kubernetes development
- Telepresence Docs— Personal intercepts use header-based routing
- CNCF Landscape— CNCF sandbox project listing
Related on TokRepo
Discussion
Related Assets
doctest — The Fastest Feature-Rich C++ Testing Framework
doctest is a single-header C++ testing framework designed for minimal compile-time overhead and maximum speed.
Chai — BDD/TDD Assertion Library for Node.js
Chai is a flexible assertion library for Node.js and browsers that supports expect, should, and assert styles.
Supertest — HTTP Assertion Library for Node.js APIs
Supertest provides a high-level API for testing HTTP servers in Node.js with fluent assertion chaining.