DevOps/쿠버네티스
쿠버네티스 Deployment를 통한 배포 및 롤백
AndersonChoi
2018. 5. 3. 15:56
쿠버네티스 롤백
$ k rollout status deployment kubia
## deployment 확인하여 error가 있는지 확인
$ k rollout undo deployment kubia
## 이전 버젼으로 deploynment 배포(롤백)
특정버젼으로 롤백하기
$ k rollout undo deployment kubia --to-revision=1
## revision 숫자로 돌아감.
배포관련 옵션 설정
spec: strategy: maxSurge: 1 ## 최대 신규 버젼 배포추가 가능건 maxUnavailable: 0 type: RollingUpdate
## rolling update에 있어서 새버젼을 먼저 배포하고 기존 배포건을 지울 것인지, 혹은 기존배포건을 지우고 새버젼을 배포할 것인지 설정이 가능하다.
## 삭제를 먼저하는 것을 권장하지 않는다. 기존 버젼을 날리고 시작해버리니깐..
배포 일시 중지 및 재생
$ k rollout pause deployment kubia
## 배포중에 멈추기 몇개가 새로운 버젼이 되어있고, 몇개가 기존 버젼으로 배포되어 있음
$ k rollout resume deployment kubia
## 멈춘 배포를 계속함.
배포하면서 헬스체크도 같이 하기
apiVersion: apps/v1beta1 kind: Deployment metadata: name: kubia spec: replicas: 3 minReadySeconds: 10 strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: rollingUpdate template: metadata: labels: app: kubia spec: containers: - name: kubia image: reg.cloud.com/kubia:v3 ## 오류가나는 놈 readinessProbe: periodSeconds: 1 httpGet: path: / port: 8080 ports: - containerPort: 8080
## 배포시에 헬스체크를 어떻게 할것인지 적용.
## 헬스체크 내용에 따라 배포를 못하게 할 수 있음.
$ k apply -f test-deploy.yml
## 신규 적용시키기
## v3가 readinessProbe에 의해서 문제가 있음을 확인하였기 때문에, 배포를 계속 진행시키지 않는다.
반응형