Deployment

Deployment это ресурс Kubernetes представляющий собой абстракцию над Pod и ReplicaSet.

Use Cases

  • Автоматическое декларативное создание ReplicaSet.
  • Обновление спецификаций Pod и пересоздание RS
  • Откат к предыдущему состоянию в случае не стабильной работы нового (хранится несколько последних версий развертывания).
  • Масштабирование количества подов.
  • Возможность поставить rollout update на паузу.

Создание 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: my-image:latest