Anthos 비공개 모드 업그레이드

이 페이지에서는 Anthos 비공개 모드를 업그레이드하는 방법을 설명합니다.

관리자 클러스터 및 관리 센터 업그레이드

인프라 운영자는 관리자 클러스터 및 관리 센터와 해당 구성요소를 업그레이드할 수 있습니다.

환경 준비

  1. 다음 명령어를 실행하여 새 릴리스를 다운로드하고 실행 권한을 설정합니다.

    cd ~/
    # Download the script which helps download all the latest components
    export VERSION=UPGRADE_VERSION
    
    # Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.9/installing/infrastructure#download
    export INSTALLER_DIGEST=
    export INSTALLER=get-anthos-private-mode-$VERSION.sh
    gsutil cp gs://anthos-private-mode-release/$VERSION/$INSTALLER .
    if [[ -n "$INSTALLER_DIGEST" ]]; then echo "$INSTALLER_DIGEST $INSTALLER" | sha256sum -c; fi && chmod +x $INSTALLER && ./$INSTALLER
    
    # Note: ~/anthos-baremetal-private-mode should point to the new version.
    ls -al anthos-baremetal-private-mode
    cd ~/anthos-baremetal-private-mode
    

    UPGRADE_VERSION을 업그레이드하려는 새 버전으로 바꿉니다.

  2. 다음 명령어를 사용하여 새 이미지를 비공개 레지스트리에 업로드합니다. UPGRADE_VERSION 버전의 actl을 사용해야 합니다.

    actl images push --private-registry=${PRIVATE_REGISTRY} \
      --images ~/anthos-baremetal-private-mode
    

    업로드 프로세스는 이미 레지스트리에 있는 이미지를 자동으로 건너뜁니다.

  3. Helm 차트를 Container Registry에 업로드합니다.

관리자 클러스터 업그레이드

관리자 클러스터를 업그레이드하려면 다음 변경사항만 적용하여 관리자 클러스터 구성 파일을 업데이트한 다음 actl clusters baremetal upgrade 명령어를 실행하여 업그레이드를 완료합니다.

  1. 클러스터 구성 관리자 YAML 파일에서 버전 문자열을 업데이트하고 baremetal.cluster.gke.io/private-mode: "true" 주석을 추가합니다.

    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: admin
      namespace: cluster-admin
      annotations:
        baremetal.cluster.gke.io/private-mode: "true"
    spec:
      anthosBareMetalVersion: VERSION
    

    VERSION을 새로운 Anthos on bare metal 버전 번호로 바꿉니다.

  2. 다음 명령어를 실행하여 관리자 클러스터를 업데이트합니다. UPGRADE_VERSION 버전의 actl을 사용해야 합니다.

    actl clusters baremetal upgrade admin --kubeconfig=ADMIN_KUBECONFIG
    

업그레이드는 완료하는 데 15~20분 정도 걸리지만, 클러스터 크기에 따라 더 오래 걸릴 수 있습니다.

관리 센터 업그레이드

인프라 운영자는 관리 센터를 완전히 업그레이드하거나 개별 하위 구성요소를 업그레이드할 수 있습니다.

옵션 1: 전체 관리 센터 업그레이드

인프라 운영자는 관리 센터 자체를 포함하여 관리 센터에 있는 모든 구성요소를 업그레이드할 수 있습니다.

  1. 관리 센터 버전을 보고 이전 버전인지 확인합니다.

    kubectl get AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
    

    ADMIN_KUBECONFIG를 관리 클러스터에 대한 kubeconfig 파일의 경로로 바꿉니다.

  2. 선택사항: 업그레이드를 위해 프리플라이트 검사를 실행합니다.

    actl platform management-center upgrade --preflight-check-only --kubeconfig=ADMIN_KUBECONFIG
    
  3. 업그레이드를 시작합니다(일반적으로 완료하는 데 약 10~15분 소요).

    actl platform management-center upgrade --kubeconfig=ADMIN_KUBECONFIG
    
  4. 관리 센터 버전을 보고 버전이 업데이트되었는지 확인합니다.

    kubectl get AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
    

옵션 2: 개별 구성요소 업그레이드

인프라 운영자는 관리 센터에서 실행되는 특정 구성요소의 업그레이드를 관리할 수 있습니다. 버전 1.9부터는 Anthos Config Management 연산자, Anthos Service Mesh 연산자, Anthos on bare metal의 3개 구성요소를 개별적으로 업그레이드할 수 있습니다.

Container Registry에 이미지를 업로드한 후에는 새 출시 버전에서 제공된 패키지 사양을 게시해야 합니다. 예를 들어 Anthos Config Management 연산자와 Anthos Service Mesh 연산자의 패키지 사양은 services/에서 사용할 수 있습니다.

  1. 새 Anthos Config Management 연산자의 패키지 사양을 적용합니다.

    kubectl apply -f ~/anthos-baremetal-private-mode/services/anthos-config-management/package-spec.yaml \
    --kubeconfig=ADMIN_KUBECONFIG
    
  2. Anthos Config Management 연산자의 현재 구성요소 상태를 확인합니다.

    kubectl get adminoperator admin-operator \
      --kubeconfig=ADMIN_KUBECONFIG \
      -ojsonpath='{.status.components[?(@.name=="anthos-config-management")]}'
    

    명령어가 1.9.X의 현재 버전 및 <=1.9.X의 현재 버전 제약조건을 제공한다고 가정합니다.

    {"name":"anthos-config-management","version":"1.9.X","versionConstraint":"<=1.9.X"}
    
  3. Admin Operator 객체에서 버전 제약조건을 수정하여 새 버전을 사용 설정합니다.

    kubectl edit AdminOperator admin-operator --kubeconfig=ADMIN_KUBECONFIG
    
  4. 편집기에서 spec.updateConfigOverride.policies 아래에 있는 업데이트 정책을 찾고 구성요소 버전을 적절히 늘립니다. spec.updateConfigOverride가 생략되었거나 빈 구조체 값({})을 갖는 경우 다음과 같이 정책을 추가합니다.

    spec:
      updateConfigOverride:
        policies:
        - name: anthos-config-management
          versionConstraint: <=1.9.Y
    

재정의를 추가한 후 관리 센터가 Anthos Config Management 연산자의 새 버전을 수령하도록 변경사항을 출시합니다.

다음 명령어를 실행하여 새 버전의 출시를 모니터링합니다. 이 버전은 이전 1.9.X에서 1.9.Y로 변경될 것으로 예상됩니다.

kubectl get adminoperator admin-operator \
  --kubeconfig=ADMIN_KUBECONFIG \
  -ojsonpath='{.status.components[?(@.name=="anthos-config-management")].version}' \
  --watch

출시가 완료되면 플랫폼 관리자가 관리 센터를 통해 새 Anthos Config Management 연산자를 사용할 수 있습니다.

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

플랫폼 관리자는 actl 명령줄 도구, 관리 센터 또는 API를 사용하여 사용자 클러스터를 업데이트할 수 있습니다.

actl

다음 명령어를 실행하여 사용자 클러스터를 업데이트합니다.

actl clusters baremetal upgrade CLUSTER_NAME --kubeconfig ADMIN_KUBECONFIG

Console

  1. 관리 센터 콘솔에서 대시보드 메뉴로 이동합니다.
  2. 업그레이드 탭을 클릭하여 사용 가능한 모든 업그레이드를 확인합니다.
  3. 업그레이드하려는 클러스터에 대해 업그레이드 보기를 클릭합니다.
  4. 업그레이드를 클릭하여 버전, 설명, 출시 노트 링크와 같은 업그레이드 세부정보를 확인합니다.
  5. 계속을 클릭하여 확인합니다.
  6. 업그레이드를 클릭하여 클러스터 업그레이드를 시작합니다.

업그레이드 목록의 항목에는 업그레이드가 완료될 때까지 Upgrade in progress가 표시됩니다.

API

Cluster 리소스에서 버전 문자열을 수정하여 사용자 클러스터를 업그레이드할 수 있습니다.

  1. 다음 명령어를 실행하여 사용자 클러스터에 대해 Cluster 리소스를 수정합니다.

    kubectl edit cluster CLUSTER_NAME -n cluster-CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG
    
  2. spec.anthosBareMetalVersion에서 버전 문자열을 업데이트하면 컨트롤러가 업그레이드에 작동합니다.

    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: CLUSTER_NAME
      namespace: cluster-CLUSTER_NAME
      annotations:
        baremetal.cluster.gke.io/private-mode: "true"
    spec:
      type: user
      anthosBareMetalVersion: VERSION
    

    VERSION을 새로운 Anthos on bare metal 버전 번호로 바꿉니다.

다음 단계