Tanzu Kubernetes 릴리스 버전을 업그레이드하여 Tanzu Kubernetes 클러스터를 업데이트합니다.

Tanzu Kubernetes 릴리스 버전을 업그레이드하여 Tanzu Kubernetes 클러스터의 롤링 업데이트를 시작할 수 있습니다. 이 작업을 수행하는 방법은 사용 중인 Tanzu Kubernetes Grid 서비스 API의 버전에 따라 달라집니다.
TKGS API 버전 버전 업데이트 방법
v1alpha2 API 클러스터 매니페스트의 spec.topology.controlPlane.tkr.refernece.namespec.topology.nodePools[*].tkr.reference.name 속성에서 TKR NAME 문자열을 업데이트합니다. 클러스터 규격이 TKGS v1alpha2 API로 변환된 후 Tanzu Kubernetes 릴리스 업데이트의 내용을 참조하십시오.
v1alpha1 API 클러스터 매니페스트의 spec.distribution.versionspec.distribution.fullVersion 속성에서 DISTRIBUTION 버전을 업데이트합니다. 아래를 참조하십시오.

사전 요구 사항

Tanzu Kubernetes 클러스터 업데이트를 위한 사전 요구 사항이 완료되었는지 확인합니다. Tanzu Kubernetes 클러스터 업데이트의 내용을 참조하십시오.

이 작업은 kubectl edit tanzukubernetescluster/CLUSTER-NAME 명령을 사용하여 클러스터 매니페스트를 업데이트합니다. kubectl edit 명령은 KUBE_EDITOR 또는 EDITOR 환경 변수로 정의된 텍스트 편집기에서 클러스터 매니페스트를 엽니다. 파일을 저장하면 클러스터가 변경 사항으로 업데이트됩니다. kubectl용 기본 텍스트 편집기 지정의 내용을 참조하십시오.

프로시저

  1. 감독자 클러스터로 인증합니다. vCenter Single Sign-On 사용자로 감독자 클러스터에 연결의 내용을 참조하십시오.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. 대상 Tanzu Kubernetes 클러스터가 프로비저닝된 vSphere 네임스페이스로 컨텍스트를 전환합니다.
    kubectl config use-context SUPERVISOR-NAMESPACE
  3. 대상 Tanzu Kubernetes 클러스터 및 버전을 가져옵니다.
    kubectl get tanzukubernetescluster
    예를 들어 TKGS v1alpha2 API를 사용한 결과는 다음과 같습니다.
    kubectl get tanzukubernetescluster
    NAMESPACE        NAME            CONTROL PLANE   WORKER   TKR NAME                             AGE    READY   TKR COMPATIBLE   UPDATES AVAILABLE
    tkgs-cluster-1   test-cluster    3               3        v1.21.2---vmware.1-tkg.1.ee25d55     38h    True    True             [1.21.2+vmware.1-tkg.1.ee25d55]
    예를 들어 TKGS v1alpha1 API를 사용한 결과는 다음과 같습니다.
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.19.16+vmware.1-tkg.1.df910e2  19h   running
  4. 사용 가능한 Tanzu Kubernetes 릴리스를 나열합니다.
    kubectl get tanzukubernetesreleases
  5. 다음 명령을 실행하여 클러스터 매니페스트를 편집합니다.
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
  6. Tanzu Kubernetes 릴리스를 업데이트하여 매니페스트를 편집합니다. 이 작업을 수행하는 방법은 사용 중인 TKGS API의 버전에 따라 달라집니다.
    TKGS v1alpha2 API를 사용하는 경우 TKR NAME 문자열을 업데이트합니다. 클러스터 규격이 TKGS v1alpha2 API로 변환된 후 Tanzu Kubernetes 릴리스 업데이트의 내용을 참조하십시오.
    TKGS v1alpha1 API를 사용하는 경우 예를 들면 다음에서:
    spec:
      distribution:
        fullVersion: v1.19.16+vmware.1-tkg.1.df910e2
        version: v1.19.16
    다음으로 업데이트합니다.
    spec:
      distribution:
        fullVersion: null
        version: v1.20.12
    참고: TKGS v1alpha1 API를 사용하는 경우, 정규화된 버전을 지정하거나 버전 바로 가기를 사용할 수 있습니다. 예를 들어, version: v1.20.12는 해당 패치 버전과 일치하는 최신 이미지로 확인되며 version: v1.20은 일치하는 최신 패치 버전으로 확인됩니다. 확인된 버전은 클러스터 매니페스트에서 fullVersion으로 표시됩니다. 바로 가기를 사용하여 버전 업그레이드를 수행하려면 검색 중에 잠재적인 버전 불일치를 방지하기 위해 fullVersion을 설정 해제하거나 null로 설정해야 합니다.
  7. 변경 내용을 매니페스트 파일에 적용합니다.
    파일을 저장하면 kubectl이 변경 내용을 클러스터에 적용합니다. 백그라운드에서 감독자 클러스터의 가상 시스템 서비스는 새 작업자 노드를 프로비저닝합니다.
  8. kubectl이 매니페스트 편집이 기록되었다고 보고하는지 확인합니다.
    kubectl edit tanzukubernetescluster/tkgs-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
    참고: 오류가 발생하거나 kubectl이 클러스터 매니페스트가 편집되었다고 보고하지 않는 경우에는 KUBE_EDITOR 환경 변수를 사용하여 기본 텍스트 편집기를 올바르게 구성했는지 확인합니다. kubectl용 기본 텍스트 편집기 지정의 내용을 참조하십시오.
  9. 클러스터가 업데이트되고 있는지 확인합니다.
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.20.12+vmware.1-tkg.1.b9a42f3  21h   updating
  10. 클러스터가 업데이트되었는지 확인합니다.
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.20.12+vmware.1-tkg.1.b9a42f3   22h   running