Google Kubernetes Engine 에서 제공하는 소프트웨어 유지보수란?
앞선 영상에서 DIY(Do It Yourself) Kubernetes Service와 GKE(Google Kubernetes Engine)의 대한 차이점에 대하여 설명 드렸습니다.
완전 관리형 Kubnertes Service인 GKE를 통하여 클러스터 및 노드를 최신 상태로 유지함으로써 보안, 성능, 호환성 신뢰성이 향상이 권장 드렸으며,
GKE 클러스터 및 노드를 최신 상태로 유지함으로써 보안, 성능, 호환성 신뢰성이 향상 되는 것을 소개드렸습니다.
그렇다면 이미 운영중인 워크로드에 따라 업그레이드 계획을 세워야하는지 확인해보겠습니다.
환경 설정
Google에서 소프트웨어 업데이트 시 환경 별 테스트를 진행하여 다운타임을 최소화하는 방법을 권장드립니다.
(최소한 2가지 환경(Prod, Test)까지 운영하는 것을 권장드립니다.)
채널 | 새로운 Kubernetes 출시 가용성 | 속성 |
---|---|---|
신속 | 업스트림 오픈소스 GA 후 몇 주 이내* | – 최신 기능을 테스트하려는 개발자나 테스트 환경에 적합 – 최신 기능을 제공하지만 안정성은 보장되지 않아 프로덕션 환경에 적합하지 않음 |
일반(기본) | 신속 채널에 출시 후 2~3개월* | – 신속 채널에서 오랜 기간 동안 검증된 버전을 사용 – 기능과 안정성의 균형이 유지되어 대부분 사용자에게 권장됨 |
정식 | 일반 채널에 출시 후 2~3개월* | – 최신 기능 보다 안정성을 우선시하는 사용자를 위한 채널입니다. – 신속 채널 및 일반 채널에서 검증된 후 가장 마지막으로 출시되므로 안정적입니다. |
환경 | 권장 출시 채널 | 환경 설명 |
---|---|---|
프로덕션 | 공개 버전 또는 일반 | 미션 크리티컬 비즈니스 애플리케이션의 최종 사용자에게 실시간 트래픽을 제공하는 데 사용됩니다. |
스테이징 | 프로덕션과 동일 | 변경사항이 프로덕션에 배포되기 전에 이전 환경에서 배포 된 모든 새 변경사항이 의도한 대로 작동하는지 확인하는 데 사용됩니다. |
테스트 | 프로덕션과 동일 | 프로덕션에서 사용할 GKE 출시 버전에 대한 성능 벤치마크, 테스트, QA 워크로드에 사용됩니다. 이 환경에서는 프로덕션에서 업그레이드를 진행하기 전에 제어 영역과 노드의 업그레이드를 테스트할 수 있습니다. |
개발 | 프로덕션과 동일 | 프로덕션에서 실행되는 동일한 버전을 사용하는 개발 단계에 사용됩니다. 이 환경에서는 프로덕션에 배포할 수정 사항과 단계적 변경을 적용합니다. |
Canary | 신속 | 최신 Kubernetes 출시 버전, GKE 기능, API를 테스트하기 위한 보조 개발 환경으로 사용되어 이 버전이 승격되고 기본 버전이 되었을 때 TTM(Time To Market)을 단축하는 데 도움이 되도록 합니다. |
정리하자면 환경 별 사용되는 권장되는 채널이 다르니 워크로드에 환경에 따라 선택하시면 되며, 프로덕션 환경에 영향을 적게 하려면 여러 환경을 두어 미리 대비하시는 것을 권장드립니다.
앞서 설명 드린 출시 채널이 워크로드 환경별 사용이 되어야하는 지 설명드리겠습니다.
![](https://gcp.cloocus.com/wp-content/uploads/2023/10/release-channel-adoption-cycle.jpg)
- Ealry Adopters
– (신속 채널) - Ealry Majority
– (일반 채널) - Majority
– (일반 채널)
너무 빠르지도 지원이 중단되지 않은 Regular Channel과 Stable channel이 비중이 많은 것을 볼 수 있으며 그만큼 권장되는 채널입니다.
Mode | 클러스터 구성 |
---|---|
Standard | 영역(단일, 다중), 리전 |
Autopilot | 리전 |
🔹영역 클러스터
- 단일 영역 클러스터
– 이 제어 영역에서는 동일한 영역에서 실행되는 노드의 워크로드를 관리합니다. - 다중 영역 클러스터
– 클러스터를 업그레이드하는 동안이나 제어 영역이 실행되는 영역이 중단되는
경우에도 워크로드는 계속 실행됩니다
– 그러나 클러스터, 노드, 워크로드는 제어 영역을 사용할 수 있기 전까지는 구성 할 수 없습니다.
🔹리전 클러스터
- 업그레이드하는 동안 클러스터는 고가용성을 유지하며 각 제어 영역의 복제본은 업그레이드하는 동안에만 사용할 수 있습니다.
- 리전 클러스터의 노드는 구성된 노드 위치에 따라 다중 영역 또는 단일 영역에서 실행될 수 있습니다.
기본적으로 GKE는 제어 영역 리전의 3개 영역 간에 각 노드 풀을 복제합니다
비용 최적화가 중요하고 워크로드가 60분 미만의 중단을 감당할 수 있다면 노드 풀의 일시 급증 업그레이드를 선택하는 것이 좋습니다.
일시 급증 업그레이드는 다음 상황에 적합합니다.
- 업그레이드 속도를 최적화하려는 경우
- 워크로드가 중단에 대한 내결함성이 있는 경우. 최대 60분까지 단계적 종료가 허용됩니다.
- 새 노드 생성을 최소화하여 비용을 관리하려는 경우
워크로드가 업그레이드를 견디지 못할 시에는 빠르게 롤백할 수 있어야 하는 고용성 프로덕션 워크로드이거나
일시적인 비용 증가를 감당할 수 있는 경우 노드 풀의 블루/그린 업그레이드를 선택하는 것이 좋습니다.
블루/그린 업그레이드는 다음 경우에 가장 적합합니다.
- 60분 이상의 단계적 중단이 요구되기에 위험 완화가 가장 중요한 점진적 출시가 필요한 경우
- 워크로드의 중단 내결함성이 낮은 경우
- 리소스 사용량이 더 많아 일시적으로 비용이 증가해도 감당할 수 있는 경우
효율적인 유지보수 관리로 성능 및 보안까지 취할 수 있는 유지보수 관련하여 도움이 필요하시다면,Cloocus와 함께 시작해보세요😊