vSphere with Tanzu는 감독자와 Tanzu Kubernetes Grid 클러스터 및 이러한 클러스터를 지원하는 인프라에 대한 롤링 업데이트를 지원합니다.
감독자 및 Tanzu Kubernetes Grid 클러스터 업데이트 방법
vSphere with Tanzu는 감독자 및 Tanzu Kubernetes Grid 클러스터에 대해 롤링 업데이트 모델을 사용합니다. 롤링 업데이트 모델은 업데이트 프로세스 중에 클러스터 워크로드에 대한 다운타임을 최소화합니다. 롤링 업데이트에는 Kubernetes 소프트웨어 버전 및 Kubernetes 클러스터를 지원하는 인프라 및 서비스(예: 가상 시스템 구성 및 리소스, vSphere 네임스페이스, 사용자 지정 리소스)의 업그레이드가 포함됩니다.
감독자 업데이트와 Tanzu Kubernetes Grid 클러스터 업데이트 간의 종속성
감독자 및 Tanzu Kubernetes Grid 클러스터를 개별적으로 업데이트합니다. 하지만 이 둘 사이에는 종속성이 있습니다.
감독자를 업데이트하면 여기에 배포된 Tanzu Kubernetes Grid 클러스터의 롤링 업데이트가 트리거될 수 있습니다. vSphere 네임스페이스 업데이트를 수행하여 감독자 업데이트의 내용을 참조하십시오.
Tanzu Kubernetes Grid 클러스터가 대상 감독자 버전을 준수하지 않는 경우 감독자를 업데이트하기 전에 하나 이상의 Tanzu Kubernetes Grid 클러스터를 업데이트해야 할 수 있습니다. Tanzu Kubernetes Grid 업그레이드를 위한 감독자 클러스터 호환성 확인의 내용을 참조하십시오.
감독자 업데이트 정보
감독자 업데이트를 시작하면 시스템은 새 제어부 VM을 생성하고 이를 기존 감독자 제어부에 연결합니다. 이 업데이트 단계에서는 시스템이 업데이트된 새 VM을 추가한 다음 이전의 오래된 VM을 제거하므로 vSphere 인벤토리에 제어부 VM이 4개 표시됩니다. 개체가 이전 제어부 VM 중 하나에서 새 제어부 VM으로 마이그레이션되고 이전 제어부 VM은 제거됩니다. 이 프로세스는 모든 제어부 VM이 업데이트될 때까지 하나씩 반복됩니다. 모든 제어부 VM이 업데이트되면 작업자 노드는 유사한 롤링 업데이트 방식으로 업데이트됩니다. 작업자 노드는 ESXi 호스트이며 각 ESXi 호스트의 각 Spherelet 프로세스는 하나씩 업데이트됩니다.
- vSphere 네임스페이스를 업데이트합니다.
- VMware 버전 및 Kubernetes 버전을 포함한 모든 항목을 업데이트합니다.
vSphere 네임스페이스 업데이트
- vCenter Server를 업그레이드합니다.
- vSphere 네임스페이스 업데이트를 수행합니다(Kubernetes 업그레이드 포함).
vSphere 네임스페이스 업데이트를 수행하려면 vSphere 네임스페이스 업데이트를 수행하여 감독자 업데이트 항목을 참조하십시오.
모든 vSphere with Tanzu 구성 요소 업데이트
모든 vSphere with Tanzu 구성 요소를 업데이트하려면 모두 업데이트 워크플로를 사용합니다. 이런 유형의 업데이트는 주요 릴리스를 업데이트하는 경우에 필요합니다(예: NSX-T 3.X에서 4로, vSphere 7.x에서 8로).
- VMware 상호 운용성 매트릭스 https://interopmatrix.vmware.com/Interoperability에서 vCenter Server 및 NSX에 대한 호환성을 확인합니다. vSphere with Tanzu 기능은 vCenter Server와 함께 제공되는 WCP(워크로드 제어부) 소프트웨어를 통해 제공됩니다.
- 호환되는 경우 NSX를 업그레이드합니다.
- vCenter Server를 업그레이드합니다.
- vSphere Distributed Switch를 업그레이드합니다.
- ESXi 호스트를 업그레이드합니다.
- 프로비저닝된 Tanzu Kubernetes Grid 클러스터가 대상 감독자 버전과 호환되는지 확인합니다.
- vSphere 네임스페이스를 업데이트합니다(감독자 Kubernetes 버전 포함).
- Tanzu Kubernetes Grid 클러스터를 업데이트합니다.
Tanzu Kubernetes Grid 클러스터 업데이트 정보
감독자를 업데이트하면 해당 감독자에 배포된 Tanzu Kubernetes Grid 클러스터를 지원하는 인프라 구성 요소(예: Tanzu Kubernetes Grid 2.0)도 마찬가지로 업데이트됩니다. 각 인프라 업데이트에는 Tanzu Kubernetes Grid 2.0(CNI, CSI, CPI)을 지원하는 서비스에 대한 업데이트와 기존 Tanzu Kubernetes Grid 클러스터에 적용할 수 있는 제어부 VM 및 작업자 노드에 대한 업데이트된 구성 설정이 포함될 수 있습니다. 구성이 호환성 요구 사항을 충족하는지 확인하기 위해 vSphere with Tanzu는 롤링 업데이트 중에 사전 확인을 수행하고 규정 준수를 적용합니다.
Tanzu Kubernetes Grid 클러스터의 롤링 업데이트를 수행하려면 클러스터 매니페스트를 업데이트합니다. 감독자에서 TKG 2 클러스터 업데이트를 참조하십시오. 하지만 vSphere 네임스페이스 업데이트가 수행되면 시스템은 업데이트된 구성을 모든 Tanzu Kubernetes Grid 클러스터에 즉시 전파합니다. 이러한 업데이트는 Tanzu Kubernetes Grid 제어부 및 작업자 노드의 롤링 업데이트를 자동으로 트리거할 수 있습니다.
클러스터 노드를 교체하는 롤링 업데이트 프로세스는 Kubernetes 배포의 포드에 대한 롤링 업데이트와 비슷합니다. Tanzu Kubernetes Grid 클러스터의 롤링 업데이트를 수행하는 두 가지 개별 컨트롤러가 있습니다. 추가 기능 컨트롤러와 TanzuKubernetesCluster 컨트롤러입니다. 두 가지 컨트롤러 내에는 롤링 업데이트에 대한 세 가지 주요 단계인 추가 기능 업데이트, 제어부 업데이트 및 작업자 노드 업데이트 단계가 있습니다. 이러한 단계는 순서 대로 진행되며, 이전 단계가 충분히 진행될 때까지 단계를 시작하지 못하게 하는 사전 확인 기능이 있습니다. 이러한 단계가 불필요한 것으로 확인되면 건너뛸 수 있습니다. 예를 들어 업데이트가 작업자 노드에만 영향을 주기 때문에 추가 기능 또는 제어부 업데이트가 필요하지 않을 수 있습니다.
업데이트 프로세스 중에 시스템은 새 클러스터 노드를 추가하고 노드가 대상 Kubernetes 버전으로 온라인 상태가 될 때까지 기다립니다. 그런 다음, 시스템은 이전 노드를 삭제하도록 표시하고 다음 노드로 이동하여 프로세스를 반복합니다. 이전 노드는 모든 포드가 제거될 때까지 삭제되지 않습니다. 예를 들어, 노드가 완전히 드레이닝되는 것을 방지하는 PodDisruptionBudgets를 사용하여 포드를 정의하면 노드가 차단되지만 해당 포드를 제거할 때까지 제거되지 않습니다. 시스템은 모든 제어부 노드를 먼저 업그레이드한 후 작업자 노드를 업그레이드합니다. 업데이트하는 동안 Tanzu Kubernetes Grid 클러스터 상태가 "업데이트 중"으로 변경됩니다. 롤링 업데이트 프로세스가 완료되면 Tanzu Kubernetes Grid 클러스터 상태가 "실행 중"으로 변경됩니다.
복제 컨트롤러에서 관리되지 않는 Tanzu Kubernetes Grid 클러스터에서 실행되는 포드는 Tanzu Kubernetes Grid 클러스터 업데이트 동안 작업자 노드 드레이닝의 일부로 Kubernetes 버전 업그레이드 중에 삭제됩니다. 이는 클러스터 업데이트가 vSphere 네임스페이스 업데이트를 통해 수동으로 또는 자동으로 트리거되는 경우에 적용됩니다. 복제 컨트롤러에서 관리되지 않는 포드에는 배포 또는 ReplicaSet 규격의 일부로 생성되지 않는 포드가 포함됩니다. 자세한 내용은 Kubernetes 설명서에서 포드 수명 주기: 포드 수명 항목을 참조하십시오.