vSphere with Tanzu감독자 클러스터Tanzu Kubernetes Grid 서비스 클러스터 및 이러한 클러스터를 지원하는 인프라에 대한 롤링 업데이트를 지원합니다.

감독자 클러스터Tanzu Kubernetes Grid 서비스 클러스터 업데이트 방법

vSphere with Tanzu감독자 클러스터Tanzu Kubernetes Grid 서비스 클러스터에 대해 롤링 업데이트 모델을 사용합니다. 롤링 업데이트 모델은 업데이트 프로세스 중에 클러스터 워크로드에 대한 다운타임을 최소화합니다. 롤링 업데이트에는 Kubernetes 소프트웨어 버전 및 Kubernetes 클러스터를 지원하는 인프라 및 서비스(예: 가상 시스템 구성 및 리소스, vSphere 서비스 및 네임스페이스, 사용자 지정 리소스) 업그레이드가 포함됩니다.

업데이트가 성공하려면 구성이 몇 가지 호환성 요구 사항을 충족해야 합니다. 그래야 시스템이 재확인 조건을 적용하여 클러스터가 업데이트될 준비가 되었는지 확인하고 클러스터 업그레이드가 실패할 경우 롤백을 지원할 수 있습니다.
참고: vSphere with Tanzu 업데이트에는 Kubernetes 소프트웨어 버전을 업그레이드하는 것 이상이 포함됩니다. 이러한 프로세스는 "업데이트"라는 용어를 사용하여 설명합니다. "업그레이드"라는 용어는 소프트웨어 버전을 증가시키는 제한된 형태의 업데이트이기 때문입니다.

감독자 클러스터 업데이트와 Tanzu Kubernetes Grid 서비스 클러스터 업데이트 간의 종속성

감독자 클러스터Tanzu Kubernetes Grid 서비스 클러스터를 개별적으로 업데이트합니다. 하지만 이 둘 사이에는 종속성이 있습니다.

감독자 클러스터를 업데이트하면 여기에 배포된 Tanzu Kubernetes Grid 서비스 클러스터의 롤링 업데이트가 트리거될 수 있습니다. vSphere 네임스페이스 업데이트를 수행하여 감독자 클러스터 업데이트의 내용을 참조하십시오.

Tanzu Kubernetes Grid 서비스 클러스터가 대상 감독자 클러스터 버전을 준수하지 않는 경우 감독자 클러스터를 업데이트하기 전에 하나 이상의 Tanzu Kubernetes Grid 서비스 클러스터를 업데이트해야 할 수 있습니다. 업데이트를 위한 Tanzu Kubernetes 클러스터 호환성 확인의 내용을 참조하십시오.

감독자 클러스터 업데이트 정보

감독자 클러스터에 대한 업데이트를 시작하면 시스템은 새 제어부 노드를 생성하고 이를 기존 제어부에 연결합니다. 이 업데이트 단계에서 시스템은 업데이트된 새 노드를 추가한 후 오래된 이전 노드를 제거하기 때문에 vSphere 인벤토리에 4개의 제어부 노드가 표시됩니다. 개체가 이전 제어부 노드 중 하나에서 새 노드로 마이그레이션되고 이전 제어부 노드는 제거됩니다. 이 프로세스는 모든 제어부 노드가 업데이트될 때까지 하나씩 반복됩니다. 제어부가 업데이트되면 유사한 롤링 업데이트 방식으로 작업자 노드가 업데이트됩니다. 작업자 노드는 ESXi 호스트이며 각 ESXi 호스트의 각 Spherelet 프로세스는 하나씩 업데이트됩니다.

다음 업데이트 중에서 선택할 수 있습니다.
  • vSphere 네임스페이스를 업데이트합니다.
  • VMware 버전 및 Kubernetes 버전을 포함한 모든 항목을 업데이트합니다.
vSphere 네임스페이스 업데이트 워크플로를 사용하여 감독자 클러스터가 실행 중인 Kubernetes 버전을 업데이트(예: Kubernetes 1.16.7에서 Kubernetes 1.17.4로)하고 감독자 클러스터Tanzu Kubernetes Grid 서비스 클러스터를 지원하는 인프라를 업데이트할 수 있습니다. 이러한 유형의 업데이트는 더 빈번하며 Kubernetes 릴리스 속도와 보조를 맞추는 데 사용됩니다. vSphere 네임스페이스 업데이트 순서는 다음과 같습니다.
  1. vCenter Server를 업그레이드합니다.
  2. vSphere 네임스페이스 업데이트를 수행합니다(Kubernetes 업그레이드 포함).

vSphere 네임스페이스 업데이트를 수행하려면 vSphere 네임스페이스 업데이트를 수행하여 감독자 클러스터 업데이트 항목을 참조하십시오.

모든 vSphere with Tanzu 구성 요소를 업데이트하려면 모두 업데이트 워크플로를 사용합니다. 이런 유형의 업데이트는 주요 릴리스를 업데이트하는 경우에 필요합니다(예: NSX-T 3.X에서 4로, vSphere 7.X에서 8로). 이 업데이트 워크플로는 새로운 VMware 제품 릴리스가 있는 시기에 따라 드물게 발생합니다. 모두 업데이트 순서는 다음과 같습니다.
  1. VMware 상호 운용성 매트릭스 https://interopmatrix.vmware.com/Interoperability에서 vCenter ServerNSX-T Data Center에 대한 호환성을 확인합니다. vSphere with Tanzu 기능은 vCenter Server와 함께 제공되는 WCP(워크로드 제어부) 소프트웨어를 통해 제공됩니다.
  2. 호환되는 경우 NSX-T Data Center를 업그레이드합니다.
  3. vCenter Server를 업그레이드합니다.
  4. vSphere Distributed Switch를 업그레이드합니다.
  5. ESXi 호스트를 업그레이드합니다.
  6. 프로비저닝된 Tanzu Kubernetes Grid 서비스 클러스터가 대상 감독자 클러스터 버전과 호환되는지 확인합니다.
  7. vSphere 네임스페이스를 업데이트합니다(감독자 클러스터 Kubernetes 버전 포함).
  8. Tanzu Kubernetes Grid 서비스 클러스터를 업데이트합니다.
이 다이어그램은 vSphere with Tanzu 업데이트의 일반적인 워크플로를 보여줍니다. 이 다이어그램은 vSphere with Tanzu 업데이트의 단계를 보여줍니다.

Tanzu Kubernetes Grid 서비스 클러스터 업데이트 정보

감독자 클러스터를 업데이트하면 해당 감독자 클러스터에 배포된 Tanzu Kubernetes Grid 서비스 클러스터를 지원하는 인프라 구성 요소(예: Tanzu Kubernetes Grid 서비스)도 마찬가지로 업데이트됩니다. 각 인프라 업데이트에는 Tanzu Kubernetes Grid 서비스(CNI, CSI, CPI)를 지원하는 서비스에 대한 업데이트와 기존 Tanzu Kubernetes Grid 서비스 클러스터에 적용할 수 있는 제어부 및 작업자 노드에 대한 업데이트된 구성 설정이 포함될 수 있습니다. 구성이 호환성 요구 사항을 충족하는지 확인하기 위해 vSphere with Tanzu는 롤링 업데이트 중에 사전 확인을 수행하고 규정 준수를 적용합니다.

Tanzu Kubernetes Grid 서비스 클러스터의 롤링 업데이트를 수행하려면 클러스터 매니페스트를 업데이트합니다. Tanzu Kubernetes 클러스터 업데이트의 내용을 참조하십시오. 하지만 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 설명서에서 포드 수명 주기: 포드 수명 항목을 참조하십시오.