리전 클러스터


이 페이지에서는 Google Kubernetes Engine(GKE)에서 리전 클러스터가 작동하는 방식을 설명합니다. 리전 클러스터를 생성하거나 다양한 클러스터 유형에 대해 자세히 알아볼 수 있습니다.

개요

단일 영역의 단일 제어 영역을 갖는 영역 클러스터와 달리 리전 클러스터는 리전의 여러 영역 간에 이를 복제하여 클러스터의 제어 영역 및 해당 노드의 가용성을 모두 증가시켜 줍니다. 이는 멀티 영역 클러스터의 장점을 제공하고 다음과 같은 추가적인 이점도 제공합니다.

  • 리전의 한 영역에 중단이 발생하더라도 제어 영역의 두 복제본을 사용할 수 있는 한 클러스터의 제어 영역이 액세스 가능한 상태로 유지됩니다.
  • 클러스터 업그레이드와 같은 클러스터 유지보수 중에는 한 번에 사용 불가능한 제어 영역 복제본이 하나뿐이며 클러스터는 계속 작동합니다.

제어 영역은 한 리전의 3개 영역 간에 복제됩니다. 노드 풀에 대해 클러스터의 노드 풀이 실행되는 영역을 수동으로 지정하거나 제어 영역의 리전의 3개 영역 간에 각 노드 풀을 복제하는 기본 구성을 사용할 수 있습니다. 모든 영역은 클러스터의 제어 영역과 동일한 리전 내에 있어야 합니다.

영역 클러스터보다 높은 가용성을 제공하므로, 리전 클러스터를 사용하여 프로덕션 워크로드를 실행하세요.

리전 클러스터를 만든 후에는 이를 영역 클러스터로 변경할 수 없습니다.

리전 클러스터 작동 방법

리전 클러스터는 클러스터의 제어 영역을 및 노드를 단일 리전 내의 여러 영역 간에 복제합니다. 예를 들어 기본 구성을 사용하여 us-east1 리전의 리전별 클러스터는 제어 영역의 복제본과 us-east1-b, us-east1-c, us-east1-d라는 3개 us-east1 영역의 노드를 만듭니다. 인프라 중단 시에도 워크로드가 계속 실행되고 수동으로 또는 클러스터 자동 확장 처리를 사용해서 노드 균형이 조정될 수 있습니다.

리전 클러스터를 사용할 때의 이점은 다음과 같습니다.

  • 단일 영역 오류로부터의 복원력: 리전 내의 단일 영역이 아닌 리전 간에 리전 클러스터를 사용할 수 있습니다. 단일 영역을 사용할 수 없게 되어도 제어 영역과 리소스는 영향을 받지 않습니다.
  • 지속적 제어 영역 업그레이드, 제어 영역 크기 조절, 제어 영역 오류로 인한 다운타임 감소. 제어 영역의 중복 복제본이 있으면 리전 클러스터는 Kubernetes API의 고가용성을 제공하므로 업그레이드 중에도 제어 영역에 액세스할 수 있습니다.

제한사항

  • 기본적으로 리전 클러스터는 한 리전의 3개 영역에 고르게 분산된 9개 노드(영역당 3개)로 구성됩니다. 여기에는 9개의 IP 주소가 사용됩니다. 필요에 따라 영역별 노드 수를 1개까지 줄일 수 있습니다. 새로 생성된 Cloud Billing 계정에는 리전별로 IP 주소가 8개만 부여되므로 리전 클러스터 크기에 따라 사용 중인 리전 IP 주소의 할당량 상향을 요청해야 할 수 있습니다. 사용되는 IP 주소가 너무 적으면 클러스터 만들기가 실패합니다.

  • 리전 클러스터에서 GPU를 실행하려면 GPU를 사용할 수 있는 3개의 영역이 있는 리전을 선택합니다. 클러스터를 만들 때 --node-locations 플래그를 사용하여 영역을 지정할 수도 있습니다.

    선택한 리전에 GPU를 사용할 수 있는 3개의 영역이 없는 경우 다음과 같은 오류가 표시될 수 있습니다.

    ERROR: (gcloud.container.clusters.create) ResponseError: code=400, message=
        (1) accelerator type "nvidia-tesla-k80" does not exist in zone us-west1-c.
        (2) accelerator type "nvidia-tesla-k80" does not exist in zone us-west1-a.
    

    GPU를 사용할 수 있는 리전 및 영역의 전체 목록은 Compute Engine의 GPU를 참조하세요.

  • 노드 풀의 영역은 클러스터의 제어 영역과 동일한 리전에 있어야 합니다. 필요한 경우 클러스터 영역을 변경하여 모든 신규 및 기존 노드가 해당 영역에 분산되도록 할 수 있습니다.

가격 책정

리전 클러스터를 사용하려면 프로젝트의 리전 할당량이 유사한 영역 또는 멀티 영역 클러스터보다 더 많이 필요합니다. 리전 클러스터를 사용하려면 먼저 할당량과 GKE 가격 책정을 이해해야 합니다. Insufficient regional quota to satisfy request for resource 오류가 발생하면 요청이 현재 리전에서 사용 가능한 할당량을 초과한 것입니다.

또한 영역 사이의 노드 간 트래픽 비용이 청구됩니다. 예를 들어 한 영역에서 실행 중인 워크로드가 다른 영역의 워크로드와 통신해야 하는 경우 교차 영역 트래픽 비용이 발생합니다. 자세한 내용은 Compute Engine 가격 책정 페이지의 동일한 리전에 있는 영역 간 이그레스(GB당)를 참조하세요.

지역 클러스터의 영구 스토리지

영역 영구 디스크는 영역별 리소스이고 리전 영구 디스크는 멀티 영역 리소스입니다. 영구 스토리지를 추가할 때 영역을 지정하지 않으면 GKE가 무작위로 단일 영역에 디스크를 할당합니다. 영역을 제어하는 방법을 알아보려면 영구 디스크의 영역을 참조하세요.

리전 클러스터 자동 확장

클러스터 자동 확장 처리를 사용하여 리전 클러스터의 노드 풀을 자동으로 확장할 때는 다음 사항을 고려합니다.

또한 리전 클러스터의 자동 확장 한도 또는 클러스터 자동 확장 처리로 영역 간 균형이 조정되는 방법에 대해 자세히 알아볼 수 있습니다.

확장 한도 초과 프로비저닝

드물지만 영역 실패가 발생했을 때 용량을 유지하기 위해 일부 영역을 사용할 수 없을 때도 최소한의 가용성이 보장되도록 GKE에서 확장 한도를 초과 프로비저닝할 수 있습니다.

예를 들어 3개 영역 클러스터를 150%(50% 초과 용량) 초과 프로비저닝할 경우 클러스터 용량의 1/3이 손실되어도 트래픽 100%를 사용 가능한 영역으로 라우팅할 수 있습니다. 앞의 예시에서는 영역당 최대 노드 수를 4개가 아닌 6개로 지정하여 이러한 결과를 얻을 수 있습니다. 하나의 영역이 실패하면 클러스터가 남은 영역의 12개 노드로 확장됩니다.

마찬가지로, 2개 영역 클러스터를 200% 초과 프로비저닝하면 클러스터 용량의 절반이 손실되어도 트래픽 100%를 다시 라우팅할 수 있습니다.

Kubernetes 문서에서 클러스터 자동 확장 처리에 대해 자세히 알아보거나 자동 확장에 대한 FAQ를 참조하세요.

다음 단계