Ephemeral Containers in Action - Running a Go Debugger in Kubernetes
04-16, 10:10–10:40 (Europe/Amsterdam), The Warehouse

Ephemeral containers are an amazing recent feature in Kubernetes with great potential. We will explore that potential by running a live debugger session alongside an application pod and debug it remotely.


The modern observability stack has transformed the way you troubleshoot issues in a microservice environment. Some situations however ask for investigation of a single application pod that seems to be misbehaving. Ephemeral containers provide a way to attach to a seemingly problematic pod without restarting it.This allows developers to observe an issue in a live or staging environment running on top of Kubernetes.

We will discuss the practicality of launching a Go debugger (Delve) within an ephemeral container to remotely debug an application both on the CLI and in VS Code, highlighting the requirements and possible limitations one might encounter when trying to set up a similar troubleshooting routine. As part of that, we will explore the API for ephemeral containers and the current implementation in kubectl.

While the talk will use Go and Delve as an example, the considerations and steps presented are of universal importance to running a debugger for your language stack of choice.

Marvin is a sysadmin turned software engineer at Kubermatic with a passion for effective management of large server fleets for running applications on top of them, which has turned his attention to Kubernetes in 2018. He has been a CKA since February 2019 and has been working on various managed Kubernetes offerings, including integration of cutting edge technologies like Cluster API.