Nsenter
Nsenter — это утилита Linux для запуска команды в пространстве имён (namespace) уже работающего процесса без создания нового контейнера. Она полезна для отладки Docker/Kubernetes Pod'ов, когда нужно выполнить sh, env или tcpdump в изолированной среде контейнера прямо с хоста.
Основные опции
-t PID — целевой PID процесса (например, из docker inspect -f '{{.State.Pid}}' container).
-n — сетевой namespace (для ip a, netstat).
-m — mount namespace (для файловой системы).
-p — PID namespace, -i — IPC, -u — user namespace.
Пример для Docker: nsenter -t $(docker inspect -f '{{.State.Pid}}' grafana) -n sh — войти в shell контейнера grafana с хоста.
Связь с Kubernetes и sidecar
Вместо kubectl debug (sidecar-контейнер) nsenter позволяет "войти" в проблемный контейнер напрямую с узла кластера, минуя дополнительные образы. Это быстрее для быстрой диагностики переменных вроде $LOG_LEVEL или сетевых проблем, но требует доступа к хосту и PID.