Что такое Deployment в Kubernetes?
Этот вопрос проверяет понимание механизма управления обновлениями и репликами Pod-ов.
Короткий ответ
Deployment – это объект Kubernetes, который управляет созданием, обновлением и масштабированием Pod-ов. Он позволяет автоматизировать развертывание приложений, обеспечивать отказоустойчивость и откатывать неудачные обновления.
Длинный ответ
Deployment управляет состоянием группы Pod-ов, гарантируя, что заданное количество реплик работает.
Основные возможности:
- Масштабирование Pod-ов (kubectl scale).
- Пошаговое обновление (RollingUpdate).
- Возможность отката (Rollback).
Пример манифеста Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: nginxЭтот Deployment создаёт 3 Pod-а с nginx и автоматически заменяет их при сбое.
Deployment – это мощный инструмент Kubernetes для управления обновлениями и масштабированием Pod-ов.