Кубик: видеть кластер.
Домашняя шпаргалка по контекстам, namespace, подам и деплоям. Во всех примерах namespace и имена ресурсов замените на свои.
Контекст и namespace
kubectl config get-contextsПосмотреть доступные кластеры и текущий контекст.
kubectl config current-contextУбедиться, с каким кластером сейчас идёт работа.
kubectl config use-context nameПереключиться на другой контекст.
kubectl get namespacesПоказать все пространства имён в кластере.
kubectl config set-context --current --namespace=devУстановить namespace по умолчанию для текущего контекста.
Посмотреть состояние
kubectl get pods -n namespaceСписок подов в нужном namespace.
kubectl get deploy,svc,ingress -n namespaceКраткая сводка основных ресурсов приложения.
kubectl get pods -AПоды во всех namespace; удобно при первичной диагностике.
kubectl describe pod pod-name -n namespaceСобытия, образ, проба здоровья и причины проблем конкретного пода.
kubectl get events -n namespace --sort-by=.lastTimestampПоследние события по порядку времени.
Логи и доступ внутрь
kubectl logs pod-name -n namespaceВывести логи основного контейнера пода.
kubectl logs -f deploy/app -n namespaceСледить за логами pod'ов deployment в реальном времени.
kubectl logs pod-name -c sidecar -n namespaceВзять логи конкретного контейнера в pod'е.
kubectl exec -it pod-name -n namespace -- shОткрыть shell внутри запущенного контейнера.
kubectl port-forward svc/app 8080:80 -n namespaceОткрыть локальный доступ к сервису на localhost:8080.
Применить изменения
kubectl apply -f manifest.yamlСоздать или обновить ресурсы, описанные в manifest-файле.
kubectl diff -f manifest.yamlСначала посмотреть, что изменится при apply.
kubectl set image deploy/app app=image:tag -n namespaceОбновить образ контейнера в deployment.
kubectl rollout status deploy/app -n namespaceДождаться результата развёртывания.
kubectl rollout history deploy/app -n namespaceПосмотреть ревизии deployment.
kubectl rollout undo deploy/app -n namespaceОткатить deployment к предыдущей ревизии.
Диагностика
kubectl get pod pod-name -n namespace -o wideУзнать IP пода, ноду и дополнительные детали размещения.
kubectl top pods -n namespaceПотребление CPU и памяти; работает при установленном Metrics Server.
kubectl top nodesНагрузка по нодам кластера.
kubectl auth can-i create deployments -n namespaceПроверить, хватает ли текущих прав на нужное действие.
kubectl explain deployment.specВстроенная справка по полям Kubernetes API.