Developing and debugging services locally using telepresence

    Kubernetes applications usually consist of multiple, separate services, each running in its own container. Developing and debugging these services on a remote Kubernetes cluster can be cumbersome, requiring you to get a shell on a running container in order to run debugging tools.

    is a tool to ease the process of developing and debugging services locally while proxying the service to a remote Kubernetes cluster. Using telepresence allows you to use custom tools, such as a debugger and IDE, for a local service and provides the service full access to ConfigMap, secrets, and the services running on the remote cluster.

    This document describes using telepresence to develop and debug services running on a remote cluster locally.

    • Kubernetes cluster is installed
    • is configured to communicate with the cluster

    After installing telepresence, run telepresence connect to launch it’s Daemon and connect your local workstation to the cluster.

    When developing an application on Kubernetes, you typically program or debug a single service. The service might require access to other services for testing and debugging. One option is to use the continuous deployment pipeline, but even the fastest deployment pipeline introduces a delay in the program or debug cycle.

    Use the telepresence intercept $SERVICE_NAME --port $LOCAL_PORT:REMOTE_PORT command to create an “intercept” for rerouting remote service traffic.

    Where:

    • $SERVICE_NAME is the name of your local service
    • is the port that your service is running on your local workstation
    • And $REMOTE_PORT is the port your service listens to in the cluster

    Running this command tells Telepresence to send remote traffic to your local service instead of the service in the remote Kubernetes cluster. Make edits to your service source code locally, save, and see the corresponding changes when accessing your remote application take effect immediately. You can also run your local service using a debugger or any other local development tool.

    If you’re interested in a hands-on tutorial, check out that walks through locally developing the Guestbook application on Google Kubernetes Engine.

    For further reading, visit the Telepresence website.

    Items on this page refer to third party products or projects that provide functionality required by Kubernetes. The Kubernetes project authors aren’t responsible for those third-party products or projects. See the for more details.

    You should read the content guide before proposing a change that adds an extra third-party link.