Anthos On-Prem API 클라이언트를 사용하여 사용자 클러스터 업그레이드

이 페이지에서는 Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 Anthos On-Prem API로 관리되는 VMware용 Anthos 클러스터를 업그레이드하는 방법을 설명합니다. 사용자 클러스터를 업그레이드하기 전 업그레이드 권장사항을 검토하는 것이 좋습니다.

Anthos On-Prem API란?

Anthos On-Prem API는 표준 Google Cloud 애플리케이션을 사용하여 온프레미스 사용자 클러스터의 수명 주기를 관리할 수 있게 해주는 Google Cloud 호스팅 API입니다. Anthos On-Prem API는 Google Cloud 인프라에서 실행됩니다. Google Cloud 콘솔 및 gcloud CLI는 API의 클라이언트이며 API를 사용하여 데이터 센터에서 클러스터를 생성, 업데이트, 업그레이드, 삭제합니다. gkectl을 사용하여 클러스터를 만든 경우 표준 클라이언트를 사용할 수 있도록 Anthos On-Prem API에서 관리하도록 클러스터를 구성할 수 있습니다.

시작하기 전에

명령줄 도구 설치

gcloud CLI를 사용하여 클러스터를 업그레이드하거나 관리자 워크스테이션과 반대로 Connect 게이트웨이를 사용하여 로컬 컴퓨터에서 kubectl 명령어를 실행하려면 다음 명령줄 도구가 설치되었는지 확인합니다.

  • gcloud CLI의 최신 버전
  • Kubernetes 클러스터에 명령어를 실행하기 위한 kubectl. kubectl을 설치해야 하는 경우 이 안내를 따르세요.

IAM 요구사항

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

콘솔을 사용하여 클러스터를 업그레이드하려면 최소한 다음이 필요합니다.

  • roles/container.viewer. 이 역할을 통해 사용자는 콘솔에서 GKE 클러스터 페이지와 기타 컨테이너 리소스를 볼 수 있습니다. 이 역할에 포함된 권한에 대한 자세한 내용이나 읽기/쓰기 권한이 있는 역할을 부여하려면 IAM 문서의 Kubernetes Engine 역할을 참조하세요.

  • roles/gkehub.viewer. 이 역할은 사용자가 콘솔에서 클러스터를 볼 수 있게 해줍니다. 이 역할에 포함된 권한에 대한 자세한 내용이나 읽기/쓰기 권한이 있는 역할을 부여하려면 IAM 문서의 GKE 허브 역할을 참조하세요.

업그레이드 옵션

1.13 관리자 클러스터가 있으면 Anthos On-Prem API로 관리되는 사용자 클러스터에 대해 다음 업그레이드 옵션이 제공됩니다.

  • 관리자 클러스터가 버전 1.13.1 이상이면 다음 섹션에 설명된 업그레이드 기능을 사용할 수 있습니다. 이 업그레이드 절차는 미리보기 상태이며 프로덕션 환경에서 클러스터를 업그레이드하는 데에는 이 기능을 사용하지 않는 것이 좋습니다.

  • 관리자 클러스터가 버전 1.13.0 이하이거나 프로덕션 환경의 경우에는 VMware용 Anthos 클러스터 업그레이드를 참조하세요.

업그레이드 플랫폼 컨트롤러 배포

콘솔 또는 gcloud CLI를 사용하여 사용자 클러스터를 업그레이드하기 전 관리자 클러스터에 업그레이드 플랫폼 컨트롤러를 배포해야 합니다.

  1. 컨트롤러가 배포되었는지 확실하지 않으면 관리자 워크스테이션에서 다음 명령어를 실행합니다.

    kubectl  --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        get onpremadmincluster -n kube-system -o yaml
    

    다음을 바꿉니다.

    • ADMIN_CLUSTER_KUBECONFIG: 관리자 클러스터의 kubeconfig 파일 경로입니다.

    컨트롤러가 배포된 경우 YAML 출력의 annotations 섹션에 다음 줄이 표시됩니다.

    features.onprem.cluster.gke.io/preview-user-cluster-central-upgrade: enabled
    

    이 주석이 표시되지 않으면 다음 단계에서 명령어를 실행합니다.

  2. 관리자 워크스테이션에서 다음 명령어를 실행하여 업그레이드 플랫폼 컨트롤러를 배포합니다.

    gkectl update admin --enable-preview-user-cluster-central-upgrade \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG_FILE \
        --yes
    

    다음을 바꿉니다.

    • ADMIN_CLUSTER_KUBECONFIG: 관리자 클러스터의 kubeconfig 파일 경로입니다.

    • ADMIN_CLUSTER_CONFIG_FILE: 관리자 클러스터의 구성 파일 경로입니다.

    • 선택사항: --yes 플래그는 프롬프트에 대해 자동으로 yes로 답변하여 배포를 계속합니다.

    이 명령어는 Anthos On-Prem API 클라이언트를 사용하여 사용자 클러스터를 업그레이드할 수 있게 해주는 컨트롤러를 관리자 클러스터에 배포합니다. 사용자 클러스터를 업그레이드하는 동안 아직 등록되지 않았으면 관리자 클러스터가 Anthos On-Prem API에 등록되므로, 관리자 워크스테이션에서 사용자 클러스터를 업그레이드하기 위해 어떤 명령어도 실행할 필요가 없습니다. 사용자 클러스터 업그레이드를 시작하면 Anthos On-Prem API가 업그레이드 준비를 위해 컨트롤러를 트리거합니다. 이 컨트롤러는 번들을 다운로드 및 설치하고 사용자 클러스터를 관리하는 새 버전의 구성요소를 배포합니다.

    이 명령어는 완료하는 데 약 25분 정도 걸립니다(네트워크에 따라 더 길어질 수 있음).

사용자 클러스터 업그레이드

업그레이드 플랫폼 컨트롤러가 관리자 클러스터에 배포된 다음에는 관리자 클러스터에서 관리되는 사용자 클러스터를 하나 이상 업그레이드할 수 있습니다.

사용자 클러스터를 업그레이드하려면 다음 안내를 따르세요.

콘솔

  1. Console에서 Anthos 클러스터 페이지로 이동합니다.

    Anthos 클러스터 페이지로 이동

  2. 클라우드 프로젝트를 선택한 후 업그레이드하려는 클러스터를 선택합니다.

  3. 세부정보 패널에서 추가 세부정보를 클릭합니다.

  4. 클러스터 기본사항 섹션에서 업그레이드를 클릭합니다.

  5. 간소화된 업그레이드 선택 대화상자에서 두 체크박스 모두 텍스트를 읽고, 이를 선택한 후 계속을 클릭합니다.

  6. 대상 버전 선택 목록에서 업그레이드하려는 버전을 선택합니다. 선별된 목록에는 최신 패치 릴리스만 포함됩니다.

  7. 업그레이드를 클릭합니다.

클러스터가 업그레이드되기 전 클러스터 상태 및 노드 상태를 검증하기 위해 프리플라이트 검사가 실행됩니다. 프리플라이트 검사가 통과하면 사용자 클러스터가 업그레이드됩니다. 업그레이드를 완료하는 데 약 30분 정도 걸립니다.

업그레이드 상태를 보려면 클러스터 세부정보 탭에서 세부정보 표시를 클릭합니다.

gcloud CLI

  1. 다음 명령어를 실행하여 Google 계정으로 로그인합니다.

    gcloud auth login
    
  2. Google Cloud CLI 구성요소를 업데이트합니다.

    gcloud components update
    
  3. 업그레이드할 수 있는 버전 목록을 가져옵니다.

    gcloud alpha container vmware clusters query-version-config \
      --cluster=USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION
    

    다음을 바꿉니다.

    • USER_CLUSTER_NAME: 사용자 클러스터의 이름입니다.

    • FLEET_HOST_PROJECT_ID: 사용자 클러스터가 멤버인 Fleet 프로젝트의 ID입니다. 이 프로젝트는 클러스터를 만들 때 지정된 프로젝트입니다. gkectl을 사용하여 클러스터를 만들었으면 클러스터 구성 파일에서 gkeConnect.projectID 필드의 프로젝트 ID입니다.

    • REGION: Anthos On-Prem API가 메타데이터를 실행하고 저장하는 Google Cloud 리전입니다. Anthos On-Prem API 클라이언트를 사용하여 클러스터를 만든 경우 이 리전은 클러스터를 만들 때 지정한 리전입니다. gkectl을 사용하여 클러스터를 만든 경우에는 Anthos On-Prem API를 사용하여 관리할 클러스터를 등록할 때 지정한 리전입니다.

  4. 다음 명령어를 사용하여 클러스터를 업그레이드합니다.

    gcloud alpha container vmware clusters upgrade USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    다음을 바꿉니다.

    • USER_CLUSTER_NAME: 업그레이드할 사용자 클러스터 이름입니다.

    • FLEET_HOST_PROJECT_ID: 사용자 클러스터가 멤버인 Fleet 프로젝트의 ID입니다. 이 프로젝트는 클러스터를 만들 때 지정된 프로젝트입니다. gkectl을 사용하여 클러스터를 만들었으면 클러스터 구성 파일에서 gkeConnect.projectID 필드의 프로젝트 ID입니다.

    • REGION: Anthos On-Prem API가 메타데이터를 실행하고 저장하는 Google Cloud 리전입니다. Anthos On-Prem API 클라이언트를 사용하여 클러스터를 만든 경우 이 리전은 클러스터를 만들 때 선택한 리전입니다. gkectl을 사용하여 클러스터를 만든 경우에는 Anthos On-Prem API를 사용하여 관리할 클러스터를 등록할 때 지정한 리전입니다.

    • VERSION: 업그레이드할 VMware용 Anthos 클러스터 버전입니다. 이전 명령어의 출력에서 버전을 지정합니다. 최신 패치 버전으로 업그레이드하는 것이 좋습니다.

    업그레이드를 완료하는 데 약 30분 정도 걸립니다.

  5. 클러스터를 업그레이드하는 동안 다른 터미널 창에서 다음 명령어를 실행하여 클러스터 상태를 확인합니다.

    gcloud alpha container vmware clusters describe USER_CLUSTER_NAME \
      --project=FLEET_HOST_PROJECT_ID \
      --location=REGION
    

필드 및 플래그에 대한 자세한 내용은 gcloud alpha container vmware clusters upgrade를 참조하세요.

업그레이드 플랫폼 컨트롤러 사용 중지

  1. 관리자 워크스테이션에서 다음 명령어를 실행합니다.

    gkectl update admin --disable-preview-user-cluster-central-upgrade \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG_FILE \
        --yes
    
  2. 컨트롤러가 사용 중지되었는지 확인하려면 다음 명령어를 실행합니다.

    kubectl  --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        get onpremadmincluster -n kube-system -o yaml
    

    컨트롤러가 사용 중지되었으면 YAML 출력의 annotations 섹션에 다음 줄이 표시되지 않습니다.

    features.onprem.cluster.gke.io/preview-user-cluster-central-upgrade: enabled