TKG(Tanzu Kubernetes Grid)를 업그레이드하려면 부트스트랩 시스템으로 사용하는 시스템에 새 버전의 Tanzu CLI를 다운로드하고 설치합니다. 또한 이전에 배포한 클러스터를 vSphere, AWS(Amazon Web 서비스) 또는 Azure로 업그레이드하는지에 따라 기본 이미지 템플릿 및 VM도 다운로드하고 설치해야 합니다.
참고TKG 업그레이드 경로에서 v2.2는 v2.1.1을 즉시 따릅니다.
새 버전의 구성 요소를 설치한 후에는 tanzu mc upgrade
및 tanzu cluster upgrade
CLI 명령을 사용하여 관리 클러스터 및 워크로드 클러스터를 업그레이드합니다.
다음 섹션은 Tanzu Kubernetes Grid를 업그레이드하는 데 필요한 전체 단계입니다. 이 절차에서는 Tanzu Kubernetes Grid v2.2.0으로 업그레이드한다고 가정합니다.
일부 단계는 Tanzu Kubernetes Grid를 v2.1.x에서 v2.2.x로 부분 업그레이드하는 경우에만 필요하며, Tanzu Kubernetes Grid를 v2.2.x에서 v2.2.y로 패치 업그레이드하는 경우에는 필요하지 않습니다.
TKG v2.2.x로 업그레이드하기 전에 현재 배포가 TKG v2.1.x 또는 이전 v2.2 버전인지 확인합니다. v2.1 이전 버전에서 v2.2.x로 업그레이드하려면 먼저 Tanzu CLI 버전 v2.1.x를 사용하여 v2.1.x로 업그레이드해야 합니다.
중요TKG 2.x 및 vSphere 8의 vSphere with Tanzu Supervisor와 호환되는 Tanzu CLI 버전은 vSphere 7의 Supervisor 클러스터와 호환되지 않습니다. vSphere 7의 vSphere with Tanzu Supervisor 클러스터에서 Tanzu CLI를 사용하려면 TKG v1.6의 Tanzu CLI 버전을 사용합니다. Supervisor와 TKG 2.x와 호환되는 Tanzu CLI 버전을 사용하려면 vSphere 8로 업그레이드합니다. vSphere with Tanzu Supervisor 클러스터가 없는 경우 독립형 TKG 2.x 관리 클러스터를 vSphere 7에 배포할 수 있습니다. Tanzu CLI와 VMware 제품 간의 호환성에 대한 자세한 내용은 Tanzu CLI 설명서를 참조하십시오.
이 단계는 주요 v2.1.x에서 v2.2.x로의 업그레이드와 v2.2.x에서 v2.2.y로의 업그레이드에 모두 필요합니다.
새 버전의 Tanzu CLI를 다운로드하고 설치하려면 다음 단계를 수행합니다.
~/.config/tanzu/tkg/compatibility/tkg-compatibility.yaml
파일을 삭제합니다.
이 파일을 삭제하지 않으면 새 버전의 Tanzu CLI는 이전 릴리스의 BOM(Bill of Materials)을 계속 사용합니다. 이 파일을 삭제하면 Tanzu CLI가 업데이트된 BOM을 가져옵니다. 2.1.x에서 2.2.x로 업그레이드할 때와 2.2.x에서 2.2.y로 업그레이드할 때 이 단계를 수행해야 합니다.
독립형 관리 클러스터에서 사용할 Tanzu CLI 및 기타 도구 설치 지침에 따라 현재 tanzu
명령을 실행하는 시스템에 Tanzu CLI 및 kubectl
를 다운로드하고 설치합니다.
tanzu version
을 실행하여 올바른 버전의 Tanzu CLI가 제대로 설치되었는지 확인합니다. Tanzu Kubernetes Grid v2.2는 Tanzu Framework v0.29.0 기반 Tanzu CLI v0.29.0을 사용합니다.kubectl
을 설치한 후 kubectl version
을 실행하여 올바른 버전의 kubectl
이 적절하게 설치되어 있는지 확인합니다.사용할 수 있는 Tanzu CLI 명령 및 옵션에 대한 자세한 내용은 Tanzu CLI 명령 참조를 참조하십시오.
관리 및 워크로드 클러스터를 업그레이드하려면 먼저 vSphere, AWS 또는 Azure에 클러스터를 배포했는지에 따라 준비 단계를 수행해야 합니다. 이 단계는 주요 v2.1.x에서 v2.2.x로의 업그레이드와 v2.2.x에서 v2.2.y로의 업그레이드에 모두 필요합니다.
이 절차에서는 Tanzu Kubernetes Grid v2.2.x로 업그레이드한다고 가정합니다.
관리 및 워크로드 클러스터가 실행 중인 OS 및 Kubernetes 버전 라인의 최신 Tanzu Kubernetes Grid OVA를 다운로드합니다.
예를 들어 Photon v3 이미지의 경우:
Ubuntu 20.04 이미지:
중요보안 패치 릴리스가 있는 경우 가장 최근의 OVA 기본 이미지 템플릿을 다운로드해야 합니다. Tanzu Kubernetes Grid 제품 다운로드 페이지에서 보안 패치가 포함된 업데이트된 기본 이미지 템플릿을 찾을 수 있습니다.
설치 관리자 프롬프트에 따라 OVA에서 VM을 배포합니다.
tkg-user
)를 Tanzu Kubernetes Grid 역할이 있는 템플릿(예: TKG
)에 할당합니다. vSphere에 관리 클러스터 배포 준비에서 이 사용자와 역할을 생성했습니다.OVA 파일을 다운로드한 각 Kubernetes 버전에 이 절차를 반복합니다.
VMware Cloud on AWS SDDC 호환성
VMware Cloud on AWS에 배포된 워크로드 클러스터를 업그레이드하는 경우 기존 배포에서 사용하는 기본 SDDC(소프트웨어 정의 데이터 센터) 버전이 업그레이드하려는 Tanzu Kubernetes Grid 버전과 호환되는지 확인합니다.
SDDC의 버전을 보려면 VMware Cloud 콘솔의 SDDC 타일에서 세부 정보 보기(View Details)를 선택하고 지원(Support) 창을 클릭합니다.
Tanzu Kubernetes Grid와의 호환성을 검증하려면 VMware 제품 상호 운용성 매트릭스를 참조하십시오.
지원되는 Kubernetes 버전을 포함하는 Amazon Linux 2 Amazon AMI(시스템 이미지)는 지원되는 모든 AWS 지역에서 모든 AWS 사용자가 공개적으로 사용할 수 있습니다. Tanzu Kubernetes Grid는 업그레이드할 때 지정한 Kubernetes 버전에 적합한 AMI를 자동으로 사용합니다.
약간에 동의하려면 다음을 수행합니다.
Azure Marketplace에서 Tanzu Kubernetes Grid에 사용할 수 있는 모든 VM 이미지를 나열합니다.
az vm image list --publisher vmware-inc --offer tkg-capi --all
새 기본 VM 이미지의 약관에 동의합니다.
az vm image terms accept --urn publisher:offer:sku:version
예를 들어 Tanzu Kubernetes Grid v2.2.x, k8s-1dot25dot7-ubuntu-2004
의 기본 VM 이미지 약관에 동의하려면 다음을 실행합니다.
az vm image terms accept --urn vmware-inc:tkg-capi:k8s-1dot25dot7-ubuntu-2004:2021.05.17
워크로드 클러스터를 기본이 아닌 Kubernetes 버전(예: v1.24.11 또는 v1.23.17)으로 업그레이드하려는 경우 클러스터 VM에 사용하려는 기본이 아닌 각 버전에 대한 약관에 동의합니다.
이 단계는 독립형 관리 클러스터가 있는 TKG에만 필요합니다. vSphere with Tanzu Supervisor와 함께 TKG를 실행하는 경우 vSphere의 일부로 Supervisor를 업그레이드하고 해당 TKr을 업그레이드하여 Supervisor의 Kubernetes 버전을 업데이트합니다.
이 단계는 주요 v2.1.x에서 v2.2.x로의 업그레이드와 v2.2.x에서 v2.2.y로의 업그레이드에 모두 필요합니다.
Tanzu Kubernetes Grid를 업그레이드하려면 배포의 모든 관리 클러스터를 업그레이드해야 합니다. 워크로드 클러스터를 관리하는 관리 클러스터를 업그레이드할 때까지 워크로드 클러스터를 업그레이드할 수 없습니다.
독립형 관리 클러스터 업그레이드의 절차에 따라 관리 클러스터를 업그레이드합니다.
이 단계는 주요 v2.1.x에서 v2.2.x로의 업그레이드와 v2.2.x에서 v2.2.y로의 업그레이드에 모두 필요합니다.
워크로드 클러스터 업그레이드의 절차에 따라 워크로드를 실행하는 워크로드 클러스터를 업그레이드합니다.
클러스터를 업그레이드한 후에는 업그레이드 프로세스를 완료하기 위해 수행해야 하는 추가 단계가 있습니다.
관리 클러스터에 기본적으로 설치되는 일부 패키지(예: cert-manager
)는 워크로드 및 공유 서비스 클러스터에 CLI 관리 패키지로 설치할 수 있습니다. 관리 클러스터가 최신 Tanzu Kubernetes Grid 릴리스로 업그레이드되면 기본 패키지가 자동으로 업데이트됩니다.
서로 다른 워크로드 클러스터에서 서로 다른 버전의 CLI 관리 패키지를 실행할 수 있습니다. 워크로드 클러스터에서 지원되는 최신 버전의 CLI 관리 패키지 또는 이전에 설치된 Tanzu Kubernetes Grid의 마지막 두 버전에 있는 패키지 버전을 실행할 수 있습니다. 예를 들면 다음과 같습니다. 최신 패키징된 cert-manager
버전이 v1.10.1이고 이전 두 Tanzu Kubernetes Grid 설치가 워크로드 클러스터에서 cert-manager
v1.7.2 및 v1.5.3로 실행된 경우 워크로드 클러스터에서 cert-manager
버전 v1.10.1, v1.7.2, v1.5.3을 실행할 수 있습니다.
관리 클러스터의 패키지 버전보다 오래된 n-2 설치 Tanzu Kubernetes Grid 버전인 패키지 버전을 실행하는 워크로드 클러스터의 경우, 패키지 저장소를 업데이트한 다음(패키지 저장소 업데이트 참조) 워크로드 클러스터에서 패키지를 업그레이드해야 합니다(패키지 업데이트 참조). 패키지 버전을 업그레이드하지 않으면 패키지 저장소에 n-2 이전 버전의 패키지가 포함되지 않을 수 있기 때문에 패키지 구성을 업데이트할 수 없습니다.
중요워크로드 클러스터에 Prometheus를 설치하고 워크로드 클러스터를 Kubernetes v1.25로 업그레이드하는 경우 Prometheus를 버전
2.37.0+vmware.3-tkg.1
로 업그레이드해야 합니다. 이전 버전의 Prometheus 패키지(예: 버전2.37.0+vmware.1-tkg.1
)는 Kubernetes 1.25와 호환되지 않습니다.
클러스터가 vSphere, AWS 또는 Azure에서 실행 중인지 여부에 따라 클러스터를 업그레이드한 후 수행해야 하는 작업이 있습니다.
TKG v2.1 설치에서 NSX ALB를 사용하도록 설정하지 않은 경우 NSX ALB를 설치하는 방법에 대한 자세한 내용은 NSX Advanced Load Balancer 설치 및 구성을 참조하십시오.
TKG v2.1 설치에서 NSX ALB를 사용하도록 설정한 경우 이 릴리스에서 Avi 컨트롤러 버전이 지원되는 Tanzu Kubernetes Grid v2.2 릴리스 정보를 참조하고, 필요한 경우 Avi 컨트롤러를 호환되는 버전으로 업그레이드하십시오. Avi 컨트롤러를 업그레이드하는 방법은 Avi Vantage의 유연한 업그레이드를 참조하십시오.
이전에 클러스터를 설치하지 않은 경우 Tanzu Kubernetes Grid 설치를 v2.2 이상으로 업그레이드한 후 다음 절차에 따라 AWS EBS CSI 드라이버를 설치합니다.
AWS EBS CSI 드라이버의 사용 권한을 부여합니다.
export AWS_REGION={YOUR_AWS_REGION}
tanzu mc permissions aws set
CSI 스토리지를 사용하는 각 워크로드 클러스터에 다음을 수행합니다.
다음 환경 변수를 내보내고 기능 플래그를 설정합니다.
export _TKG_CLUSTER_FORCE_ROLE="management"
export FILTER_BY_ADDON_TYPE="csi/aws-ebs-csi-driver"
export NAMESPACE="tkg-system"
export DRY_RUN_MODE="legacy"
tanzu config set features.cluster.allow-legacy-cluster true
위의 예에서 NAMESPACE
를 클러스터의 네임스페이스인 tkg-system
으로 설정합니다.
CSI 드라이버 매니페스트를 생성합니다.
tanzu cl create ${TARGET_CLUSTER_NAME} --dry-run -f ~/MANAGEMENT_CLUSTER_CREATE_CONFIG.yaml > csi-driver-addon-manifest.yaml
여기서 TARGET_CLUSTER_NAME
은 CSI 드라이버를 설치하는 클러스터의 이름입니다.
워크로드 클러스터의 네임스페이스로 csi-driver-addon-manifest.yaml
의 메타데이터에 있는 암호의 네임스페이스를 업데이트합니다. kubectl get cluster -A
명령을 사용하여 클러스터의 네임스페이스를 확인합니다.
관리 클러스터의 컨텍스트에 변경 내용을 적용합니다.
kubectl apply -f csi-driver-addon-manifest.yaml
다음 환경 변수 및 기능 플래그를 설정 해제합니다.
unset _TKG_CLUSTER_FORCE_ROLE
unset FILTER_BY_ADDON_TYPE
unset NAMESPACE
unset DRY_RUN_MODE
tanzu config set features.cluster.allow-legacy-cluster false
CSI 스토리지를 사용하는 관리 클러스터의 경우:
다음 환경 변수를 내보냅니다.
export _TKG_CLUSTER_FORCE_ROLE="management"
export FILTER_BY_ADDON_TYPE="csi/aws-ebs-csi-driver"
export NAMESPACE="tkg-system"
export DRY_RUN_MODE="legacy"
tanzu config set features.cluster.allow-legacy-cluster true
위의 예에서 NAMESPACE
를 클러스터의 네임스페이스인 tkg-system
으로 설정합니다.
CSI 드라이버 매니페스트를 생성합니다.
tanzu mc create ${MANAGEMENT_CLUSTER_NAME} --dry-run -f ~/MANAGEMENT_CLUSTER_CREATE_CONFIG.yaml > csi-driver-addon-manifest.yaml
여기서 MANAGEMENT_CLUSTER_NAME
은 관리 클러스터의 이름입니다.
관리 클러스터의 네임스페이스로 csi-driver-addon-manifest.yaml
의 메타데이터에 있는 암호의 네임스페이스를 업데이트합니다. kubectl get cluster -A
명령을 사용하여 클러스터의 네임스페이스를 확인합니다.
관리 클러스터의 컨텍스트에 변경 내용을 적용합니다.
kubectl apply -f csi-driver-addon-manifest.yaml
다음 환경 변수 및 기능 플래그를 설정 해제합니다.
unset _TKG_CLUSTER_FORCE_ROLE
unset FILTER_BY_ADDON_TYPE
unset NAMESPACE
unset DRY_RUN_MODE
tanzu config set features.cluster.allow-legacy-cluster false
이전에 클러스터를 설치하지 않은 경우 Tanzu Kubernetes Grid 설치를 v2.2 이상으로 업그레이드한 후 다음 절차에 따라 Azure Disk CSI 드라이버를 설치합니다.
다음 환경 변수를 내보내고 기능 플래그를 설정합니다.
export _TKG_CLUSTER_FORCE_ROLE="management"
export FILTER_BY_ADDON_TYPE="csi/azuredisk-csi-driver"
export NAMESPACE="tkg-system"
export DRY_RUN_MODE="legacy"
tanzu config set features.cluster.allow-legacy-cluster true
위의 예에서 NAMESPACE
를 클러스터의 네임스페이스인 tkg-system
으로 설정합니다.
CSI 스토리지를 사용하는 각 워크로드 클러스터에 다음을 수행합니다.
CSI 드라이버 매니페스트를 생성합니다.
tanzu cl create ${TARGET_CLUSTER_NAME} --dry-run -f ~/MANAGEMENT_CLUSTER_CREATE_CONFIG.yaml > csi-driver-addon-manifest.yaml
여기서 TARGET_CLUSTER_NAME
은 CSI 드라이버를 설치하는 클러스터의 이름입니다.
워크로드 클러스터의 네임스페이스로 csi-driver-addon-manifest.yaml
의 메타데이터에 있는 암호의 네임스페이스를 업데이트합니다. kubectl get cluster -A
명령을 사용하여 클러스터의 네임스페이스를 확인합니다.
관리 클러스터의 컨텍스트에 변경 내용을 적용합니다.
kubectl apply -f csi-driver-addon-manifest.yaml
다음 환경 변수 및 기능 플래그를 설정 해제합니다.
unset _TKG_CLUSTER_FORCE_ROLE
unset FILTER_BY_ADDON_TYPE
unset NAMESPACE
unset DRY_RUN_MODE
tanzu config set features.cluster.allow-legacy-cluster false
CSI 스토리지를 사용하는 관리 클러스터의 경우:
다음 환경 변수를 내보냅니다.
export _TKG_CLUSTER_FORCE_ROLE="management"
export FILTER_BY_ADDON_TYPE="csi/azuredisk-csi-driver"
export NAMESPACE="tkg-system"
export DRY_RUN_MODE="legacy"
tanzu config set features.cluster.allow-legacy-cluster true
위의 예에서 NAMESPACE
를 클러스터의 네임스페이스인 tkg-system
으로 설정합니다.
CSI 드라이버 매니페스트를 생성합니다.
tanzu mc create ${MANAGEMENT_CLUSTER_NAME} --dry-run -f ~/MANAGEMENT_CLUSTER_CREATE_CONFIG.yaml > csi-driver-addon-manifest.yaml
여기서 MANAGEMENT_CLUSTER_NAME
은 관리 클러스터의 이름입니다.
관리 클러스터의 네임스페이스로 csi-driver-addon-manifest.yaml
의 메타데이터에 있는 암호의 네임스페이스를 업데이트합니다. kubectl get cluster -A
명령을 사용하여 클러스터의 네임스페이스를 확인합니다.
관리 클러스터의 컨텍스트에 변경 내용을 적용합니다.
kubectl apply -f csi-driver-addon-manifest.yaml
다음 환경 변수 및 기능 플래그를 설정 해제합니다.
unset _TKG_CLUSTER_FORCE_ROLE
unset FILTER_BY_ADDON_TYPE
unset NAMESPACE
unset DRY_RUN_MODE
tanzu config set features.cluster.allow-legacy-cluster false
Tanzu Kubernetes Grid 업그레이드 후 Azure 파일 CSI 드라이버 설치
이전에 클러스터를 설치하지 않은 경우 Tanzu Kubernetes Grid 설치를 v2.2 이상으로 업그레이드한 후 다음 절차에 따라 파일 CSI 드라이버를 설치합니다.
다음 환경 변수를 내보내고 기능 플래그를 설정합니다.
export _TKG_CLUSTER_FORCE_ROLE="management"
export FILTER_BY_ADDON_TYPE="csi/azurefile-csi-driver"
export NAMESPACE="tkg-system"
export DRY_RUN_MODE="legacy"
tanzu config set features.cluster.allow-legacy-cluster true
위의 예에서 NAMESPACE
를 클러스터의 네임스페이스인 tkg-system
으로 설정합니다.
CSI 스토리지를 사용하는 각 워크로드 클러스터에 다음을 수행합니다.
CSI 드라이버 매니페스트를 생성합니다.
tanzu cl create ${TARGET_CLUSTER_NAME} --dry-run -f ~/MANAGEMENT_CLUSTER_CREATE_CONFIG.yaml > csi-driver-addon-manifest.yaml
여기서 TARGET_CLUSTER_NAME
은 CSI 드라이버를 설치하는 클러스터의 이름입니다.
워크로드 클러스터의 네임스페이스로 csi-driver-addon-manifest.yaml
의 메타데이터에 있는 암호의 네임스페이스를 업데이트합니다. kubectl get cluster -A
명령을 사용하여 클러스터의 네임스페이스를 확인합니다.
관리 클러스터의 컨텍스트에 변경 내용을 적용합니다.
kubectl apply -f csi-driver-addon-manifest.yaml
다음 환경 변수 및 기능 플래그를 설정 해제합니다.
unset _TKG_CLUSTER_FORCE_ROLE
unset FILTER_BY_ADDON_TYPE
unset NAMESPACE
unset DRY_RUN_MODE
tanzu config set features.cluster.allow-legacy-cluster false
CSI 스토리지를 사용하는 관리 클러스터의 경우:
다음 환경 변수를 내보냅니다.
export _TKG_CLUSTER_FORCE_ROLE="management"
export FILTER_BY_ADDON_TYPE="csi/azurefile-csi-driver"
export NAMESPACE="tkg-system"
export DRY_RUN_MODE="legacy"
tanzu config set features.cluster.allow-legacy-cluster true
위의 예에서 NAMESPACE
를 클러스터의 네임스페이스인 tkg-system
으로 설정합니다.
CSI 드라이버 매니페스트를 생성합니다.
tanzu mc create ${MANAGEMENT_CLUSTER_NAME} --dry-run -f ~/MANAGEMENT_CLUSTER_CREATE_CONFIG.yaml > csi-driver-addon-manifest.yaml
여기서 MANAGEMENT_CLUSTER_NAME
은 관리 클러스터의 이름입니다.
관리 클러스터의 네임스페이스로 csi-driver-addon-manifest.yaml
의 메타데이터에 있는 암호의 네임스페이스를 업데이트합니다. kubectl get cluster -A
명령을 사용하여 클러스터의 네임스페이스를 확인합니다.
관리 클러스터의 컨텍스트에 변경 내용을 적용합니다.
kubectl apply -f csi-driver-addon-manifest.yaml
다음 환경 변수 및 기능 플래그를 설정 해제합니다.
unset _TKG_CLUSTER_FORCE_ROLE
unset FILTER_BY_ADDON_TYPE
unset NAMESPACE
unset DRY_RUN_MODE
tanzu config set features.cluster.allow-legacy-cluster false
이 단계는 주요 v2.1.x에서 v2.2.x로의 업그레이드와 v2.2.x에서 v2.2.y로의 업그레이드에 모두 필요합니다.
충돌 복구 및 진단을 업그레이드하는 방법에 대한 자세한 내용은 충돌 복구 및 진단 바이너리 설치 또는 업그레이드를 참조하십시오.
업그레이드된 관리 클러스터를 검토하거나 Tanzu Mission Control에 등록합니다. 새로 배포된 독립형 관리 클러스터 검사 및 등록을 참조하십시오.