멀티 영역 클러스터 만들기

이 주제에서는 멀티 영역 클러스터를 만들어 영역 장애 발생 시 클러스터 워크로드의 가용성을 높이는 방법을 보여줍니다. 멀티 영역 클러스터의 노드는 여러 영역에서 실행되지만 제어 영역의 복제본은 하나뿐입니다. 제어 영역의 가용성을 높이려면 대신 리전 클러스터를 만드는 것이 좋습니다. 리전 클러스터에서 제어 영역은 리전의 여러 영역에 걸쳐 복제됩니다.

만들 수 있는 클러스터의 유형에 대해 자세히 알아볼 수 있습니다.

멀티 영역 클러스터를 만든 후에는 단일 영역 또는 리전 클러스터로 변환할 수 없습니다.

시작하기 전에

시작하기 전에 다음 태스크를 수행했는지 확인합니다.

다음 방법 중 하나를 사용하여 기본 gcloud 설정을 진행합니다.

  • gcloud init를 사용하여 기본값 설정 과정을 진행합니다.
  • gcloud config를 사용하여 프로젝트 ID, 영역, 리전을 개별적으로 설정합니다.

gcloud init 사용

One of [--zone, --region] must be supplied: Please specify location 오류가 표시되면 이 섹션을 완료합니다.

  1. gcloud init를 실행하고 다음 안내를 따르세요.

    gcloud init

    원격 서버에서 SSH를 사용하는 경우 --console-only 플래그를 사용하여 다음 명령어로 브라우저를 실행하지 못하게 할 수 있습니다.

    gcloud init --console-only
  2. 안내를 따라 gcloud에서 Google Cloud 계정을 사용하도록 승인합니다.
  3. 새 구성을 만들거나 기존 구성을 선택합니다.
  4. Google Cloud 프로젝트를 선택합니다.
  5. 기본 Compute Engine 영역을 선택합니다.

gcloud config 사용

  • 기본 프로젝트 ID를 설정합니다.
    gcloud config set project project-id
  • 영역 클러스터를 사용하는 경우 기본 컴퓨팅 영역을 설정합니다.
    gcloud config set compute/zone compute-zone
  • 리전 클러스터를 사용하는 경우 기본 컴퓨팅 리전을 설정합니다.
    gcloud config set compute/region compute-region
  • gcloud를 최신 버전으로 업데이트합니다.
    gcloud components update
  • 멀티 영역 클러스터는 단일 영역 클러스터보다 리소스를 더 많이 사용합니다. 할당량이 충분한지 확인하세요.

멀티 영역 클러스터 만들기

gcloud 도구 또는 Google Cloud Console을 사용하여 멀티 영역을 만들 수 있습니다.

gcloud

gcloud 명령줄 도구로 멀티 영역 클러스터를 만들려면 다음 명령어 중 하나를 사용합니다.

명령어의 자리표시자 값을 다음으로 바꿉니다.

  • cluster-name: 새 다중 영역 클러스터의 이름입니다.
  • channel: 출시 채널 유형으로, rapid, regular 또는 stable 중 하나일 수 있습니다.
  • compute-zone: 클러스터 제어 영역의 컴퓨팅 영역입니다.
  • version: 클러스터에 지정할 버전입니다.
  • --node-locations 플래그에서 제어 영역 노드가 생성되는 compute-zone 값의 쉼표로 구분된 목록을 지정합니다.

출시 채널 사용:

gcloud container clusters create cluster-name \
    --release-channel channel \
    --zone compute-zone \
    --node-locations compute-zone,compute-zone,[...]

기본 버전 사용:

gcloud container clusters create cluster-name \
    --zone compute-zone \
    --node-locations compute-zone,compute-zone,[...]

특정 버전 사용:

gcloud container clusters create cluster-name \
    --cluster-version version \
    --zone compute-zone \
    --node-locations compute-zone,compute-zone,[...]

예시: 다음 명령어는 example-cluster라는 멀티 영역 클러스터를 만듭니다. 이때 클러스터 제어 영역은 us-central-a 영역에 있고 노드 위치 수는 3개입니다.

--num-nodes 플래그를 생략한 경우 클러스터에서 생성되는 기본 영역별 노드 수는 3개입니다. 3개의 영역이 지정되었으므로 이 명령어는us-central1-a, us-central1-b, us-central1-c에 각각 3개씩 9노드 클러스터를 만듭니다.

gcloud container clusters create example-cluster \
    --zone us-central1-a \
    --node-locations us-central1-a,us-central1-b,us-central1-c

Console

  1. Cloud Console에서 Google Kubernetes Engine 메뉴로 이동합니다.

    Google Kubernetes Engine 메뉴로 이동

  2. 클러스터 만들기 버튼을 클릭합니다.

  3. 클러스터 기본사항 섹션에서 다음을 완료합니다.

    1. 클러스터의 이름을 입력합니다.
    2. 위치 유형에서 영역을 선택한 후 클러스터에 사용할 영역을 선택합니다.
    3. 노드 위치 지정 체크박스를 선택한 후 클러스터를 실행할 추가 영역을 선택합니다.
    4. 마스터 버전을 선택합니다. 출시 채널을 선택하는 것이 좋습니다. 정적 버전을 지정해야 하는 경우 노드 풀에 자동 업그레이드가 사용 설정되어 있는지 확인합니다.

  4. 탐색창의 노드 풀에서 default-pool을 클릭합니다.

  5. 노드 풀 세부정보 섹션에서 다음을 완료합니다.

    1. 기본 노드 풀이름을 입력합니다.
    2. 노드의 노드 버전을 선택합니다.
    3. 클러스터에서 만들 노드 수를 입력합니다. 노드 및 해당 리소스(예: 방화벽 경로)에 사용 가능한 리소스 할당량이 있어야 합니다.
  6. 탐색창의 노드 풀에서 노드를 클릭합니다.

  7. 이미지 유형 드롭다운 목록에서 원하는 노드 이미지를 선택합니다.

  8. 인스턴스에 사용할 기본 머신 구성을 선택합니다. 요금은 머신 유형마다 다르게 청구됩니다. 기본 머신 유형은 e2-medium입니다. 머신 유형 가격 정보는 머신 유형 가격표를 참조하세요.

  9. 부팅 디스크 유형 드롭다운 목록에서 원하는 디스크 유형을 선택합니다.

  10. 부팅 디스크 크기를 입력합니다.

  11. 만들기를 클릭합니다.

클러스터를 만든 후에는 kubectl을 구성해야 명령줄에서 클러스터와 상호작용할 수 있습니다.

다음 단계