독립형 관리 클러스터 업그레이드

독립형 관리 클러스터를 사용하여 Tanzu Kubernetes Grid를 업그레이드하려면 먼저 독립형 관리 클러스터를 업그레이드해야 합니다. 워크로드 클러스터를 관리하는 관리 클러스터를 업그레이드할 때까지 워크로드 클러스터를 업그레이드할 수 없습니다.

vSphere with Tanzu Supervisor와 함께 TKG를 실행하는 경우 이 절차를 따르지 않습니다. 대신 vSphere의 일부로 Supervisor를 업그레이드하고 해당 TKr을 업그레이드하여 Supervisor의 Kubernetes 버전을 업데이트합니다.

관리 클러스터를 업그레이드하면 실행되는 자동 관리 패키지가 자동으로 업그레이드됩니다.

참고

v2.1 CLI를 설치했지만 관리 독립형 클러스터가 업그레이드되기 전에 모든 컨텍스트별 CLI 명령 그룹(tanzu cluster, tanzu kubernetes-release)과 management-clustertanzu mc upgrade를 제외한 모든 tanzu mc create 플러그인 명령을 사용할 수 없으며 Tanzu CLI --help 출력에 포함되지 않습니다.

관리 클러스터와 워크로드 클러스터는 클라이언트 인증서를 사용하여 클라이언트를 인증합니다. 이러한 인증서는 1년 동안 유효합니다. 갱신하려면 클러스터를 1년에 한 번 이상 업그레이드하거나 클러스터 인증서 갱신(독립형 MC) 또는 VMware 기술 자료 문서 Tanzu Kubernetes Grid 클러스터에서 인증서를 교체하는 방법에 설명된 대로 순환합니다.

사전 요구 사항

  • 업그레이드에 대한 알려진 문제를 살펴봤습니다. 알려진 문제를 참조하십시오.
  • 관리 클러스터를 업그레이드하기 전에 있는 Tanzu Kubernetes Grid 업그레이드 단계를 수행했습니다.
  • 인터넷이 제한된 환경에서 이전 버전의 Tanzu Kubernetes Grid 배포한 경우 인터넷 제한 환경 준비 단계를 수행하여 새 구성 요소 이미지 버전으로 필요한 스크립트를 다시 생성하고 실행했습니다.
  • Supervisor 클러스터가 없는 vSphere 7에서 이미 실행 중인 기존의 1.x 관리 클러스터가 있고 vSphere를 vSphere 8로 업그레이드하려는 경우, vSphere 7에서 vSphere 8로 업그레이드하기 전에 관리 클러스터와 워크로드 클러스터를 v2.1.x 또는 v1.6.1로 업그레이드하는 것이 좋습니다. vSphere 7에서 독립형 관리 클러스터를 실행 중이고 vSphere 인스턴스를 vSphere 8로 업그레이드한 후 Tanzu Kubernetes Grid v2.1.x 또는 v1.6.1로 업그레이드하는 경우, 가능한 한 빨리 관리 클러스터와 워크로드 클러스터를 업그레이드해야 합니다. v1.6.0까지의 Tanzu Kubernetes Grid 릴리스는 vSphere 8에서 지원되지 않습니다.

절차

  1. tanzu login 명령을 실행하여 업그레이드에 사용할 수 있는 관리 클러스터의 대화형 목록을 확인합니다.

    tanzu login
    
  2. 업그레이드할 관리 클러스터를 선택합니다. 자세한 내용은 관리 클러스터 목록 및 컨텍스트 변경을 참조하십시오.

  3. 클러스터의 관리자 자격 증명을 가져옵니다. Tanzu CLI 별칭 mcmanagement-cluster의 약식입니다.

    tanzu mc kubeconfig get --admin
    
  4. kubectl을 관리 클러스터에 연결합니다.


    kubectl config use-context CLUSTER-NAME-admin@CLUSTER-NAME.
    
  5. 관리 클러스터가 Azure에서 실행 중인 경우 클러스터를 업그레이드하기 전에 AZURE_CLIENT_SECRET 환경 변수를 설정합니다.

    export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
    
  6. 관리 클러스터가 원래 TKG v1.3 이하에서 생성되었거나 확실하지 않은 경우 다음을 수행합니다. 이러한 단계에서는 관리 클러스터를 TKG v2.1의 패키지 기반 구성으로 업그레이드하는 데 필요한 암호를 추가하지만 TKG v1.4 이전에 생성된 관리 클러스터에는 포함되지 않았습니다.

    1. package-based-cc 기능 플래그를 비활성화하여 레거시 관리 클러스터 생성 모의 실행을 사용하도록 설정합니다.

      tanzu config set features.management-cluster.package-based-cc false
      
    2. 원래 구성 파일을 사용하여 관리 클러스터 생성을 건조하여 관리 클러스터용 최신 레거시 스타일 매니페스트를 가져옵니다. 예를 들면 vSphere vSphere에서는 다음과 같습니다.

      tanzu mc create -f mgmt-config.yaml --dry-run > legacy-mgmt.yaml
      Do you want to configure vSphere with Tanzu? [y/N]: N
      Would you like to deploy a non-integrated Tanzu Kubernetes Grid management cluster on vSphere 7.0? [y/N]: y
      
      
    3. 필요한 -config-values 암호를 추출합니다.

      cat legacy-mgmt.yaml | yq 'select(.metadata.name == "MANAGEMENT-CLUSTER-NAME-config-values")' > mgmt-config-secret.yaml
      
    4. 관리 클러스터 컨텍스트에서 암호를 관리 클러스터에 적용합니다.

      kubectl apply -f mgmt-config-secret.yaml
      
    5. 레거시 관리 클러스터 생성을 허용하지 않도록 package-based-cc 기능 플래그를 다시 사용하도록 설정합니다.

      tanzu config set features.management-cluster.package-based-cc true
      
  7. tanzu mc upgrade 명령을 실행하고 y를 입력하여 확인합니다.

    참고

    이 명령을 실행한 후에는 Pinniped 포드가 다시 시작될 때까지 관리자가 아닌 사용자는 연결된 워크로드 클러스터에 로그인할 수 없습니다.

    tanzu mc upgrade
    

    IaaS 계정의 여러 기본 VM 이미지에 업그레이드하려는 동일한 버전의 Kubernetes가 있는 경우 --os-name 옵션을 사용하여 원하는 OS를 지정합니다. 자세한 내용은 클러 클러스터 업그레이드 중 OS 선택을 참조하십시오.

    예를 들어 vSphere Kubernetes v1.24.10을 사용하여 Photon과 Ubuntu OVA 템플릿을 모두 업로드한 경우, Ubuntu VM에서 실행되도록 관리 클러스터를 업그레이드하려면 --os-name ubuntu를 지정합니다.

    tanzu mc upgrade --os-name ubuntu
    

    클러스터를 업그레이드할 때 확인 단계를 건너뛰려면 --yes 옵션을 지정합니다.

    tanzu mc upgrade --yes
    

    업그레이드 프로세스는 먼저 관리 클러스터에서 실행 중인 vSphere, AWS(Amazon Web Services) 또는 Azure의 클러스터 API 제공자를 업그레이드합니다. 그런 다음 관리 클러스터의 모든 제어부 및 Worker 노드에서 Kubernetes 버전을 업그레이드합니다.

    중요

    관리 클러스터가 업그레이드되는 동안 tanzu cluster 또는 tanzu mc 명령을 실행하거나 관리하는 워크로드 클러스터(예: 다른 부트스트랩 시스템 또는 셸 창)를 실행하지 마십시오.

    업그레이드가 완료되기 전에 시간이 초과되면 tanzu mc upgrade를 다시 실행하고 기본값인 30분보다 큰 --timeout 옵션을 지정합니다.

    tanzu mc upgrade --timeout 45m0s
    
    참고

    v2.1 CLI를 설치했지만 관리 클러스터가 업그레이드되기 전에 모든 컨텍스트별 CLI 명령 그룹(tanzu cluster, tanzu kubernetes-release)과 management-clustertanzu mc upgrade를 제외한 모든 tanzu mc create 플러그인 명령을 사용할 수 없으며 Tanzu CLI --help 출력에 포함되지 않습니다.

  8. 업그레이드가 완료되면 --include-management-cluster -A 옵션을 사용하여 tanzu cluster list 명령을 다시 실행하여 관리 클러스터가 업그레이드되었는지 확인합니다.

    tanzu cluster list --include-management-cluster -A
    

    이제 관리 클러스터에서 새 버전의 Kubernetes가 실행 중이지만 워크로드 클러스터가 여전히 이전 버전의 Kubernetes를 실행하고 있는 것을 볼 수 있습니다.

     NAME                 NAMESPACE   STATUS    CONTROLPLANE  WORKERS  KUBERNETES         ROLES       PLA   TKR
     k8s-1-22-13-cluster  default     running   1/1           1/1      v1.22.13+vmware.1  <none>      dev   v1.22.13---vmware.1-tkg.1
     k8s-1-23-10-cluster  default     running   1/1           1/1      v1.23.10+vmware.1  <none>      dev   v1.23.10---vmware.1-tkg.1
     mgmt-cluster         tkg-system  running   1/1           1/1      v1.24.10+vmware.1  management  dev   v1.24.10---vmware.1-tkg.1
    
  9. 관리자 kubeconfig를 다시 생성합니다.

    tanzu management-cluster kubeconfig get --admin
    

    다음은 이 명령의 샘플 출력입니다.

    Credentials of cluster 'mgmt' have been saved
    You can now access the cluster by running 'kubectl config use-context mgmt-admin@mgmt'
    
    중요

    업그레이드 후 kubeconfig를 갱신하지 않으면 클러스터가 만료되면 액세스할 수 없습니다.

후속 작업

이제 다음을 수행할 수 있습니다.

check-circle-line exclamation-circle-line close-line
Scroll to top icon