Что является минимальной развертываемой единицей в Kubernetes?

Ответ

Минимальной развертываемой единицей в Kubernetes является Pod (под).

Pod — это абстракция, которая представляет собой группу из одного или нескольких контейнеров, совместно использующих ресурсы хранения (volumes), сетевое пространство (общий IP-адрес) и спецификацию того, как запускать контейнеры. Поды являются атомарными единицами: они либо создаются и запускаются целиком, либо нет.

Ключевые особенности:

  • Общая сеть: Все контейнеры внутри одного пода находятся в одном сетевом пространстве и могут общаться друг с другом через localhost.
  • Общее хранилище: Контейнеры могут совместно использовать тома (volumes), определенные на уровне пода.
  • Жизненный цикл: Поды считаются эфемерными (временными). Их редко создают напрямую. Вместо этого для управления их жизненным циклом (создание, масштабирование, обновление) используют контроллеры более высокого уровня, такие как Deployment, StatefulSet или DaemonSet.

Пример манифеста Pod:

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: web
spec:
  containers:
  - name: nginx
    image: nginx:alpine
    ports:
    - containerPort: 80