Top Related Projects
open source Kubernetes-native API gateway for microservices built on the Envoy Proxy
Connect, secure, control, and observe services.
Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
The Cloud Native Application Proxy
Cloud-native high-performance edge/middle/service proxy
Run Kubernetes locally
Quick Overview
Telepresence is an open-source tool for local development of Kubernetes microservices. It allows developers to run a single service locally while connecting to a remote Kubernetes cluster, enabling faster development cycles and easier debugging of distributed applications.
Pros
- Seamless local development experience with remote Kubernetes clusters
- Faster development cycles by avoiding constant container rebuilds and deploys
- Easy debugging of microservices in complex distributed environments
- Supports various programming languages and frameworks
Cons
- Initial setup can be complex for some environments
- May introduce additional network latency in certain scenarios
- Requires careful configuration to ensure security in production environments
- Limited support for some advanced Kubernetes features
Getting Started
- Install Telepresence:
# macOS
brew install datawire/blackbird/telepresence
# Linux
curl -s https://packagecloud.io/install/repositories/datawire/telepresence/script.deb.sh | sudo bash
sudo apt install telepresence
- Connect to your Kubernetes cluster:
telepresence connect
- Intercept a service:
telepresence intercept <service-name> --port <local-port>:<remote-port>
- Run your local service and start developing!
Competitor Comparisons
open source Kubernetes-native API gateway for microservices built on the Envoy Proxy
Pros of Emissary
- Designed as a full-featured API Gateway and Ingress Controller
- Offers advanced traffic management and routing capabilities
- Provides built-in support for authentication and rate limiting
Cons of Emissary
- Steeper learning curve due to more complex configuration options
- May be overkill for simple development environments
- Requires more resources to run compared to Telepresence
Code Comparison
Emissary configuration example:
---
apiVersion: getambassador.io/v3alpha1
kind: Mapping
metadata:
name: example-mapping
spec:
prefix: /example/
service: example-service
Telepresence configuration example:
intercepts:
- name: example
service: example-service
port: 8080
Emissary focuses on defining API routes and services, while Telepresence emphasizes local development and service interception. Emissary's configuration is more detailed, reflecting its broader feature set as an API Gateway. Telepresence's configuration is simpler, tailored for development workflows and service proxying.
While both tools serve Kubernetes environments, they address different needs. Emissary is better suited for production-grade API management, whereas Telepresence excels in streamlining local development and testing against remote clusters.
Connect, secure, control, and observe services.
Pros of Istio
- Comprehensive service mesh solution with advanced traffic management, security, and observability features
- Supports multi-cluster and multi-cloud deployments
- Provides robust load balancing, circuit breaking, and fault injection capabilities
Cons of Istio
- Steeper learning curve and more complex setup compared to Telepresence
- Higher resource overhead due to its extensive feature set
- May introduce additional latency in certain scenarios
Code Comparison
Istio (configuring a virtual service):
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: my-service
spec:
hosts:
- my-service
http:
- route:
- destination:
host: my-service
subset: v1
Telepresence (intercepting traffic):
telepresence intercept my-service --port 8080:80
Istio provides a more declarative approach to traffic management, while Telepresence offers a simpler command-line interface for local development and debugging. Istio's configuration is more verbose but offers greater flexibility, whereas Telepresence focuses on ease of use for developers working on microservices locally.
Both tools serve different purposes: Istio is a full-fledged service mesh for production environments, while Telepresence is primarily designed for local development and testing of microservices in Kubernetes clusters.
Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
Pros of Linkerd2
- Provides a full-featured service mesh with advanced traffic management and observability
- Offers automatic mTLS encryption and strong security features out-of-the-box
- Lightweight and has minimal performance overhead compared to other service meshes
Cons of Linkerd2
- Requires cluster-wide installation and modifications, which can be complex
- May introduce additional latency for inter-service communication
- Limited to Kubernetes environments, not suitable for local development
Code Comparison
Linkerd2 (installing the service mesh):
linkerd install | kubectl apply -f -
linkerd inject deployment.yaml | kubectl apply -f -
Telepresence (local development setup):
telepresence connect
telepresence intercept my-service --port 8080:80
While both projects aim to improve Kubernetes development and operations, they serve different purposes. Linkerd2 is a comprehensive service mesh for production environments, while Telepresence focuses on local development and debugging of Kubernetes applications.
The Cloud Native Application Proxy
Pros of Traefik
- Designed as a full-featured reverse proxy and load balancer
- Supports automatic HTTPS with Let's Encrypt integration
- Offers dynamic configuration and service discovery
Cons of Traefik
- Steeper learning curve for complex configurations
- May be overkill for simple development environments
- Requires more resources to run compared to Telepresence
Code Comparison
Traefik configuration (YAML):
http:
routers:
my-router:
rule: "Host(`example.com`)"
service: my-service
services:
my-service:
loadBalancer:
servers:
- url: "http://localhost:8080"
Telepresence configuration (CLI):
telepresence connect
telepresence intercept my-service --port 8080:80
While Traefik is a powerful reverse proxy and load balancer, Telepresence focuses on local development and testing of Kubernetes services. Traefik excels in production environments, offering advanced routing and load balancing features. Telepresence, on the other hand, simplifies the development workflow by allowing developers to run services locally while connected to a remote Kubernetes cluster.
Cloud-native high-performance edge/middle/service proxy
Pros of Envoy
- More versatile and can be used as a general-purpose proxy for various protocols
- Highly performant and scalable, suitable for large-scale deployments
- Extensive feature set for traffic management, observability, and security
Cons of Envoy
- Steeper learning curve due to its complexity and wide range of features
- Requires more configuration and setup compared to Telepresence
- May be overkill for simple development scenarios
Code Comparison
Telepresence configuration example:
intercepts:
- name: example
service: example-svc
port: 8080
Envoy configuration example:
static_resources:
listeners:
- address:
socket_address:
address: 0.0.0.0
port_value: 8080
While Telepresence focuses on local development and testing, Envoy is a full-featured proxy designed for production environments. Telepresence offers a simpler setup for developers working on microservices, whereas Envoy provides more advanced networking capabilities but requires more extensive configuration.
Run Kubernetes locally
Pros of Minikube
- Provides a full-fledged local Kubernetes environment
- Supports multiple hypervisors and container runtimes
- Offers a more realistic Kubernetes experience for testing and development
Cons of Minikube
- Requires more system resources compared to Telepresence
- Setup and configuration can be more complex
- May not be as suitable for rapid development cycles
Code Comparison
Minikube startup:
minikube start --driver=docker
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.10
kubectl expose deployment hello-minikube --type=NodePort --port=8080
Telepresence usage:
telepresence connect
telepresence intercept hello-world --port 8080:http
Key Differences
- Minikube creates a full local Kubernetes cluster, while Telepresence connects to an existing cluster
- Telepresence focuses on local development and debugging, whereas Minikube is more suited for testing and simulating production environments
- Minikube requires more setup and resources, but provides a more comprehensive Kubernetes experience
- Telepresence offers faster development cycles and easier integration with local development environments
Both tools serve different purposes in the Kubernetes ecosystem, with Minikube being more suitable for full cluster simulation and Telepresence excelling in rapid development and debugging scenarios.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Telepresence: Fast, Local Development for Kubernetes
Telepresence is a CNCF project that connects your workstation to a Kubernetes cluster. Code and debug a service locally â with your own IDE, debugger, and hot reload â while it receives real traffic from the cluster, without the container build/push/deploy cycle.

Key Features
- Cluster access - Your workstation reaches cluster Services and Pods as if it were inside the cluster: cluster DNS, cluster IPs, no port-forwards.
- Four attachment modes - Replace the remote container, intercept a service port, wiretap a copy of the traffic, or ingest just the environment and volumes.
- Traffic filtering - Intercept only your own requests, selected by HTTP header or path, so a whole team can share one cluster without collisions.
- Sidecar or node-agent - The traffic-agent is either injected as a sidecar (the default), or runs as a node-hosted pod that attaches to workloads without modifying them: no injection, no pod restarts.
- Remote environment, local process - Run with the remote container's environment variables and volume mounts, so the code behaves like it does in the cluster.
Getting Started
- Quick Start Guide - Get up and running in minutes
- Installation - Install the Telepresence client
- Documentation - Full documentation
How It Works
When Telepresence connects, it creates a virtual network interface on your workstation and routes cluster traffic through a traffic-manager deployed in the cluster. Attaching to a workload adds a traffic-agent â a sidecar or a node-agent â that hands the workload's traffic, environment, and volumes over to your machine. See the architecture overview for the full picture.
Community
- GitHub Discussions - Ask questions, share ideas, and help shape the roadmap
- CNCF Slack - Join #telepresence-oss
- Troubleshooting - Common issues and solutions
Sponsors
Thank you to the sponsors who support the development of Telepresence:
You can support the project too, via GitHub Sponsors.
Contributing
See AGENTS.md for build instructions, architecture overview, and development guidelines.
Code signing policy
Free code signing provided by SignPath.io, certificate by SignPath Foundation. The Windows release binaries and installers are Authenticode-signed with it.
- Committers and reviewers: telepresence-maintainers (@thallgren, @bgruszka, @njayp, @breland-openai)
- Approvers: administrators (@khussey, @thallgren)
- Privacy policy: PRIVACY.md
License
Telepresence is licensed under the Apache License 2.0.
Top Related Projects
open source Kubernetes-native API gateway for microservices built on the Envoy Proxy
Connect, secure, control, and observe services.
Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
The Cloud Native Application Proxy
Cloud-native high-performance edge/middle/service proxy
Run Kubernetes locally
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot