현재 한 서비스가 운영중인데 이 서비스를 업데이트 하여야 되어 제 배포를 하여야 할때 도움을 주는 컨트롤러
1. ReCreate
Deployment를 만들면 v1의 파드들이 만들어지는데 이 방식으로 업그레이드를 하면 파드들을 삭제시킨다. (서비스에 대한 중단 발생) v2에 대한 파드 2개를 만들어준다
Deployment를 만들면 v1의 파드들이 만들어지는데 이 방식으로 업그레이드를 하면 파드들을 삭제시킨다. (서비스에 대한 중단 발생) v2에 대한 파드 2개를 만들어준다
2. Rolling Update
업그레이드를 실행 시 v2의 파드를 우선 하나 만들어줌 (자원사용량 증가)
하나씩 지우고 하나씩 늘리고 하는 방식이며 무중단이 되지 않는 장점이 있음
3. Blue/Green
Controller을 만들어서 파드가 생성이 되면 파드에는 라벨이 있기 떄문에
서비스에 있는 샐랙터와 연결이 된다.
이렇게 운영이 되고 있는 상태에서 v2 버전에 대한 파드를 가지는 컨트롤러를 하나 더 만든다. (자원 및 비용 사용량은 2배가 된다.) 서비스에 있는 라벨만 v2로 변경을 해주면 기존 v1은 끊어지고 순간적으로 변경되어 무중단 이다. v2에 문제시 다시 v1으로 바꾸어주면 되어서 롤백이 쉽다.
4. Canary
'kubernetes' 카테고리의 다른 글
ConfigMap, Secret (0) | 2023.08.10 |
---|---|
DemonSet, Job, CronJob (0) | 2023.08.10 |
Pod-Lifecycle (0) | 2023.08.10 |
Namespace, ResourceQuota, LimitRange (0) | 2023.08.10 |
Service (0) | 2023.08.10 |