#в deployment используется отличная от pod и replicaset версия api
apiVersion: apps/v1
#другой тип объекта
kind: Deployment
metadata:
  #название deployment
  name: my-deployment
#
spec:
  replicas: 6
  #здесь мы указываем, что это deployment управляет pods с лейблом my-app
  selector:
    matchLabels:
      app: my-app
  #здесь описывается стратегия обновления
  strategy:
    #один из типов обновления, второй recreate (docker-compose стайл)
    rollingUpdate:
      #задает на какое кол-во реплик мы можем увеличить наше кол-во реплик. Значения также можно указывать в %
      maxSurge: 2
      #число реплик, которые могут быть недоступны. Значения также можно указывать в %
      maxUnavailable: 2
    type: RollingUpdate
  #replicaset работает именно с шаблоном, т.к. у подов не могут быть одинаковые имена
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - image: nginx:1.13
          name: nginx
          ports:
            - containerPort: 80
