Основні команди kubectl для початківців

pic

Якщо ви новачок у Kubernetes, освоєння команди kubectl — це перший крок до того, щоб управляти кластерами як професіонал. Цей швидкий посібник допоможе вам вивчити найнеобхідніші команди, які повинен знати кожен початківець.
І не забувайте, для операцій, специфічних для певного простору імен, використовуйте прапор -n, щоб спростити ваш робочий процес.

Керування просторами імен

Простори імен дозволяють організовувати та керувати ресурсами всередині вашого кластера.

Переглянути всі простори імен:

kubectl get namespaces

Створити новий простір імен:

kubectl create namespace 

Видалити простір імен:

kubectl delete namespace 

Встановити за замовчуванням простір імен для поточного контексту:

kubectl config set-context --current --namespace=

Операції з Pod

Pods є основними одиницями розгортання в Kubernetes.

Переглянути всі pods в поточному просторі імен:

kubectl get pods

Видалити конкретний pod:

kubectl delete pod 

Виконати команду всередині pod

kubectl exec -it  -- 

Приклад:

kubectl exec -it  -- bash

Вивести змінні середовища pod:

kubectl exec -it  -- env

Фільтрувати pods за міткою:

kubectl get pods -l =

Приклад:

kubectl get pods -l app=webapp

Створити pod із конкретним образом:

kubectl run  --image= --restart=Never

Приклад:

kubectl run  --image= --restart=Never

Згенерувати YAML для pod без його створення:

kubectl run  --image= --restart=Never --dry-run=client -o yaml

Приклад:

kubectl run web --image=nginx --restart=Never --dry-run=client -o yaml

Перенаправити порт pod на localhost:

kubectl port-forward pod/ :

Приклад:

kubectl port-forward pod/web 8080:80

Керування розгортанням

Розгортання керують розгортанням і масштабуванням наборів pod.

Переглянути всі розгортання:

kubectl get deployments

Створити розгортання:

kubectl create deployment  --image=

Приклад:

kubectl create deployment webapp --image=nginx

Оновити образ розгортання:

kubectl set image deployment/ =

Приклад:

kubectl set image deployment/webapp nginx=nginx:1.19

Масштабувати розгортання

kubectl scale deployment/ --replicas=

Приклад:

kubectl scale deployment/webapp --replicas=3

Повернути розгортання до попередньої версії:

kubectl rollout undo deployment/

Приклад:

kubectl rollout undo deployment/webapp

Керування сервісами

Сервіси відкривають ваші додатки для мережі.

Переглянути всі сервіси:

kubectl get services

Створити сервіс для відкриття розгортання:

kubectl expose deployment/ --port= --target-port= --type=

Приклад:

kubectl expose deployment/webapp --port=80 --target-port=8080 --type=LoadBalancer

Видалити сервіс

kubectl delete service 

Перенаправити порт для сервісу

kubectl port-forward service/myservice 8443:https

Керування ConfigMap та Secret

ConfigMap та Secret керують конфігураційними даними та чутливою інформацією.

Створити ConfigMap з файлу:

kubectl create configmap  --from-file=

Приклад:

kubectl create configmap app-config --from-file=config.yaml

Створити Secret з літеральних значень:

kubectl create secret generic  --from-literal==

Приклад:

kubectl create secret generic db-secret --from-literal=username=admin --from-literal=password=secret

Переглянути ConfigMap:

kubectl get configmap  -o yaml

Переглянути Secret (кодується в base64):

kubectl get secret  -o yaml

Логи та події

Моніторинг логів та подій критично важливий для налагодження.

Переглянути логи pod:

kubectl logs 

Стримити логи pod:

kubectl logs -f
```

Переглянути події в поточному просторі імен:

kubectl get events

Керування вузлами

Вузли — це робочі машини в кластері Kubernetes.

Переглянути всі вузли:

kubectl get nodes

Переглянути детальну інформацію про вузол:

kubectl describe node 

Позначити вузол як не планований (cordon):

kubectl cordon 

Позначити вузол як планований (uncordon):

kubectl uncordon 

Вивести вузол з експлуатації (безпечно видалити всі pods):

kubectl drain  --ignore-daemonsets --delete-emptydir-data

Порада

Для будь-якої операції, специфічної для простору імен, завжди додавайте прапор -n.
Наприклад:

kubectl get pods -n dev

Готові почати?

Ці команди — ваш перший крок у потужний світ Kubernetes. Почніть експериментувати з ними вже сьогодні, і ви наблизитесь до того, щоб стати експертом Kubernetes!

Для більше команд, будь ласка, зверніться до: https://kubernetes.io/docs/reference/kubectl/

Перекладено з: Essential kubectl Commands for Beginners

Leave a Reply

Your email address will not be published. Required fields are marked *