기업 환경에서 원하는 인프라, 플랫폼의 기본 요건 중 하나로 늘 빠지지 않는 것, 네 고가용성 보장입니다. 중요 업무나 서비스 운영 환경에 장애가 생겨 멈추면 안 되죠. 그래서 이중 삼중 안전장치를 마련해 놓고 고가용성 보장을 합니다. 도커 기반의 서버리스 컴퓨팅 환경도 같은 수준의 고가용성 보장이 필요하다는 현장의 목소리가 높았죠. 그래서 구글이 기업들이 그토록 원하던 고가용성 보장을 위해 구글 쿠버네티스 엔진 서비스의 기능 중 하나로 리저널 클러스터(Regional Clusters)를 내놓았습니다.
이 기능 개념은 간단합니다. 여러 리전에 걸쳐 구글 쿠버네티스 엔진 클러스터를 구축해 놓고 동기화 기반의 복제를 해서 고가용성을 보장하는 것입니다. 로드 밸런서를 이용해 부하 분산을 하는 구성까지 지원합니다. 컨트롤 플레인과 노드를 여러 리전에 걸쳐 분산하고, 필요에 맞게 고가용성 및 부하 분산 설정을 할 수 있습니다. 이렇게 하면 컨트롤 플레인의 가동 시간이 99.95%까지 올라가고, 서비스 중단 없는 고가용성 구성으로 무중단 업그레이드까지 가능합니다.
리저널 클러스터 기능을 베타 버전 공개 때부터 반응이 뜨거웠는데요, 이번에 공식 발표되기도 전에 프로덕션 환경에 반영한 성격 급한(?) 관리자도 있다고 합니다. 참고로 이 기능은 무료입니다. 리저널 클러스터는 구글 클라우드 콘솔에서 다음 명령으로 생성할 수 있습니다.
$ gcloud container clusters create my-regional-cluster --region=us-east1 --num-nodes=2
위와 같이 생성하면 다음 구성도 같이 배포됩니다.
리저널 클러스터를 이용하면 단일 지점 장애 걱정이 없어집니다. 마스터 노드와 애플리케이션 노드가 여러 지역에 걸쳐 고가용성 구성으로 배포되어 있어 모든 노드가 다 다운되지 않는 한 장애로 인한 서비스 중단은 없습니다. 또한, 앞서 잠시 언급했지만 마스터 업데이트를 위해 다운타임을 따로 어렵게 잡지 않아도 됩니다. 구성에 따라 제로 다운 타임도 가능하겠지만, 일단 다운타임 최소화 정도로 이해하면 될 것 같습니다.
리저널 클러스터에 대한 더 자세한 내용은 관련 문서를 참조 바랍니다.
실제 구성과 설정에 대한 내용은 메가존으로 문의 바랍니다.