junior
Какие основные команды kubectl нужно знать?
kubectl — CLI-инструмент для управления кластером Kubernetes. Все команды работают с API Server.
Получение информации
Пример
# Список Pod'ов (в текущем namespace)
kubectl get pods
# Список Pod'ов во всех namespace
kubectl get pods -A
# Список Pod'ов с подробностями (IP, нода)
kubectl get pods -o wide
# Список по типу
kubectl get deployments
kubectl get services
kubectl get configmaps
kubectl get nodes
# Вывод в YAML или JSON формате
kubectl get deployment my-app -o yaml
Подробная информация
Пример
# Детальное описание ресурса (включая Events!)
kubectl describe pod my-pod
kubectl describe deployment my-app
kubectl describe node worker-1
kubectl describe — одна из самых полезных команд для диагностики. Секция Events в выводе показывает, почему Pod не запускается.
Логи
Пример
# Логи Pod'а
kubectl logs my-pod
# Логи конкретного контейнера в Pod'е
kubectl logs my-pod -c app
# Стримить логи (аналог tail -f)
kubectl logs -f my-pod
# Последние 100 строк
kubectl logs --tail=100 my-pod
# Логи предыдущего (упавшего) контейнера
kubectl logs my-pod --previous
Выполнение команд внутри контейнера
Пример
# Выполнить команду
kubectl exec my-pod -- ls /app
# Открыть интерактивный терминал
kubectl exec -it my-pod -- /bin/sh
Создание и удаление ресурсов
Пример
# Применить манифест (создать или обновить)
kubectl apply -f deployment.yaml
# Применить все манифесты из директории
kubectl apply -f ./k8s/
# Удалить ресурс
kubectl delete pod my-pod
kubectl delete -f deployment.yaml
Масштабирование и переадресация
Пример
# Изменить количество реплик
kubectl scale deployment my-app --replicas=5
# Пробросить порт Pod'а на локальную машину
kubectl port-forward pod/my-pod 8080:8080
# Пробросить порт Service
kubectl port-forward service/my-service 8080:80
Полезные возможности
Пример
# Посмотреть потребление ресурсов
kubectl top pods
kubectl top nodes
# Проверить манифест без применения (dry run)
kubectl apply -f deployment.yaml --dry-run=client
# Посмотреть отличия до применения
kubectl diff -f deployment.yaml
На собеседовании: минимум — знать
get,describe,logs,apply,delete,exec. Частая ошибка — не знатьkubectl describeи его секцию Events для диагностики проблем.