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, являются их собственными. |