독립형 관리 클러스터를 사용하여 Tanzu Kubernetes Grid를 업그레이드하려면 먼저 독립형 관리 클러스터를 업그레이드해야 합니다. 워크로드 클러스터를 관리하는 관리 클러스터를 업그레이드할 때까지 워크로드 클러스터를 업그레이드할 수 없습니다.
vSphere with Tanzu Supervisor와 함께 TKG를 실행하는 경우 이 절차를 따르지 않습니다. 대신 vSphere의 일부로 Supervisor를 업그레이드하고 해당 TKr을 업그레이드하여 Supervisor의 Kubernetes 버전을 업데이트합니다.
관리 클러스터를 업그레이드하면 실행되는 자동 관리 패키지가 자동으로 업그레이드됩니다.
참고v2.1 CLI를 설치했지만 관리 독립형 클러스터가 업그레이드되기 전에 모든 컨텍스트별 CLI 명령 그룹(
tanzu cluster
,tanzu kubernetes-release
)과management-cluster
및tanzu mc upgrade
를 제외한 모든tanzu mc create
플러그인 명령을 사용할 수 없으며 Tanzu CLI--help
출력에 포함되지 않습니다.
관리 클러스터와 워크로드 클러스터는 클라이언트 인증서를 사용하여 클라이언트를 인증합니다. 이러한 인증서는 1년 동안 유효합니다. 갱신하려면 클러스터를 1년에 한 번 이상 업그레이드하거나 클러스터 인증서 갱신(독립형 MC) 또는 VMware 기술 자료 문서 Tanzu Kubernetes Grid 클러스터에서 인증서를 교체하는 방법에 설명된 대로 순환합니다.
tanzu login
명령을 실행하여 업그레이드에 사용할 수 있는 관리 클러스터의 대화형 목록을 확인합니다.
tanzu login
업그레이드할 관리 클러스터를 선택합니다. 자세한 내용은 관리 클러스터 목록 및 컨텍스트 변경을 참조하십시오.
클러스터의 관리자 자격 증명을 가져옵니다. Tanzu CLI 별칭 mc
는 management-cluster
의 약식입니다.
tanzu mc kubeconfig get --admin
kubectl
을 관리 클러스터에 연결합니다.
kubectl config use-context CLUSTER-NAME-admin@CLUSTER-NAME.
관리 클러스터가 Azure에서 실행 중인 경우 클러스터를 업그레이드하기 전에 AZURE_CLIENT_SECRET
환경 변수를 설정합니다.
export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
관리 클러스터가 원래 TKG v1.3 이하에서 생성되었거나 확실하지 않은 경우 다음을 수행합니다. 이러한 단계에서는 관리 클러스터를 TKG v2.1의 패키지 기반 구성으로 업그레이드하는 데 필요한 암호를 추가하지만 TKG v1.4 이전에 생성된 관리 클러스터에는 포함되지 않았습니다.
package-based-cc
기능 플래그를 비활성화하여 레거시 관리 클러스터 생성 모의 실행을 사용하도록 설정합니다.
tanzu config set features.management-cluster.package-based-cc false
원래 구성 파일을 사용하여 관리 클러스터 생성을 건조하여 관리 클러스터용 최신 레거시 스타일 매니페스트를 가져옵니다. 예를 들면 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
필요한 -config-values
암호를 추출합니다.
cat legacy-mgmt.yaml | yq 'select(.metadata.name == "MANAGEMENT-CLUSTER-NAME-config-values")' > mgmt-config-secret.yaml
관리 클러스터 컨텍스트에서 암호를 관리 클러스터에 적용합니다.
kubectl apply -f mgmt-config-secret.yaml
레거시 관리 클러스터 생성을 허용하지 않도록 package-based-cc
기능 플래그를 다시 사용하도록 설정합니다.
tanzu config set features.management-cluster.package-based-cc true
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-cluster
및tanzu mc upgrade
를 제외한 모든tanzu mc create
플러그인 명령을 사용할 수 없으며 Tanzu CLI--help
출력에 포함되지 않습니다.
업그레이드가 완료되면 --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
관리자 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
를 갱신하지 않으면 클러스터가 만료되면 액세스할 수 없습니다.
이제 다음을 수행할 수 있습니다.
이 관리 클러스터가 관리하는 워크로드 클러스터 업그레이드합니다.
새 워크로드 클러스터를 생성합니다. 기본적으로 이 관리 클러스터를 사용하여 배포하는 모든 새 클러스터는 새 기본 버전의 Kubernetes를 실행합니다. 그러나 필요한 경우 --tkr
옵션과 함께 tanzu cluster create
명령을 사용하여 다른 버전의 Kubernetes를 실행하는 새 클러스터를 배포할 수 있습니다. 자세한 내용은 여러 Kubernetes 버전을 참조하십시오.