Управление подами
Под (pod) — группа из одного или нескольких контейнеров приложений, включающая общие используемые хранилище (тома), IP-адрес и информацию по их запуску.
Подробную информацию о подах см. в официальной документации Kubernetes.
Каждый под представляет собой одиночный инстанс (экземпляр) запущенного приложения. Запускайте несколько подов на каждый инстанс приложения, если выполняете горизонтальное масштабирование (см. раздел Горизонтальное масштабирование).
Доступны следующие операции с подами:
Чтобы создать под:
-
Выполните вход на кластер по SSH (см. раздел Подключение к кластеру по SSH) или через Kubectl (см. раздел Подключение к кластеру через Kubectl).
-
Создайте файл
pod.yamlи откройте его в режиме редактирования:vi pod.yaml -
Наполните файл манифестом пода и сохраните изменения.
Пример манифеста для пода с веб-сервером NginxapiVersion: v1kind: Podmetadata:name: nginx-podspec:containers:- image: nginx:1.12name: nginxports:- containerPort: 80 -
Внесите изменения в конфигурацию кластера из файла
pod.yaml:kubectl apply -f pod.yamlВывод после успешного создания подаpod/nginx-pod created -
Выведите информацию о поде для дальнейшего использования:
kubectl get pod -o wideПример вывода командыNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESnginx-pod 1/1 Running 0 29s 100.127.71.0 kubernetes-cluster-7779-default-group-0 <none> <none>
Чтобы подключиться к поду:
-
Выполните вход на кластер по SSH (см. раздел Подключение к кластеру по SSH) или через Kubectl (см. раздел Подключение к кластеру через Kubectl).
-
Получите значения из столбцов
NAMESPACEиNAMEдля целевого пода, выполнив команду:kubectl get po -AПример ожидаемого результатаNAMESPACE NAME READY STATUS RESTARTS AGEdefault nginx-pod 1/1 Running 0 5m4s -
Подключитесь к поду с помощью команды:
kubectl -n <NAMESPACE> exec -it <NAME> -- /bin/bash
Чтобы проверить работоспособность пода:
-
Выполните вход на кластер по SSH (см. раздел Подключение к кластеру по SSH) или через Kubectl (см. раздел Подключение к кластеру через Kubectl).
-
Создайте под конфигурации, пример которого приведён в разделе Создание пода; если под уже создан, пропустите этот шаг.
-
Получите значения из столбца
IPдля созданного пода, выполнив команду:kubectl get pod nginx-pod -
Создайте под следующей конфигурации (см. раздел Создание пода).
apiVersion: v1kind: Podmetadata:name: centos-podspec:containers:- image: nginx:1.12name: nginxports:- containerPort: 80 -
Подключитесь к поду (см. раздел Подключение к поду).
-
Установите приложение
curl:apt updateapt install curl -
Выполните cURL-запрос по IP-адресу пода
nginx-pod(создан на шаге 2):curl 100.127.71.0Ожидаемый результат<!DOCTYPE html><html><head><title>Welcome to nginx!</title><style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}</style></head><body><h1>Welcome to nginx!</h1><p>If you see this page, the nginx web server is successfully installed andworking. Further configuration is required.</p><p>For online documentation and support please refer to<a href="http://nginx.org/">nginx.org</a>.<br/>Commercial support is available at<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p></body></html>
Чтобы удалить под:
-
Выполните вход на кластер по SSH (см. раздел Подключение к кластеру по SSH) или через Kubectl (см. раздел Подключение к кластеру через Kubectl).
-
Получите значения из столбца
NAMEдля целевого пода, выполнив команду:kubectl get po -A -
Удалите под, выполнив команду:
kubectl delete pod <POD_NAME>