이 항목에서는 TKG(Tanzu Kubernetes Grid) 워크로드 클러스터를 업그레이드하는 방법을 설명합니다. 독립형 관리 클러스터가 있는 TKG의 경우 먼저 워크로드 클러스터를 관리하는 관리 클러스터를 업그레이드해야 합니다.
중요
- vSphere 8에서 Supervisor와 함께 배포한 워크로드 클러스터를 업그레이드하는 경우, Tanzu CLI를 사용하여 TKG 2.2 워크로드 클러스터 생성 및 관리에서 Supervisor가 배포한 클러스터 업그레이드(vSphere 8만 해당)를 참조하십시오.
- 독립형 관리 클러스터와 워크로드 클러스터는 클라이언트 인증서를 사용하여 클라이언트를 인증합니다. 이러한 인증서는 1년 동안 유효합니다. 갱신하려면 클러스터를 일년에 한 번 이상 업그레이드합니다.
- TKG는 이전 버전의
tiny
TKr을 실행하는 클러스터 업그레이드를 지원하지 않습니다. 최소 단일 노드 클러스터를 최신tiny
TKr 버전으로 업데이트하려면 이전 클러스터를 삭제하고 새 클러스터를 생성해야 합니다.tiny
TKr에 대한 자세한 내용은 vSphere의 단일 노드 클러스터를 참조하십시오.
업그레이드 프로세스는 워크로드 클러스터의 모든 제어부 및 Worker 노드에서 Kubernetes 버전을 업그레이드합니다.
사용 가능한 관리 클러스터의 대화형 목록을 보고 업그레이드할 클러스터를 관리하는 관리 클러스터를 선택하려면 tanzu login
명령을 실행합니다.
tanzu login
워크로드 클러스터를 나열하려면 다음을 실행합니다.
tanzu cluster list --include-management-cluster -A
--include-management-cluster -A
옵션이 있는 tanzu cluster list
명령은 관리 클러스터에서 실행 중인 Kubernetes의 버전과 관리하는 모든 클러스터를 보여 줍니다. 이 예에서는 관리 클러스터가 이미 v1.25.7로 업그레이드되었지만 워크로드 클러스터가 이전 버전의 Kubernetes를 실행하고 있음을 확인할 수 있습니다.
NAME NAMESPACE STATUS CONTROLPLANE WORKERS KUBERNETES ROLES PLAN TKR
k8s-1-23-16-cluster default running 1/1 1/1 v1.23.16+vmware.1 <none> dev v1.23.16---vmware.1-tkg.1
k8s-1-24-10-cluster default running 1/1 1/1 1.24.10+vmware.1 <none> dev 1.24.10---vmware.1-tkg.1
mgmt-cluster tkg-system running 1/1 1/1 v1.25.7+vmware.1 management dev v1.25.7---vmware.1-tkg.1
관리 클러스터에서 사용할 수 있는 Kubernetes 버전을 검색하려면 tanzu kubernetes-release get
명령을 실행합니다.
tanzu kubernetes-release get
출력에는 클러스터를 배포하는 데 사용할 수 있는 모든 Kubernetes 버전이 다음 내용과 함께 나열됩니다.
COMPATIBLE
: 현재 관리 클러스터는 이 Tanzu Kubernetes 릴리스(tkr
)를 사용하여 워크로드 클러스터를 배포할 수 있습니다.UPDATES AVAILABLE
: 이 tkr
은 Kubernetes 버전 라인에서 가장 최신이 아닙니다. 이 tkr
버전을 실행하는 모든 워크로드 클러스터를 최신 버전으로 업그레이드할 수 있습니다.예:
NAME VERSION COMPATIBLE ACTIVE UPDATES AVAILABLE
v1.23.16---vmware.1-tkg.1 v1.23.16+vmware.1-tkg.1 True True
v1.24.11---vmware.1-tkg.1 v1.24.11+vmware.1-tkg.1 True True
v1.25.7---vmware.1-tkg.1 v1.25.7+vmware.1-tkg.1 True True
이전 tkr
버전을 실행하는 워크로드 클러스터를 업그레이드할 수 있는 최신 tkr
버전을 검색하려면 tanzu kubernetes-release available-upgrades get
명령을 실행하고 현재 tkr
버전을 지정합니다.
tanzu kubernetes-release available-upgrades get 1.22.17---vmware.1-tkg.1
이 명령은 지정된 버전을 실행하는 클러스터를 업그레이드할 수 있는 사용 가능한 모든 Kubernetes 버전을 나열합니다.
tanzu cluster available-upgrades get
명령에서 클러스터 이름을 지정하여 특정 워크로드 클러스터에 사용할 수 있는 tkr
버전을 검색할 수도 있습니다.
tanzu cluster available-upgrades get k8s-1-23-16-cluster
이 명령은 지정된 클러스터와 호환되는 모든 Kubernetes 버전을 나열합니다.
tkr
버전을 업그레이드할 때 부 버전을 건너뛸 수 없습니다. 예를 들어 클러스터를 v1.23.x에서 v1.25.x로 직접 업그레이드할 수 없습니다. 클러스터를 v1.25.x로 업그레이드하기 전에 v1.23.x 클러스터를 v1.24.x로 업그레이드해야 합니다.
Azure에서 클러스터가 실행 중인 경우 클러스터를 업그레이드하기 전에 AZURE_CLIENT_SECRET
환경 변수를 설정합니다.
export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
tanzu cluster upgrade CLUSTER-NAME
명령을 실행하고 y
를 입력하여 확인합니다. 확인 단계를 건너뛰려면 --yes
옵션을 지정합니다.
클러스터를 이 Tanzu Kubernetes Grid 릴리스의 Kubernetes 기본 버전으로 업그레이드하려면 옵션 없이 tanzu cluster upgrade
명령을 실행합니다. 이 릴리스에서 기본 버전은 v1.25.7
입니다. 예:
tanzu cluster upgrade k8s-1-24-10-cluster
클러스터가 default
네임스페이스에서 실행되고 있지 않으면 --namespace
옵션을 지정합니다.
tanzu cluster upgrade CLUSTER-NAME --namespace NAMESPACE-NAME
업그레이드가 완료되기 전에 시간이 초과되면 tanzu cluster upgrade
를 다시 실행하고 기본값인 30분보다 큰 --timeout
옵션을 지정합니다.
tanzu cluster upgrade CLUSTER-NAME --timeout 45m0s
중요Azure에서의 작업은 다른 플랫폼보다 오래 걸리는 경우가 있습니다. Azure에서 클러스터를 업그레이드하는 경우 오류를 방지하기 위해
--timeout
옵션을 정기적으로 설정합니다.
IaaS 계정의 여러 기본 VM 이미지에 업그레이드하려는 동일한 버전의 Kubernetes가 있는 경우 --os-name
옵션을 사용하여 원하는 OS를 지정합니다. 자세한 내용은 클러 클러스터 업그레이드 중 OS 선택을 참조하십시오.
예를 들어 vSphere Kubernetes v1.25.7을 사용하여 Photon과 Ubuntu OVA 템플릿을 모두 업로드한 경우, Ubuntu VM에서 실행되도록 워크로드 클러스터를 업그레이드하려면 --os-name ubuntu
를 지정합니다.
tanzu cluster upgrade CLUSTER-NAME --os-name ubuntu
tkr
의 부 버전을 건너뛸 수 없기 때문에 기본 버전보다 2개 이상의 부 버전인 클러스터를 업그레이드하면 업그레이드 명령이 실패합니다. 예를 들어 v1.23.x에서 v1.25.x로 직접 업그레이드할 수 없습니다. 클러스터를 이 Tanzu Kubernetes Grid 릴리스의 기본 버전이 아닌 Kubernetes 버전으로 업그레이드하려면 위의 tanzu kubernetes-release get
으로 나열된 대로 선택한 버전의 NAME
이 있는 --tkr
옵션을 지정합니다. 예를 들어, 클러스터 k8s-1-23-16-cluster
를 v1.23.16에서 v1.24.11로 업그레이드.
tanzu cluster upgrade k8s-1-23-16-cluster --tkr v1.24.11---vmware.1-tkg.1
업그레이드가 완료되면 tanzu cluster list
명령을 실행하여 워크로드 클러스터가 업그레이드되었는지 확인합니다.
tanzu cluster list --include-management-cluster -A
관리자 kubeconfig
를 다시 생성합니다.
tanzu cluster kubeconfig get CLUSTER-NAME --admin
여기서 CLUSTER-NAME
은 워크로드 클러스터의 이름입니다.
중요업그레이드 후
kubeconfig
를 갱신하지 않으면 클러스터가 만료되면 액세스할 수 없습니다.
LDAP 또는 OIDC ID 제공자를 사용하는 경우 kubectl
을 사용하여 클러스터에 인증할 수 있는지 확인합니다. 예:
kubectl get pods -A --kubeconfig my-cluster-credentials
워크로드 클러스터에서 실행 중인 Contour, Fluent Bit 또는 Prometheus와 같은 CLI 관리 패키지를 업그레이드합니다. CLI 관리 패키지 업그레이드에 대한 자세한 내용은 패키지 업데이트를 참조하십시오.
중요워크로드 클러스터에 Prometheus를 설치하고 워크로드 클러스터를 Kubernetes v1.25로 업그레이드하는 경우 Prometheus를 버전
2.37.0+vmware.3-tkg.1
로 업그레이드해야 합니다. 이전 버전의 Prometheus 패키지(예: 버전2.37.0+vmware.1-tkg.1
)는 Kubernetes 1.25와 호환되지 않습니다.
이제 Tanzu CLI를 계속 사용하여 클러스터를 관리할 수 있습니다. 자세한 내용은 Tanzu CLI를 사용하여 TKG 2.2 워크로드 클러스터 생성 및 관리를 참조하십시오.