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

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

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

중요

Tanzu Kubernetes Grid v2.4.x는 AWS 및 Azure에서 기존 독립형 TKG 관리 클러스터 업그레이드를 지원하는 TKG의 마지막 버전입니다. Tanzu Kubernetes Grid v2.5 릴리스에서는 AWS 및 Azure에서 독립형 TKG 관리 클러스터를 업그레이드하는 기능이 제거됩니다.

VMware Tanzu Mission Control을 사용하여 네이티브 AWS EKS 및 Azure AKS 클러스터를 생성하는 것이 좋습니다. 그러나 AWS 및 Azure의 기존 독립형 TKG 관리 클러스터 업그레이드는 TKG v2.4.x까지 모든 TKG 릴리스에 대해 완전히 지원됩니다.

자세한 내용은 VMware Tanzu Kubernetes Grid v2.4 Release Notes에서 AWS 및 Azure에서 TKG 관리 및 워크로드 클러스터의 사용 중단을 참조하십시오.

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

참고

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

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

사전 요구 사항

  • 업그레이드에 대한 알려진 문제를 살펴봤습니다. 알려진 문제를 참조하십시오.
  • 관리 클러스터를 업그레이드하기 전에 있는 Tanzu Kubernetes Grid 업그레이드 단계를 수행했습니다.
  • 인터넷 제한: 인터넷이 제한된 환경에서 이전 버전의 Tanzu Kubernetes Grid 배포한 경우 인터넷 제한 환경 준비 단계를 수행하여 새 구성 요소 이미지 버전으로 필요한 스크립트를 다시 생성하고 실행했습니다.
  • 사용자 지정클러스터: 사용자 지정 ClusterClass 정의를 사용하는 워크로드 클러스터가 있는 경우 사용자 지정 클러스터 업그레이드 단계를 수행했습니다.
  • LDAP: 이전 버전의 관리 클러스터가 LDAP ID 제공자와 통합된 경우 아래 (LDAP만 해당) LDAP 설정 업데이트 단계를 수행했습니다.

(LDAP만 해당) LDAP 설정 업데이트

Tanzu Kubernetes Grid v2.3부터는 LDAP ID 제공자를 구성할 때 LDAP_BIND_DNLDAP_BIND_PASSWORD 변수를 설정해야 합니다. LDAP ID 제공자를 사용하도록 구성된 관리 클러스터를 v2.4를 Tanzu Kubernetes Grid 업그레이드하기 전에 아직 이러한 변수를 설정하지 않은 경우 이러한 변수를 설정합니다. LDAP_BIND_DNLDAP_BIND_PASSWORD를 설정하지 않고 관리 클러스터를 업그레이드하면 Pinniped App 배포가 실패하고 App 사용자 지정 리소스가 오류를 반환합니다. 이러한 구성 변수에 대한 자세한 내용은 구성 파일 변수 참조의 ID 제공자 - LDAP를 참조하십시오.

LDAP_BIND_DNLDAP_BIND_PASSWORD를 업데이트하려면 관리 클러스터의 버전에 해당하는 management-cluster CLI 플러그인 버전을 사용해야 합니다. 관리 클러스터를 업그레이드하기 전에 다음 단계를 수행합니다.

  1. 관리 클러스터용 구성 파일에 LDAP_BIND_DNLDAP_BIND_PASSWORD를 추가합니다.

  2. 시스템에 올바른 버전의 management-cluster 플러그인이 설치되어 있는지 확인합니다. Tanzu Kubernetes Grid v2.4.0의 경우 올바른 버전은 v0.31.0입니다.

    tanzu plugin list
    

    올바른 버전의 management-cluster 플러그인이 설치되어 있지 않으면 다음을 수행합니다.

    1. 사용 가능한 모든 버전 목록에서 관리 클러스터의 버전에 해당하는 management-cluster 플러그인의 버전을 찾습니다.

      tanzu plugin search -n management-cluster --show-details
      
    2. 플러그인을 설치합니다.

      tanzu plugin install management-cluster --version PLUGIN-VERSION
      

      여기서 PLUGIN-VERSION은 이전 단계에서 찾은 버전입니다.

  3. 다음을 실행하여 Pinniped 패키지의 새 암호를 생성합니다.

    FILTER_BY_ADDON_TYPE=authentication/pinniped tanzu management-cluster create --dry-run -f YOUR-MANAGEMENT-CLUSTER-CONFIG-FILE.yaml > PINNIPED-PACKAGE-SECRET.yaml
    

    여기서 YOUR-MANAGEMENT-CLUSTER-CONFIG-FILE.yaml은 이전 단계에서 업데이트한 구성 파일이며 PINNIPED-PACKAGE-SECRET.yaml은 Pinniped 패키지의 새 암호입니다.

  4. 결과 암호에 업데이트된 설정이 포함되어 있는지 확인하고 kubectl 컨텍스트를 관리 클러스터에 설정한 후 암호를 적용합니다.

    kubectl apply -f PINNIPED-PACKAGE-SECRET.yaml
    

절차

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

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

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

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

    kubectl config use-context MGMT-CLUSTER-NAME-admin@MGMT-CLUSTER-NAME.
    

    이전 단계에서 실행한 tanzu mc kubeconfig get --admin 명령의 출력에서 관리 클러스터 컨텍스트의 이름을 포함한 정확한 명령을 복사할 수 있습니다.

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

    export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
    
  6. tanzu mc upgrade 명령을 실행하고 y를 입력하여 확인합니다.

    참고

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

    tanzu mc upgrade
    

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

    예를 들어 vSphere Kubernetes v1.27.5를 사용하여 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.4 CLI를 설치했지만 관리 클러스터가 업그레이드되기 전에 모든 컨텍스트별 CLI 명령 그룹(tanzu cluster, tanzu kubernetes-release)과 management-clustertanzu mc upgrade를 제외한 모든 tanzu mc create 플러그인 명령을 사용할 수 없으며 Tanzu CLI --help 출력에 포함되지 않습니다.

  7. 업그레이드가 완료되면 --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-25-10-cluster  default     running   1/1           1/1      v1.25.10+vmware.1  <none>      dev   v1.25.10---vmware.1-tkg.1
     k8s-1-26-5-cluster   default     running   1/1           1/1      v1.26.5+vmware.1  <none>       dev   v1.26.5---vmware.1-tkg.1
     mgmt-cluster         tkg-system  running   1/1           1/1      v1.27.5+vmware.1   management  dev   v1.27.5---vmware.2-tkg.1
    
  8. 관리자 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