vSphere 클러스터에서 vSphere IaaS control plane를 사용하도록 설정하고 클러스터가 감독자가 되면 하이퍼바이저 계층 내에 Kubernetes 제어부가 생성됩니다. 이 계층에는 ESXi 내에서 Kubernetes 워크로드를 실행하는 기능이 있는 특정 개체가 포함되어 있습니다.

그림 1. 감독자 일반 아키텍처

이 다이어그램은 vSphere IaaS control plane 상위 수준 아키텍처를 보여줍니다. 맨 위에는 Tanzu Kubernetes Grid, 중간에는 감독자, 맨 아래에는 ESXi, 네트워킹 및 스토리지가 있으며 이를 관리하는 vCenter Server가 있습니다.

맨 위에는 Tanzu Kubernetes Grid가 있고, 중간에는 감독자, 맨 아래에는 ESXi, 네트워킹 및 스토리지가 있는 아키텍처입니다. vCenter Server가 이들을 관리합니다.

감독자는 계산용 ESXi, NSX 또는 VDS 네트워킹, vSAN 또는 다른 공유 스토리지 솔루션으로 구성된 SDDC 계층의 위에서 실행됩니다. 공유 스토리지는 vSphere 포드의 영구 볼륨, 감독자 내에서 실행되는 VM, Tanzu Kubernetes Grid 클러스터의 포드에 사용됩니다. 감독자가 생성된 후에 vSphere 관리자는 감독자 내에 vSphere 네임스페이스를 생성할 수 있습니다. DevOps 엔지니어는 vSphere 포드 내에서 실행되는 컨테이너로 구성된 워크로드를 실행하고, VM 서비스를 통해 VM을 배포하고, Tanzu Kubernetes Grid 클러스터를 생성할 수 있습니다.

3개의 vSphere 영역에 감독자를 배포하여 Kubernetes 워크로드를 클러스터 수준 장애로부터 보호하는 클러스터 수준 고가용성을 제공할 수 있습니다. vSphere 영역은 독립 장애 도메인으로 설정할 수 있는 하나의 vSphere클러스터에 매핑됩니다. 3영역 배포에서는 vSphere 클러스터 3개 모두가 하나의 감독자가 됩니다. 감독자를 하나의 vSphere 클러스터에 배포하면 vSphere 영역이 자동으로 생성되고 클러스터에 매핑됩니다. 또는 영역에 이미 매핑된 vSphere 클러스터를 사용할 수도 있습니다. 단일 클러스터 배포에서 감독자는 vSphere HA에서 제공하는 호스트 수준 고가용성만 지원합니다.

그림 2. 3영역 감독자 아키텍처

세 영역이 있는 아키텍처이며, 세 개의 vSphere 영역에 배포된 감독자 위에 있는 vSphere 네임스페이스 위에서 TKG 클러스터가 실행됩니다.

3영역 감독자에서는 VM 서비스를 사용하여 생성된 VM 및 Tanzu Kubernetes Grid 클러스터에서 Kubernetes 워크로드를 실행할 수 있습니다. 3영역 감독자에는 다음과 같은 구성 요소가 있습니다.

  • 감독자 제어부 VM. 총 3개의 감독자제어부 VM이 감독자에 생성됩니다. 3영역 배포에서는 각 영역에 하나의 제어부 VM이 있습니다. 3개의 감독자 제어부 VM 각각에는 고유한 IP 주소가 있으므로 로드 균형이 조정됩니다. 또한 VM 중 하나에 부동 IP 주소가 할당되고 다섯 번째 IP 주소는 패치 적용 용도로 예약됩니다. vSphere DRS는 감독자의 ESXi 호스트 부분에서 제어부 VM의 정확한 배치를 결정하고 필요할 때 마이그레이션합니다.
  • Tanzu Kubernetes Grid 및 클러스터 API. 감독자에서 실행되고 Tanzu Kubernetes Grid 클러스터의 프로비저닝 및 관리를 사용하도록 설정하는 모듈입니다.
  • 가상 시스템 서비스와 같은 경보가 표시됩니다. 독립형 VM 및 Tanzu Kubernetes Grid 클러스터를 구성하는 VM의 배포 및 실행을 담당하는 모듈입니다.

3영역 감독자에서 영역에 매핑된 각 vSphere 클러스터에 네임스페이스 리소스 풀이 생성됩니다. 네임스페이스는 각 영역의 vSphere 클러스터 3개 모두에 분산됩니다. 3영역 감독자의 네임스페이스에 사용되는 리소스는 기본 vSphere 클러스터 3개 모두에서 동일한 양이 사용됩니다. 예를 들어 300MHz의 CPU를 할당하면 각 vSphere 클러스터에서 100MHz가 사용됩니다.

그림 3. 단일 클러스터 감독자 아키텍처

1개 영역 감독자이며, VM Operator, Cluster API, Tanzu Kubernetes Grid, 제어부 VM 및 Spherelet 모듈이 있습니다.

단일 vSphere 클러스터에 배포된 감독자에는 클러스터의 ESXi 호스트 부분에 상주하는 3개의 제어부 VM도 있습니다. 단일 클러스터 감독자에서는 Tanzu Kubernetes Grid 클러스터 및 VM 외에 vSphere 포드를 실행할 수 있습니다. vSphere DRS는 감독자 제어부 VM의 Kubernetes 스케줄러와 통합되므로 DRS가 vSphere 포드의 배치를 결정합니다. DevOps 엔지니어가 vSphere 포드을 스케줄링하는 경우, 요청은 일반 Kubernetes 워크플로를 거쳐서 DRS로 이동하여 최종 배치 결정을 내립니니다.

vSphere 포드 지원 덕분에 단일 클러스터 감독자에는 다음과 같은 추가 구성 요소가 있습니다.

  • Spherelet. Spherelet이라는 추가 프로세스는 각 호스트에 생성됩니다. kubelet은 기본적으로 ESXi로 이식되고 ESXi 호스트가 Kubernetes 클러스터의 일부가 되도록 허용합니다.
  • CRX(Container Runtime Executive) 구성 요소. CRX는 Hostd와 vCenter Server의 관점에서 VM과 유사합니다. CRX에는 하이퍼바이저와 함께 작동하는 반가상화 Linux 커널이 포함되어 있습니다. CRX는 VM과 동일한 하드웨어 가상화 기술을 사용하며 주변에 VM 경계가 있습니다. 직접 부팅 기술이 사용되기 때문에 CRX의 Linux 게스트가 커널 초기화를 통해 전달하지 않고도 기본 초기화 프로세스를 시작할 수 있습니다. 따라서 vSphere 포드가 거의 컨테이너만큼 빠르게 부팅할 수 있습니다.