apiVersion: apps/v1
kind: Deployment
metadata:
  name: web       # Название нашего объекта Deployment
spec:
  replicas: 3     # Начнем с одного пода
  selector:       # Укажем, какие поды относятся к нашему Deployment:
    matchLabels:  # - это поды с меткой
      app: web    # app и ее значением web
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 0
      maxSurge: 100%
  template:       # Теперь зададим шаблон конфигурации пода
    metadata:
      name: web                     # Название Pod
      labels:                       # Метки в формате key: value
        app: web
    spec:                           # Описание Pod
      containers:                   # Описание контейнеров внутри Pod
        - name: web                 # Название контейнера
          image: abvgdeej/web-app:latest   # Образ из которого создается контейнер
          #      ports:
          #        - containerPort: 10001
          # --- BEGIN (Task 1, readinessProbe) ---
          readinessProbe:           # Добавим проверку готовности
            httpGet:                # веб-сервера отдавать
              path: /index.html     # контент
              port: 8000
          # --- END ---
          livenessProbe:
            tcpSocket: { port: 8000 }
          volumeMounts:
            - name: app
              mountPath: /app
      initContainers:               # Контейнеры для инициализации
        - name: init-web
          image: library/busybox:1.31.0
          command: ['sh', '-c', 'wget -O- https://tinyurl.com/otus-k8s-intro | sh']
          volumeMounts:
            - name: app
              mountPath: /app
      volumes:
        - name: app
          emptyDir: {}
