JetBrains Rider 2025.3 Help

Debugging in Kubernetes

JetBrains Rider supports the following Kubernetes debugging flows: on-the-fly pod troubleshooting with ephemeral containers and remote debugging with Telepresence, so you can diagnose various issues without leaving your IDE.

Ephemeral containers

JetBrains Rider supports attaching ephemeral containers to running pods without restarting them. This way, you can inspect a live Kubernetes environment, run diagnostic commands, and investigate issues directly inside a running pod.

An ephemeral container is temporarily added to an existing pod for debugging and runs alongside your application containers. For this purpose, JetBrains Rider runs the kubectl debug command under the hood. You can either attach your custom debug container or use a lightweight BusyBox image, which provides common tools like ping, netstat, wget, and top out of the box.

For more details on debugging running pods, refer to the Kubernetes documentation.

Attach BusyBox to a running pod

  1. Open the Services tool window: select View | Tool Windows | Services or press Alt+8.

  2. Expand the node that lists running pods, right-click the pod you want to debug, and select Ephemeral Debug Containers | Attach Busybox from the context menu.

    Alternatively, select the required pod, click the Ephemeral Container icon on the toolbar, and select Attach Busybox from the dropdown.

    Attach BusyBox

Attach a custom container to a running pod

  1. Open the Services tool window: select View | Tool Windows | Services or press Alt+8.

  2. Expand the node that lists running pods, right-click the pod you want to debug, and select Ephemeral Debug Containers | Attach Custom from the context menu.

    Alternatively, select the required pod, click the Ephemeral Container icon on the toolbar, and select Attach Custom from the dropdown.

  3. In the Attach Custom Debug Container dialog, use the following fields to customize the kubectl debug command for starting and attaching an ephemeral container:

    • Pod: select the pod you want to debug from the dropdown.

    • Target: specify the target container inside the selected pod.

    • Image: start typing the name of an image to use for debugging and then select it from the list of suggestions.

    • Executable: specify an absolute path to the shell to run inside the ephemeral container after it starts (for example, /bin/sh for BusyBox or /bin/bash for Ubuntu).

    • Options: provide additional configuration parameters for the debug container. For examples, refer to the Kubernetes documentation.

    the Attach Custom Debug Container dialog
  4. Click Attach to Pod.

When JetBrains Rider starts a new ephemeral container and successfully attaches it to the pod, the Console tab opens, where you can run commands and inspect the pod.

Debug console

If you attach BusyBox, JetBrains Rider automatically uses sh. For custom images, the IDE uses the shell specified in the Executable field.

The container is removed when you delete the pod it is attached to.

Recent commands

When you attach an ephemeral container using the Ephemeral Debug Containers menu, JetBrains Rider automatically saves the corresponding kubectl debug command. You can access and rerun it later from the Recent section.

Recent commands

Start an ephemeral container using a recent command

  1. Open the Services tool window: select View | Tool Windows | Services or press Alt+8.

  2. Expand the node that lists running pods and right-click the pod you want to debug. Select Ephemeral Debug Containers and the required recent command from the context menu.

    Alternatively, select the required pod, click the Ephemeral Container icon on the toolbar, and select the recent command from the dropdown.

Manage recent commands

  1. Access recent commands:

    • In the Settings/Preferences dialog (Ctrl+Alt+S) , select Build, Execution, Deployment | Kubernetes.

    • Open the Sevices tool window (Alt+8). Right-click any running pod and select Ephemeral Debug Containers | Edit Recents from the context menu.

  2. Navigate to the Ephemeral Debug Containers section.

    • To add a new command that you can preconfigure and quickly start new ephemeral containers, click the Plus icon. In the Add Debug Parameters dialog, you can specify an image, executable, and options for the kubectl debug command.

    • To remove a command from recents, select it in the table and click the Minus icon.

    • To edit an existing command, select it in the table and click the Edit icon. In the Add Debug Parameters dialog, change the image, executable, and options for the kubectl debug command.

Telepresence

Telepresence is a tool that lets you access services in a Kubernetes cluster, debug them, make, and test changes as if the services were running on your computer locally.

The Kubernetes plugin provides integration with Telepresence allowing you to:

Connect to Telepresence

  1. Open the Services tool window: select View | Tool Windows | Services or press Alt+8.

  2. Right-click your Kubernetes cluster and select Connect Telepresence. Alternatively, click Telepresence icon in the toolbar. When prompted, enter your administrator account password required to start the Telepresence daemon. On Windows, allow telepresence.exe to be executed.

  3. After installing Telepresence and Traffic Manager, click Connect Telepresence again.

You can now access services in the Kubernetes cluster by their DNS names as if the cluster were running on your workstation. For example, if you have an application that accepts requests to hello-node:9001, you can access it by its name.

Telepresence Connect

Intercept traffic from the cluster

Intercepts allow you to take traffic going to a service in the Kubernetes cluster and route it to the local service.

  1. On the toolbar, click Telepresence icon (Create New Interception) and then click Create new interception.

  2. In the window that opens, in the Service list, select a workload to intercept. This can be a Deployment, a ReplicaSet, or a StatefulSet.

    In the Ports field, specify the port on which the local instance of your service is running.

    Telepresence Intercept

If the service is intercepted successfully, you can access it locally and use the IDE features to try, debug, and profile your application running in the cluster.

Quit Telepresence

Telepresence interacts with one cluster at a time, so you may need to stop it before connecting to another cluster. Quitting Telepresence will stop all active intercepts.

  1. Open the Services tool window: select View | Tool Windows | Services or press Alt+8.

  2. Right-click your Kubernetes cluster and select Quit Telepresence. Alternatively, click Quit Telepresence icon in the toolbar.

07 November 2025