apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-canary
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web-canary
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 0
      maxSurge: 100%
  template:
    metadata:
        name: web-canary                       
        labels:                               
          app: web-canary 
    spec:                                   # Описание Pod
      containers:                           # Описание контейнеров внутри Pod
      - name: web-canary                          # Название контейнера
        image: mksvl/kube_intro_web         # Образ из которого создается контейнер
        readinessProbe:                      # Добавим проверку готовности
          httpGet:                             # веб-сервера отдавать
            path: /index.html # контент
            port: 8000
        livenessProbe:
          tcpSocket:
            port: 8000
        volumeMounts:
          - name: app
            mountPath: /app
      initContainers:                           # Описание контейнеров внутри Pod
        - name: init-web                          # Название контейнера
          image: 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: {}