Pods
Содержание
Понимание Pod'овПример YAML файлаУправление Pod с помощью CLIПросмотр PodПросмотр логов PodВыполнение команд в PodПроброс портов к PodУдаление PodУправление Pod с помощью веб-консолиПросмотр PodПроцедураПараметры PodУдаление PodСценарии использованияПроцедураПонимание Pod'ов
Обратитесь к официальной документации сайта Kubernetes: Pod
Pod — это наименьшая единица вычислений, которую вы можете создать и управлять в Kubernetes. Pod (как стая китов или стручок гороха) — это группа из одного или нескольких контейнеров (например, Docker-контейнеров) с общими ресурсами хранения и сети, а также спецификацией того, как запускать эти контейнеры. Pods являются фундаментальными строительными блоками, на которых основаны все контроллеры более высокого уровня (например, Deployments, StatefulSets, DaemonSets).
Пример YAML файла
Управление Pod с помощью CLI
Хотя Pods часто управляются контроллерами более высокого уровня, прямые операции kubectl с Pod'ами полезны для устранения неполадок, инспекции и выполнения разовых задач.
Просмотр Pod
-
Чтобы вывести список всех Pod в текущем namespace:
-
Чтобы вывести список всех Pod во всех namespace:
-
Чтобы получить подробную информацию о конкретном Pod:
Просмотр логов Pod
-
Чтобы просмотреть логи контейнера внутри Pod (полезно для отладки):
-
Если в Pod несколько контейнеров, необходимо указать имя контейнера:
-
Чтобы следить за логами в режиме реального времени (поток новых логов по мере их появления):
Выполнение команд в Pod
Чтобы выполнить команду внутри конкретного контейнера в Pod (полезно для отладки, например, доступа к shell):
Проброс портов к Pod
Для проброса локального порта на порт Pod, что позволяет напрямую получить доступ к сервису, работающему внутри Pod, с вашей локальной машины (полезно для тестирования или прямого доступа без внешнего экспонирования сервиса):
После выполнения этой команды вы сможете получить доступ к веб-серверу Nginx, работающему в my-nginx-pod, перейдя в браузере по адресу localhost:8080 .
Удаление Pod
-
Чтобы удалить конкретный Pod:
-
Чтобы удалить несколько Pod по именам:
-
Чтобы удалить Pod по селектору меток (например, удалить все Pod с меткой app=nginx):
Управление Pod с помощью веб-консоли
Просмотр Pod
Интерфейс платформы предоставляет различную информацию о Pod для быстрого ознакомления.
Процедура
-
В Container Platform перейдите в Workloads > Pods в левой боковой панели.
-
Найдите Pod, который хотите просмотреть.
-
Нажмите на имя деплоя, чтобы увидеть Details, YAML, Configuration, Logs, Events, Monitoring и другие вкладки.
Параметры Pod
Ниже приведены пояснения к некоторым параметрам:
Удаление Pod
Удаление Pod может повлиять на работу вычислительных компонентов; пожалуйста, действуйте осторожно.
Сценарии использования
-
Быстро восстановить Pod в желаемое состояние: если Pod находится в состоянии, влияющем на бизнес-процессы, например
PendingилиCrashLoopBackOff, ручное удаление Pod после устранения ошибки поможет ему быстро вернуться в желаемое состояние, напримерRunning. При этом удалённые Pod будут пересозданы на текущем узле или переназначены. -
Очистка ресурсов для управления операциями: некоторые Pod достигают определённого этапа, когда они больше не изменяются, и такие группы часто накапливаются в большом количестве, усложняя управление другими Pod. К Pod, подлежащим очистке, могут относиться те, что находятся в статусе
Evictedиз-за нехватки ресурсов узла, или в статусеCompleted, вызванном повторяющимися запланированными задачами. В этом случае удалённые Pod больше не будут существовать.Примечание: для запланированных задач, если необходимо проверять логи каждого выполнения задачи, не рекомендуется удалять соответствующие Pod со статусом
Completed.
Процедура
-
Перейдите в Container Platform.
-
В левой навигационной панели нажмите Workloads > Pods.
-
(Удаление по одному) Нажмите ⋮ справа от Pod, который нужно удалить > Delete, подтвердите действие.
-
(Массовое удаление) Выберите Pod для удаления, нажмите Delete над списком и подтвердите.