Статьи

Работа с kubectl в Kubernetes

Kubectl — это инструмент командной строки, который помогает нам взаимодействовать с нашим сервером API Kubernetes. В свою очередь, это помогает нам управлять нашим кластером K8s.

В этом кратком руководстве мы изучим и изучим некоторые часто используемые команды kubectl .

Работа с kubectl :

Давайте посмотрим на общий синтаксис kubectl :

Оболочка

1
kubectl [operation] [resource-type] [resource-name] [flags]

Когда мы не указываем имя ресурса, он учитывает все ресурсы указанного типа.

Итак, при использовании kubectl нужно учитывать три основных момента:

  • Операция: это то, что мы намереваемся выполнить на одном или нескольких ресурсах
  • Типы ресурсов: тип ресурса, над которым мы хотим выполнить операцию
  • Параметры вывода: если наша операция производит какой-либо вывод, мы можем указать ожидаемый формат отображения, используя флаг -o или –output

Операции:

Некоторые из основных операций, поддерживаемых kubectl, включают в себя:

  • создать: создать новый ресурс (ы)
  • apply: создает или обновляет ресурс (ы)
  • удалить: для удаления ресурса (ов)
  • get: перечисляет один или несколько ресурсов
  • объяснить: дает нам документацию ресурса (ов)
  • описать: отображает подробное состояние нашего ресурса (ов)
  • run: запускает модуль из данного образа контейнера
  • exec: помогает нам выполнить команду для контейнера в модуле
  • logs: позволяет просматривать журналы для контейнера
  • config: помогает нам обновить наш файл kubeconfig

Типы ресурсов:

K8s представляет множество ресурсов, с которыми мы можем выполнять операции. Некоторые из распространенных типов ресурсов включают в себя:

  • пространства имен (нс)
  • узлы (нет)
  • стручки
  • услуги (svc)
  • конечные точки (эп)
  • configmaps (см)
  • развертывания (развернуть)
  • секреты
  • ..

Нам не нужно помнить все имена ресурсов K8 или их псевдонимы. Мы можем легко перечислить их, используя api-ресурсы :

1
kubeclt api-resources

Параметры вывода:

Для операций kubectl, которые приводят к результату, мы можем настроить формат вывода, используя один из следующих флагов:

  • широкий: выводит любую дополнительную информацию в стаут
  • yaml: представляет объект API в формате YAML
  • json: отображает объект API в формате JSON

Примеры использования:

Теперь, когда мы понимаем основы, давайте попробуем некоторые команды kubectl :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#creates or updates the given resource specified in manifest
kubectl apply -f my-deployment.yaml
  
#lists all pods
kubectl get pods
  
#lists all services
kubectl get svc
  
#displays mypod information in yaml format
kubectl get pods mypod -o yaml
  
#prints some basic cluster information
kubectl cluster-info
  
#prints detailed information of the cluster nodes
kubectl get nodes -o wide
  
#lists all resources in the default namespace
kubectl get all
  
#lists all services in a specific namespace
kubectl get svc -ns my-namespace
  
#explains a pod resource type in detail
kubectl explain pod
  
#gives detailed information of our resource
kubectl describe nodes my-cluster-node1
  
#dumps pod logs
kubectl logs my-pod1

Справочная документация Kubectl :

Мы можем получить помощь по использованию kubectl с помощью команды help:

1
kubectl -h

Мы можем транслировать вывод, используя меньше для лучшей читаемости:

1
kubectl -h | less

Если нам нужна помощь с конкретной командой, у нас также может быть что-то вроде:

1
2
#helps us by presenting information about describe command
kubectl describe -h | less

Вывод:

В этом кратком руководстве мы узнали, как взаимодействовать с нашим кластером K8s с помощью утилиты kubectl . Мы также рассмотрели некоторые общие полезные команды.

Я рекомендую выполнить примеры команд в Play With Kubernetes, чтобы лучше их освоить .

Опубликовано на Java Code Geeks с разрешения Шубхры Шриваставы, партнера нашей программы JCG . Смотреть оригинальную статью здесь: Работа с kubectl в Kubernetes

Мнения, высказанные участниками Java Code Geeks, являются их собственными.