Kubernetes Deployment — это объект ресурса, который позволяет делать декларативные обновления приложений. Он дает тебе возможность определить и управлять желаемым состоянием твоего приложения, а Kubernetes автоматически работает, чтобы это состояние сохранять.
Deployment управляет:
Deployment создаёт и управляет ReplicaSet, который, в свою очередь, создаёт и управляет самими подами. Такой многоуровневый подход обеспечивает надёжное управление приложением с минимальным ручным вмешательством.
Посмотри на эту конфигурацию Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
Этот Deployment создаёт три пода nginx с версией 1.14.2, каждый слушает порт 80. Если какой-то под упадёт, Kubernetes автоматически его заменит, чтобы поддерживать желаемое состояние.
Deployments предоставляют декларативное управление: ты описываешь то, что хочешь получить, а не то, как этого достичь. Это делает приложения более устойчивыми и масштабируемыми, а обновления — простыми и с минимальным даунтаймом.
Kubernetes Deployment напрямую создает и управляет Pod'ами без промежуточного слоя ресурсов.
Новый — ещё не проверен сообществом
Вы