GKE 클러스터 설정

이 페이지에서는 Anthos Service Mesh에 필요한 옵션을 사용하여 기존 GKE 클러스터를 설정하는 방법을 설명합니다. 다른 Google Cloud 프로젝트의 클러스터를 Anthos Service Mesh에 추가하려면 클러스터가 공유 Virtual Private Cloud(VPC)에 있어야 합니다. 자세한 내용은 공유 VPC를 사용하여 클러스터 설정을 참조하세요.

시작하기 전에

클러스터 설정을 시작하기 전에 다음을 확인합니다.

기존 클러스터 설정

  1. 다음의 환경 변수를 만듭니다.

    • 클러스터 이름을 설정합니다.

      export CLUSTER_NAME=YOUR_CLUSTER_NAME

    • CLUSTER_LOCATION을 클러스터 영역 또는 클러스터 리전으로 설정합니다.

      export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION

    • 워크로드 풀을 설정합니다.

      export WORKLOAD_POOL=${PROJECT_ID}.svc.id.goog

    • 메시 ID를 설정합니다.

      export MESH_ID="proj-${FLEET_PROJECT_NUMBER}"

  2. Google Cloud CLI의 기본 영역 또는 리전을 설정합니다. 여기서 기본값을 설정하지 않으면 이 페이지의 gcloud container clusters 명령어에 --zone 또는 --region 옵션을 지정해야 합니다.

    • 단일 영역 클러스터가 있는 경우 기본 영역을 설정합니다.

      gcloud config set compute/zone ${CLUSTER_LOCATION}
    • 리전 클러스터가 있는 경우 기본 리전을 설정합니다.

      gcloud config set compute/region ${CLUSTER_LOCATION}

    팁: 나중에 셸 환경을 더 쉽게 설정할 수 있도록 각 환경 변수의 export 문을 복사하여 새로운 셸을 시작할 때 source로 사용하는 간단한 셸 스크립트에 붙여넣습니다. 또한 스크립트에 기본값을 설정하는 gcloud 명령어를 추가할 수 있습니다. 또는 gcloud init를 사용하여 이름이 지정된 gcloud 구성을 만들고 활성화할 수 있습니다.

  3. 클러스터에 mesh_id 라벨을 설정합니다. 클러스터에 보존하려는 기존 라벨이 있으면 mesh_id 라벨을 추가할 때 이러한 라벨을 포함해야 합니다.

    1. 클러스터에 기존 라벨이 있는지 확인하려면 다음 안내를 따르세요.

      gcloud container clusters describe ${CLUSTER_NAME} \
        --project ${PROJECT_ID}

      출력에서 resourceLabels 필드를 찾습니다. 각 라벨은 resourceLabels 필드 아래에 있는 별도의 줄에 저장됩니다. 예를 들면 다음과 같습니다.

      resourceLabels:
        csm: ''
        env: dev
        release: stable

      csm 라벨이 출력에 있는 경우 보존할 필요가 없습니다. mesh_id 라벨은 csm 라벨을 바꿉니다.

      편의를 위해 환경 변수에 라벨을 추가할 수 있습니다. 다음에서 YOUR_EXISTING_LABELS를 쉼표로 구분된 클러스터의 기존 라벨 목록을 KEY=VALUE(예: env=dev,release=stable)로 바꿉니다.

      export EXISTING_LABELS="YOUR_EXISTING_LABELS"
    2. mesh_id 라벨을 설정합니다.

      • 클러스터에 보존하려는 기존 라벨이 있으면 mesh_id와 기존 라벨을 사용하여 클러스터를 업데이트합니다.

        gcloud container clusters update ${CLUSTER_NAME} \
          --project ${PROJECT_ID} \
          --update-labels=mesh_id=${MESH_ID},${EXISTING_LABELS}
      • 클러스터에 기존 라벨이 없는 경우 mesh_id 라벨로만 클러스터를 업데이트합니다.

        gcloud container clusters update ${CLUSTER_NAME} \
          --project=${PROJECT_ID} \
          --update-labels=mesh_id=${MESH_ID}
  4. 워크로드 아이덴티티를 사용 설정합니다.

    gcloud container clusters update ${CLUSTER_NAME} \
       --project=${PROJECT_ID} \
       --workload-pool=${WORKLOAD_POOL}

    워크로드 아이덴티티를 사용 설정하는 데 최대 10~15분이 걸릴 수 있습니다.

  5. GKE에서 Cloud Monitoring 및 Cloud Logging을 사용 설정합니다.

    gcloud container clusters update ${CLUSTER_NAME} \
       --project=${PROJECT_ID} \
       --enable-stackdriver-kubernetes

다음으로 어떤 작업을 하고 싶으신가요?