🔹 Общие команды

kubectl version - Показать версию kubectl и сервера API
kubectl cluster-info - Информация о кластере
kubectl config get-contexts - Список доступных контекстов
kubectl config use-context NAME - Переключиться на другой контекст
kubectl get ns - Получить список namespace
kubectl create ns my-namespace - Создать namespace
kubectl delete ns my-namespace - Удалить namespace

🔹 Работа с подами (Pods)

kubectl get pods - Получить список подов
kubectl get pods -o wide - Расширенная информация о подах
kubectl get pods -w - Отслеживание изменений в реальном времени
kubectl describe pod POD_NAME - Подробная информация о поде
kubectl delete pod POD_NAME - Удалить под
kubectl logs POD_NAME - Просмотр логов пода
kubectl logs -f POD_NAME - Стриминг логов пода
kubectl logs POD_NAME -p - Логи предыдущего контейнера
kubectl exec -it POD_NAME -- bash - Войти в контейнер (bash)
kubectl exec -it POD_NAME -- sh - Войти в контейнер (если нет bash)

🔹 Создание ресурсов

kubectl apply -f file.yaml - Применить манифест
kubectl apply -f dir/ - Применить все манифесты из директории
kubectl apply -f https://url/file.yaml - Применить манифест из URL
kubectl create deployment nginx --image=nginx - Создать деплоймент
kubectl create service clusterip my-svc --tcp=80:80 - Создать сервис
kubectl apply -f .yaml – Создать ресурс из YAML-файла
kubectl apply -f .yaml -f .yaml – Создать ресурсы из нескольких файлов
kubectl apply -f / – Создать ресурсы из всех файлов в директории
kubectl apply -f https:// – Создать ресурсы из URL
kubectl run --image= – Создать под
kubectl run --image= --port --expose – Создать под и сразу опубликовать его как сервис
kubectl run --image= --dry-run=client -o yaml > .yaml – Создать YAML-файл пода
kubectl create deployment --image= --dry-run=client -o yaml > .yaml – Создать YAML-файл деплоймента
kubectl create service --tcp= --dry-run=client -o yaml > .yaml – Создать YAML-файл сервиса
kubectl expose deployment --type= --port= --target-port= – Опубликовать сервис из пода или деплоймента
kubectl create configmap --from-literal== --from-literal== – Создать ConfigMap из пар "ключ-значение"
kubectl create configmap --from-file= – Создать ConfigMap из файла
kubectl create configmap --from-env-file= – Создать ConfigMap из файла переменных окружения
kubectl create secret generic --from-literal== --from-literal== – Создать Secret из пар "ключ-значение"
kubectl create secret generic --from-file= – Создать Secret из файла

🔹 Управление деплойментами (Deployments)

kubectl get deployments - Получить список деплойментов
kubectl describe deployment DEPLOY_NAME - Подробное описание деплоймента
kubectl delete deployment DEPLOY_NAME - Удалить деплоймент
kubectl scale deployment DEPLOY_NAME --replicas=3 - Масштабировать деплоймент

🔹 Работа с сервисами (Services)

kubectl get services - Получить список сервисов
kubectl describe service SVC_NAME - Подробная информация о сервисе
kubectl delete service SVC_NAME - Удалить сервис

🔹 Ингресс (Ingress)

kubectl get ingress - Получить список Ingress ресурсов
kubectl describe ingress INGRESS_NAME - Подробное описание
kubectl delete ingress INGRESS_NAME - Удалить Ingress

🔹 Мониторинг нагрузки

kubectl top nodes - Нагрузка CPU и памяти на узлах
kubectl top pods - Нагрузка CPU и памяти на подах

🔹 Управление секретами и ConfigMap

kubectl get secrets - Получить список секретов
kubectl describe secret SECRET_NAME - Подробное описание секрета
kubectl delete secret SECRET_NAME - Удалить секрет
kubectl create secret generic my-secret --from-literal=key1=value1 - Создать секрет
kubectl get configmaps - Получить список ConfigMap
kubectl describe configmap CONFIGMAP_NAME - Описание ConfigMap
kubectl delete configmap CONFIGMAP_NAME - Удалить ConfigMap

🔹 Управление роллаутами

kubectl rollout restart deployment DEPLOY_NAME - Перезапустить деплоймент
kubectl rollout undo deployment DEPLOY_NAME - Откатить деплоймент к последней ревизии
kubectl rollout history deployment DEPLOY_NAME - История ревизий деплоймента

🔹 Полезные алиасы

alias k='kubectl'
alias kgp='kubectl get pods'
alias kgs='kubectl get services'
alias kgn='kubectl get nodes'

Используйте `kubectl explain RESOURCE --recursive` для получения справки о любой сущности в Kubernetes!

Поделиться