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: flashick/simple-web-server:0.3
        readinessProbe:
          httpGet:
            path: /index.html
            port: 8000
        livenessProbe:
          tcpSocket: { port: 8000 }
        volumeMounts:
        - name: app
          mountPath: /app
      initContainers:
      - name: init
        image: busybox:1.31.0
        command: ['sh', '-c', 'wget -O- https://raw.githubusercontent.com/express42/otus-platform-snippets/master/Module-02/Introduction-to-Kubernetes/wget.sh | sh']
        volumeMounts:
        - name: app
          mountPath: /app
      volumes:
      - name: app
        emptyDir: {}