Что создается в Deployment YAML

«Что создается в Deployment YAML» — вопрос из категории DevOps, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Deployment YAML в Kubernetes описывает желаемое состояние для развертывания приложения. Он включает:

  1. Метаданные (metadata) - имя, labels, аннотации
  2. Спецификацию (spec) - ключевые параметры:
    • replicas - количество подов
    • selector - как находить поды
    • template - описание подов (контейнеры, volumes и т.д.)
    • стратегия обновления (rollingUpdate или recreate)

Пример:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
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 обеспечивает развертывание, масштабирование и обновление приложения.