apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  namespace: my-app-ns

spec:
  replicas: 10
  # 컨테이너의 라벨을 선택
  selector:
    matchLabels:
      run: app
  strategy:
    # RollingUpdate | Recreate (잘 안쓰임)
    type: RollingUpdate

    rollingUpdate:
      # RollingUpdate 중 최대 중단 Pod 허용개수 (또는 비율)
      maxUnavailable: 25%
      # RollingUpdate 중 최대 초과 Pod 허용개수 (또는 비율)
      maxSurge: 25%
  template:
    metadata:
      labels:
        run: app
    # Pod의 spec과 같음
    spec:
      containers:
        - name: subway
          image: nokchax/infra-subway:latest
          resources:
            requests:
              # 0.25core
              cpu: "400m"

              # 500 MiB
              memory: "1000Mi"
            limits:
              cpu: "400m"
              memory: "1000Mi"
