Kubernetes Debugging met Ephemeral Containers

Het debuggen van applicaties die draaien op Kubernetes kan heel makkelijk zijn, mits je in je containers zelf daar de goede tools voor hebt. Nu gaat er natuurlijk niks boven goede instrumentatie met goede traces, logs, en metrics, maar helaas zijn die niet altijd beschikbaar. Echte debugging tools in je container images (denk aan bijvoorbeeld gdb en vrienden) is vaak niet aan te raden, omdat we vanuit een beveiligings-standpunt dat soort tools niet in onze images willen hebben zitten.

Het wordt pas echt leuk als je container images zelfs geen shell erin hebben zitten. Denk hierbij aan de groeiende hoeveelheid “Distroless”-images, maar ook aan images met slechts een enkele, statisch-gelinkte, binary, zoals veel Golang applicaties.