워크로드 클러스터 업그레이드

이 항목에서는 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의 단일 노드 클러스터를 참조하십시오.

사전 요구 사항

인프라 사전 요구 사항

vSphere
vSphere에서 실행되는 클러스터를 업그레이드하는 경우 클러스터를 Tanzu Kubernetes Grid 버전의 기본값이 아닌 Kubernetes 버전으로 업그레이드하려면 먼저 vSphere에서 적절한 기본 이미지 템플릿 OVA를 VM 템플릿으로 사용할 수 있어야 합니다. OVA 파일을 vSphere 가져오는 방법에 대한 자세한 내용은 클러스터 업그레이드 준비vSphere 탭을 참조하십시오.
AWS
AWS(Amazon Web Services)에서 실행되는 클러스터를 업그레이드하는 경우 지원되는 Kubernetes 버전을 포함하는 Amazon Linux 2 Amazon Machine Images(AMI)를 지원되는 모든 AWS 지역에서 모든 AWS 사용자가 공개적으로 사용할 수 있습니다. Tanzu Kubernetes Grid는 업그레이드할 때 지정한 Kubernetes 버전에 적합한 AMI를 자동으로 사용합니다.
Azure
Azure에서 실행되는 클러스터를 업그레이드하는 경우 클러스터 업그레이드 준비Azure 탭에 있는 단계를 완료했는지 확인합니다.


절차

업그레이드 프로세스는 워크로드 클러스터의 모든 제어부 및 Worker 노드에서 Kubernetes 버전을 업그레이드합니다.

  1. 사용 가능한 관리 클러스터의 대화형 목록을 보고 업그레이드할 클러스터를 관리하는 관리 클러스터를 선택하려면 tanzu login 명령을 실행합니다.

    tanzu login
    
  2. 워크로드 클러스터를 나열하려면 다음을 실행합니다.

    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
    
  3. 관리 클러스터에서 사용할 수 있는 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
    
  4. 이전 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로 업그레이드해야 합니다.

  5. Azure에서 클러스터가 실행 중인 경우 클러스터를 업그레이드하기 전에 AZURE_CLIENT_SECRET 환경 변수를 설정합니다.

    export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
    
  6. 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
    
  7. 업그레이드가 완료되면 tanzu cluster list 명령을 실행하여 워크로드 클러스터가 업그레이드되었는지 확인합니다.

    tanzu cluster list --include-management-cluster -A
    
  8. 관리자 kubeconfig를 다시 생성합니다.

    tanzu cluster kubeconfig get CLUSTER-NAME --admin
    

    여기서 CLUSTER-NAME은 워크로드 클러스터의 이름입니다.

    중요

    업그레이드 후 kubeconfig를 갱신하지 않으면 클러스터가 만료되면 액세스할 수 없습니다.

  9. LDAP 또는 OIDC ID 제공자를 사용하는 경우 kubectl을 사용하여 클러스터에 인증할 수 있는지 확인합니다. 예:

    kubectl get pods -A --kubeconfig my-cluster-credentials
    
  10. 워크로드 클러스터에서 실행 중인 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 워크로드 클러스터 생성 및 관리를 참조하십시오.

check-circle-line exclamation-circle-line close-line
Scroll to top icon