Ответ
Теоретически количество контейнеров в Pod не имеет жесткого ограничения со стороны Kubernetes.
На практике Pod обычно содержит:
- Один основной контейнер (app container), выполняющий бизнес-логику.
- От 0 до нескольких вспомогательных контейнеров (sidecar containers) для задач, тесно связанных с жизненным циклом основного приложения (логирование, синхронизация конфигов, прокси).
Пример манифеста Pod с двумя контейнерами:
apiVersion: v1
kind: Pod
metadata:
name: web-pod
spec:
containers:
- name: nginx-app # Основной контейнер
image: nginx:latest
ports:
- containerPort: 80
- name: log-sidecar # Вспомогательный sidecar-контейнер
image: busybox:latest
command: ['sh', '-c', 'tail -f /var/log/nginx/access.log']
volumeMounts:
- name: logs
mountPath: /var/log/nginx
Рекомендации:
- 1-3 контейнера на Pod — типичная и рекомендуемая практика.
- Избегайте монолитных Pod с большим количеством контейнеров (5+), так как это усложняет:
- Отладку и логирование.
- Управление ресурсами (requests/limits).
- Независимое масштабирование и обновление компонентов.
Контейнеры в одном Pod разделяют сетевой namespace (один IP), общие тома и cgroups, что делает их тесно связанными.