Anthos On-Prem API에서 관리할 클러스터 구성

Anthos On-Prem API는 표준 도구(Google Cloud 콘솔, Google Cloud CLI 또는 Terraform)를 사용하여 온프레미스 클러스터의 수명 주기를 관리할 수 있게 해주는 Google Cloud 호스팅 API입니다. 이러한 도구 중 하나를 사용하여 클러스터를 만드는 경우 API는 클러스터를 만들 때 지정한 Google Cloud 리전에 클러스터 상태에 대한 메타데이터를 저장합니다. 이 메타데이터를 사용하면 표준 도구를 사용하여 클러스터의 수명 주기를 관리할 수 있습니다. 이러한 도구를 사용하여 클러스터 세부정보를 보거나 bmctl로 생성된 클러스터의 수명 주기를 관리하려면 Anthos On-Prem API에 클러스터를 등록해야 합니다.

용어

클러스터를 등록하면 콘솔, gcloud CLI 또는 Terraform을 사용하여 클러스터 수명 주기를 관리할 수 있습니다.

클러스터 등록은 클러스터를 Fleet에 등록하는 별도의 프로세스입니다. Fleet은 함께 관리할 수 있는 Kubernetes 클러스터의 논리적 그룹입니다. 모든 베어메탈용 GKE는 클러스터 생성 시 Fleet에 등록됩니다. bmctl을 사용하여 클러스터를 만들면 클러스터가 클러스터 구성 파일의 gkeConnect.projectID 필드에 지정한 Google Cloud 프로젝트에 등록됩니다. 이 프로젝트를 Fleet 호스트 프로젝트라고 합니다. 사용 사례, 권장사항, 예시 등 Fleet에 대한 자세한 내용은 Fleet 관리 문서를 참조하세요.

등록된 클러스터 보기

모든 Fleet 클러스터는 콘솔의 GKE Enterprise 클러스터GKE 클러스터 페이지에 표시됩니다. 두 가지 모두 전체 fleet에 대한 개요를 제공하며, 베어메탈용 GKE의 경우 Anthos On-Prem API에서 관리되는 클러스터를 확인할 수 있습니다.

Fleet 클러스터를 보려면 다음을 수행하세요.

  1. 콘솔에서 GKE Enterprise 클러스터 페이지로 이동합니다.
    GKE Enterprise 클러스터 페이지로 이동
  2. Google Cloud 프로젝트를 선택합니다.
    • Anthos(베어메탈)유형 열에 표시되면 클러스터가 Anthos On-Prem API에서 관리됩니다.
    • 유형 열에 외부가 표시되는 경우 클러스터는 Anthos On-Prem API에서 관리되지 않습니다.
GKE Enterprise 클러스터 목록

요구사항

  • 사용자 및 관리자 클러스터만 Anthos On-Prem API에 등록할 수 있습니다. 하이브리드 및 독립형 클러스터 등록은 지원되지 않습니다.
  • 버전 1.13 이상이 필요합니다.
  • 조직에서 Google API 및 기타 주소의 트래픽이 프록시 서버를 통과하도록 허용하는 허용 목록이 설정된 경우 허용 목록에 다음을 추가합니다.

    • gkeonprem.googleapis.com
    • gkeonprem.mtls.googleapis.com

    이는 Anthos On-Prem API에 대한 서비스 이름입니다.

  • 프로젝트 소유자가 아닌 경우 프로젝트에 대한 Identity and Access Management(IAM) 역할 roles/gkeonprem.admin을 부여받아야 합니다. 이 역할에 포함된 권한에 대한 자세한 내용은 IAM 문서의 GKE On-Prem 역할을 참조하세요.

클러스터 등록

Anthos On-Prem API에서 관리할 클러스터를 등록하려면 다음 안내를 따르세요.

  1. 최신 버전의 gcloud CLI가 있는지 확인합니다. 필요한 경우 gcloud CLI 구성요소를 업데이트합니다.

    gcloud components update
    
  2. Fleet 호스트 프로젝트에서 Anthos On-Prem API를 사용 설정합니다.

    gcloud services enable \
        --project FLEET_HOST_PROJECT_ID \
        gkeonprem.googleapis.com
    

    FLEET_HOST_PROJECT_IDFleet 호스트 프로젝트의 프로젝트 ID로 바꿉니다. 이 프로젝트 ID는 클러스터 구성 파일gkeconnect 섹션에서 구성한 프로젝트 ID입니다.

  3. Anthos On-Prem API를 사용하여 클러스터를 등록합니다.

    사용자 클러스터

    필요에 따라 화면을 스크롤해서 --admin-cluster-membership 플래그의 ADMIN_CLUSTER_NAME 자리표시자를 채워야 합니다.

    gcloud container bare-metal clusters enroll USER_CLUSTER_NAME  \
      --project=FLEET_HOST_PROJECT_ID \
      --admin-cluster-membership=projects/FLEET_HOST_PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \
      --location=LOCATION
    

    다음을 바꿉니다.

    • USER_CLUSTER_NAME: 등록하려는 사용자 클러스터의 이름입니다.

    • FLEET_HOST_PROJECT_ID: Fleet 호스트 프로젝트의 프로젝트 ID입니다.

    • ADMIN_CLUSTER_NAME: 사용자 클러스터를 관리하는 관리자 클러스터입니다. 관리자 클러스터 이름은 Google Cloud에서 클러스터를 고유하게 식별하는 완전히 지정된 클러스터 이름의 마지막 세그먼트입니다.

    • LOCATION: Anthos On-Prem API가 실행되는 Google Cloud 리전입니다. us-west1 또는 다른 지원되는 리전을 지정합니다. 클러스터를 등록한 후에는 리전을 변경할 수 없습니다. Anthos On-Prem API가 실행되는 리전을 설정하는 것 외에도 다음 항목이 저장되는 리전입니다.

      • Anthos On-Prem API가 클러스터 수명 주기를 관리하는 데 필요한 사용자 클러스터 메타데이터
      • 시스템 구성요소의 Cloud Logging 및 Cloud Monitoring 데이터
      • Cloud 감사 로그에서 만든 관리자 감사 로그

    관리자 클러스터

    필요에 따라 화면을 스크롤해서 --admin-cluster-membership 플래그의 ADMIN_CLUSTER_NAME 자리표시자를 채워야 합니다.

    gcloud container bare-metal admin-clusters enroll ADMIN_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --admin-cluster-membership=projects/FLEET_HOST_PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \
      --location=LOCATION
    

    다음을 바꿉니다.

    • ADMIN_CLUSTER_NAME: 등록하려는 관리자 클러스터의 이름입니다.

    • FLEET_HOST_PROJECT_ID: Fleet 호스트 프로젝트의 프로젝트 ID입니다.

      ADMIN_CLUSTER_NAMEFLEET_HOST_PROJECT_ID--admin-cluster-membership 플래그에 대해 완전히 지정된 클러스터 이름을 형성하는 데 사용됩니다.

    • LOCATION: Anthos On-Prem API가 실행되는 Google Cloud 리전입니다. us-west1 또는 다른 지원되는 리전을 지정합니다. 클러스터를 등록한 후에는 리전을 변경할 수 없습니다. Anthos On-Prem API가 실행되는 리전을 설정하는 것 외에도 다음 항목이 저장되는 리전입니다.

      • Anthos On-Prem API가 클러스터 수명 주기를 관리하는 데 필요한 클러스터 메타데이터
      • 시스템 구성요소의 Cloud Logging 및 Cloud Monitoring 데이터
      • Cloud 감사 로그에서 만든 관리자 감사 로그
  4. 클러스터가 등록되면 다음 명령어를 사용하여 클러스터에 대한 정보를 가져올 수 있습니다.

    사용자 클러스터

    • 사용자 클러스터를 설명하려면 다음 안내를 따르세요.
    gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
       --project=FLEET_HOST_PROJECT_ID \
       --location=LOCATION
    
    • 사용자 클러스터를 나열하려면 다음 안내를 따르세요.
    gcloud container bare-metal clusters list \
       --project=FLEET_HOST_PROJECT_ID \
       --location=-
    

    --location=-을 설정하면 모든 리전의 모든 클러스터가 나열됩니다. 목록의 범위를 좁혀야 하는 경우 클러스터를 등록할 때 지정한 리전으로 --location을 설정합니다.

    관리자 클러스터

    • 관리자 클러스터를 설명하려면 다음 안내를 따르세요.
    gcloud container bare-metal admin-clusters describe ADMIN_CLUSTER_NAME \
       --project=FLEET_HOST_PROJECT_ID \
       --location=LOCATION
    
    • 관리자 클러스터를 나열하려면 다음 안내를 따르세요.
    gcloud container bare-metal admin-clusters list \
       --project=FLEET_HOST_PROJECT_ID \
       --location=-
    

    --location=-을 설정하면 모든 리전의 모든 클러스터가 나열됩니다. 목록의 범위를 좁혀야 하는 경우 클러스터를 등록할 때 지정한 리전으로 --location을 설정합니다.

클러스터에 연결

클러스터를 Anthos On-Prem API에 등록한 후에는 Google Cloud 콘솔에서 클러스터를 관리할 수 있도록 인증 방법을 선택하고 구성해야 합니다. 선택한 인증 메서드는 명령줄에서 클러스터에 대한 액세스도 제어합니다. 자세한 내용은 다음을 참조하세요.