Подборка команд kubectl, которыми я пользуюсь чаще всего при разборе проблем в кластере Kubernetes. Часть примеров — из бесплатного курса по Kubernetes: плейлист на YouTube, материалы уроков на GitHub.
Поды: где запущены и с какими адресами
Ключ -o wide добавляет к списку узел и IP-адрес пода, -l отбирает поды по метке, -n задаёт пространство имён. Пример — поды локального DNS-кэша:
kubectl get po -o wide -n kube-system -l k8s-app=nodelocaldns
Логи
Логи сразу всех подов с меткой, в реальном времени (-f). По умолчанию kubectl читает не больше пяти подов одновременно, ключ --max-log-requests поднимает это ограничение:
kubectl logs -f -n kube-system -l k8s-app=nodelocaldns --max-log-requests=10
Логи конкретного пода и логи с отметками времени:
kubectl -n namespace logs pod_name
kubectl -n kube-system logs --timestamps cilium-1234
Если контейнер перезапускается, его текущие логи часто пустые. Логи предыдущего, упавшего экземпляра:
kubectl -n namespace logs pod_name --previous
Зайти внутрь контейнера
Открывает командную оболочку внутри пода. Если в образе есть bash, можно указать /bin/bash:
kubectl exec -it pod_name -n namespace -- /usr/bin/sh
Шпаргалки из курса




