Skip to main content
In this guide, you’ll learn how to use Telepresence for seamless local development against a Kubernetes cluster by walking through a simple three-service demo application.

Application Architecture

Our sample app comprises three microservices: When a client requests product data, products calls inventory to fetch stock counts and then merges the results. auth runs independently.
The image is a diagram of a demo app architecture, showing a user interacting with an authentication service, products, and inventory, all within a Kubernetes environment.

What We’ll Cover

  1. Inspect application code and Kubernetes manifests
  2. Install the Telepresence client locally
  3. Deploy the Telepresence traffic manager in the cluster
  4. Establish a connection and verify setup
  5. Test DNS, service endpoints, and pod IPs from your laptop
  6. Cleanly disconnect when finished
The image is a diagram of a demo app architecture, showing interactions between a user, authentication, products, and inventory services, with a Kubernetes logo indicating deployment.

1. Inspecting the Code

Open the project in VS Code or your preferred IDE. You’ll see three top-level folders—auth, inventory, and products—each containing:
  • index.js: Node.js entrypoint
  • package.json
  • Dockerfile
Under the k8s/ directory are the Kubernetes YAML manifests for each service.
The image shows a Visual Studio Code interface with a file explorer open on the left, displaying a project structure with folders and files. The main area is empty, showing the VS Code logo and some shortcut keys.

2. Kubernetes Manifests

Auth Deployment & Service

Inventory Deployment & Service

Products Deployment & Service

The products service is exposed via a LoadBalancer:

3. Verifying the Kubernetes Cluster

Before proceeding, ensure your cluster is running and your kubectl context is set correctly.
You should see multiple nodes in the Ready state.
Make sure your kubeconfig points to the correct context. On managed services like AWS EKS, verify your cluster endpoint and authentication.

4. Installing the Telepresence Client

On Windows, open PowerShell as an Administrator:

5. Deploying the Telepresence Traffic Manager

Telepresence uses Helm to install its Traffic Manager. Simply run:
This creates the ambassador namespace and deploys the traffic manager pods.

6. Connecting to the Cluster

Establish a VPN-like tunnel between your laptop and the Kubernetes cluster:
Check connection status:
You’ll see details on:
  • Connection status
  • Active Kubernetes context & namespace
  • Routes for service and pod CIDRs
  • DNS proxy configuration
  • Traffic Manager health
Ensure you have cluster-wide permissions to deploy the Traffic Manager via Helm. You may need a cluster-admin role.

7. Reviewing Cluster Services Locally

With Telepresence active, your laptop now behaves like a pod:
Example output:

8. Testing DNS Resolution

Verify Kubernetes DNS from your laptop:

9. Curling Services Locally

Auth Service

Products Service


10. Accessing a Pod by IP

  1. List pods with IPs:
  2. Curl the pod directly:

11. Disconnecting Telepresence

When you’ve finished testing, terminate the connection:
Confirm disconnection:

Watch Video