독립형 관리 클러스터를 사용하여 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 클러스터에서 인증서를 교체하는 방법에 설명된 대로 순환합니다.
ClusterClass
정의를 사용하는 워크로드 클러스터가 있는 경우 사용자 지정 클러스터 업그레이드 단계를 수행했습니다.Tanzu Kubernetes Grid v2.3부터는 LDAP ID 제공자를 구성할 때 LDAP_BIND_DN
및 LDAP_BIND_PASSWORD
변수를 설정해야 합니다. LDAP ID 제공자를 사용하도록 구성된 관리 클러스터를 v2.3을 Tanzu Kubernetes Grid 업그레이드하기 전에 아직 이러한 변수를 설정하지 않은 경우 이러한 변수를 설정합니다. LDAP_BIND_DN
및 LDAP_BIND_PASSWORD
를 설정하지 않고 관리 클러스터를 업그레이드하면 Pinniped App
배포가 실패하고 App
사용자 지정 리소스가 오류를 반환합니다. 이러한 구성 변수에 대한 자세한 내용은 구성 파일 변수 참조의 ID 제공자 - LDAP를 참조하십시오.
LDAP_BIND_DN
및 LDAP_BIND_PASSWORD
를 업데이트하려면 관리 클러스터의 버전에 해당하는 management-cluster
CLI 플러그인 버전을 사용해야 합니다. 관리 클러스터를 업그레이드하기 전에 다음 단계를 수행합니다.
관리 클러스터용 구성 파일에 LDAP_BIND_DN
및 LDAP_BIND_PASSWORD
를 추가합니다.
시스템에 올바른 버전의 management-cluster
플러그인이 설치되어 있는지 확인합니다. Tanzu Kubernetes Grid v2.2.0의 경우 올바른 버전은 v0.29.0
입니다.
tanzu plugin list
올바른 버전의 management-cluster
플러그인이 설치되어 있지 않으면 다음을 수행합니다.
사용 가능한 모든 버전 목록에서 관리 클러스터의 버전에 해당하는 management-cluster
플러그인의 버전을 찾습니다.
tanzu plugin search -n management-cluster --show-details
플러그인을 설치합니다.
tanzu plugin install management-cluster --version PLUGIN-VERSION
여기서 PLUGIN-VERSION
은 이전 단계에서 찾은 버전입니다.
다음을 실행하여 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 패키지의 새 암호입니다.
결과 암호에 업데이트된 설정이 포함되어 있는지 확인하고 kubectl
컨텍스트를 관리 클러스터에 설정한 후 암호를 적용합니다.
kubectl apply -f PINNIPED-PACKAGE-SECRET.yaml
tanzu context use
명령을 실행하여 업그레이드에 사용할 수 있는 관리 클러스터의 대화형 목록을 확인합니다.
tanzu context use
업그레이드할 관리 클러스터를 선택합니다. 자세한 내용은 관리 클러스터 목록 및 컨텍스트 변경을 참조하십시오.
클러스터의 관리자 자격 증명을 가져옵니다. 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
tanzu mc upgrade
명령을 실행하고 y
를 입력하여 확인합니다.
참고이 명령을 실행한 후에는 Pinniped 포드가 다시 시작될 때까지 관리자가 아닌 사용자는 연결된 워크로드 클러스터에 로그인할 수 없습니다.
tanzu mc upgrade
IaaS 계정의 여러 기본 VM 이미지가 업그레이드하려는 동일한 버전의 Kubernetes를 가지고 있는 경우, 업그레이드할 OS 선택에 설명된 대로 --os-name
및 기타 옵션을 포함하여 대상 OS를 지정할 수 있습니다.
tanzu mc upgrade --os-name ubuntu
vSphere에서 --vsphere-vm-template-name
옵션을 사용하여 업그레이드할 OVA 템플릿 선택에 설명된 대로 클러스터 노드에 대해 대상 OVA 템플릿을 지정할 수 있습니다.
tanzu mc upgrade --vsphere-vm-template-name "/dc0/vm/tanzu/ubuntu-2004-kube-v1.29.9-vmware.1"
클러스터를 업그레이드할 때 확인 단계를 건너뛰려면 --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.3 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-24-14-cluster default running 1/1 1/1 v1.24.14+vmware.1 <none> dev v1.24.14---vmware.1-tkg.1
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
mgmt-cluster tkg-system running 1/1 1/1 v1.26.8+vmware.1 management dev v1.26.8---vmware.2-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 버전을 참조하십시오.