Skip to main content

[Tech 029] Google Kubernetes Engine에서 제공하는 소프트웨어 유지보수란?

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)을 단축하는 데 도움이 되도록 합니다.
*출시 채널과 상관없이 클러스터는 항상 업그레이드 되므로 운영 중 제어 영역의 업그레이드를 원치 않는다면 유지보수 기간 및 유지보수 제외 작업을 통하여 정지해야합니다.

정리하자면 환경 별 사용되는 권장되는 채널이 다르니 워크로드에 환경에 따라 선택하시면 되며, 프로덕션 환경에 영향을 적게 하려면 여러 환경을 두어 미리 대비하시는 것을 권장드립니다.

✅ 출시 채널 상세

앞서 설명 드린 출시 채널이 워크로드 환경별 사용이 되어야하는 지 설명드리겠습니다.

워크로드가 지향하는 방향에 따라서 권장되는 Channel이 다른 것을 확인할 수 있습니다.
  • Ealry Adopters
    – (신속 채널)
  • Ealry Majority
    – (일반 채널)
  • Majority
    – (일반 채널)

너무 빠르지도 지원이 중단되지 않은 Regular Channel과 Stable channel이 비중이 많은 것을 볼 수 있으며 그만큼 권장되는 채널입니다.

✅ 클러스터(제어 영역) 업그레이드
Mode클러스터 구성
Standard영역(단일, 다중), 리전
Autopilot리전

🔹영역 클러스터

  • 단일 영역 클러스터
    – 이 제어 영역에서는 동일한 영역에서 실행되는 노드의 워크로드를 관리합니다.
  • 다중 영역 클러스터
    – 클러스터를 업그레이드하는 동안이나 제어 영역이 실행되는 영역이 중단되는
    경우에도 워크로드는 계속 실행됩니다
    – 그러나 클러스터, 노드, 워크로드는 제어 영역을 사용할 수 있기 전까지는 구성 할 수 없습니다.

🔹리전 클러스터

  • 업그레이드하는 동안 클러스터는 고가용성을 유지하며 각 제어 영역의 복제본은 업그레이드하는 동안에만 사용할 수 있습니다.
  • 리전 클러스터의 노드는 구성된 노드 위치에 따라 다중 영역 또는 단일 영역에서 실행될 수 있습니다.
    기본적으로 GKE는 제어 영역 리전의 3개 영역 간에 각 노드 풀을 복제합니다
✅노드 풀 업그레이드 
일시 급증 업그레이드 설정 이해

비용 최적화가 중요하고 워크로드가 60분 미만의 중단을 감당할 수 있다면 노드 풀의 일시 급증 업그레이드를 선택하는 것이 좋습니다.

일시 급증 업그레이드는 다음 상황에 적합합니다.

  • 업그레이드 속도를 최적화하려는 경우
  • 워크로드가 중단에 대한 내결함성이 있는 경우. 최대 60분까지 단계적 종료가 허용됩니다.
  • 새 노드 생성을 최소화하여 비용을 관리하려는 경우
✅블루/그린 업그레이드 

워크로드가 업그레이드를 견디지 못할 시에는 빠르게 롤백할 수 있어야 하는 고용성 프로덕션 워크로드이거나
일시적인 비용 증가를 감당할 수 있는 경우 노드 풀의 블루/그린 업그레이드를 선택하는 것이 좋습니다.

블루/그린 업그레이드는 다음 경우에 가장 적합합니다.

  • 60분 이상의 단계적 중단이 요구되기에 위험 완화가 가장 중요한 점진적 출시가 필요한 경우
  • 워크로드의 중단 내결함성이 낮은 경우
  • 리소스 사용량이 더 많아 일시적으로 비용이 증가해도 감당할 수 있는 경우
Google Cloud의 Google Kubernetes Engine을 통한 소프트웨어 유지보수를 알아보았습니다.

효율적인 유지보수 관리로 성능 및 보안까지 취할 수 있는 유지보수 관련하여 도움이 필요하시다면,Cloocus와 함께 시작해보세요😊

Secured By miniOrange