Pods
Содержание
Понимание Pod'овПример YAML файлаУправление Pod с помощью CLIПросмотр PodПросмотр логов PodВыполнение команд в PodПроброс портов к PodУдаление PodУправление Pod через веб-консольПросмотр PodПроцедураПараметры PodУдаление PodСценарии использованияПроцедураПонимание Pod'ов
Обратитесь к официальной документации Kubernetes на сайте: Pod
Pod — это наименьшая единица вычислений, которую вы можете создать и управлять в Kubernetes. Pod (как стая китов или стручок гороха) — это группа из одного или нескольких контейнеров (например, контейнеров), с общим хранилищем и сетевыми ресурсами, а также спецификацией того, как запускать контейнеры. 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 над списком, подтвердите.