25장. Kubernetes Deployment의 rollout을 읽는다
Deployment는 ReplicaSet을 통해 Pod template을 점진적으로 바꾼다. Kubernetes Deployment는 rolling update와 revision rollback을 제공한다. maxUnavailable, maxSurge, readiness, termination grace가 함께 가용성을 결정한다.
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 0
maxSurge: 1
kubectl apply 성공은 rollout 성공이 아니다.
kubectl apply -f deployment.yaml
kubectl rollout status deployment/parceltrack --timeout=10m
kubectl get pods -l app=parceltrack
timeout 뒤 자동 rollback 여부를 pipeline이 명시해야 한다. rollout history는 Pod template만 되돌리므로 DB와 외부 상태는 별도다.