vSphere 네임스페이스감독자의 네트워크 범위 테넌시입니다. vSphere 네임스페이스TKG 서비스 클러스터를 호스팅하고 네트워킹, 역할 사용 권한, 영구 스토리지, 리소스 할당량, 컨텐츠 라이브러리 및 VM 클래스 통합을 제공하는 데 사용됩니다.

vSphere 네임스페이스 네트워크

vSphere 네임스페이스 네트워크는 감독자 > 워크로드 네트워크 > 네임스페이스 네트워크에서 분할된 서브넷입니다. 네임스페이스 서브넷 접두사는 각 vSphere 네임스페이스에 대해 예약된 서브넷의 크기를 정의합니다. 기본값은 /28입니다.

vSphere 네임스페이스 네트워크는 TKG 클러스터에 대한 감독자 연결을 제공합니다. 기본적으로 vSphere 네임스페이스는 클러스터 수준 네트워크 구성을 사용하고 서브넷에서 IP 주소를 할당합니다. vSphere 네임스페이스를 생성하면 /28 오버레이 세그먼트 및 해당 IP 풀이 해당 vSphere 네임스페이스의 서비스 포드로 인스턴스화됩니다.

첫 번째 TKG 클러스터가 vSphere 네임스페이스에 프로비저닝되면 TKG 클러스터는 vSphere 네임스페이스와 동일한 서브넷을 공유합니다. 해당 vSphere 네임스페이스에 프로비저닝된 후속 TKG 클러스터 각각에 대해 해당 클러스터에 대한 새 서브넷이 생성되고 vSphere 네임스페이스 게이트웨이에 연결됩니다.

vSphere 네임스페이스에는 kubectl 트래픽을 각 TKG 클러스터 제어부로 라우팅하는 공유 로드 밸런서 인스턴스가 있습니다. 또한 TKG 클러스터에서 리소스가 제공되는 각 Kubernetes 서비스 로드 밸런서에 대해 해당 서비스에 대한 계층 4 로드 밸런서 인스턴스가 생성됩니다.

동일한 vSphere 네임스페이스 내의 TKG 클러스터는 North-South 연결을 위한 SNAT IP를 공유합니다. 네임스페이스 간의 East-West 연결은 SNAT가 아닙니다.

vSphere 네임스페이스는 일반적으로 라우팅할 수 없습니다. 그러나 NSX 네트워킹을 사용하는 경우 라우팅 가능한 서브넷으로 vSphere 네임스페이스 네트워크를 재정의할 수 있습니다. vSphere 네임스페이스에 대한 워크로드 네트워크 설정 재정의의 내용을 참조하십시오.

vSphere 네임스페이스 리소스 풀

단일 vSphere 영역 감독자 배포에서 vSphere 네임스페이스를 생성하면 해당 네임스페이스를 지원하는 리소스 풀이 생성됩니다. vSphere 네임스페이스감독자에서 계산, 스토리지, 사용 권한, 클래스 및 이미지를 포함한 리소스의 논리적 단위를 제공합니다. 예를 들어, vSphere 네임스페이스에서 CPU 또는 메모리 제한을 구성하면 해당 네임스페이스를 지원하는 리소스 풀에 동일한 리소스 제한이 적용됩니다. 이런 방식으로 vSphere 네임스페이스감독자에서 다중 테넌시를 사용하도록 설정합니다.

동일한 다중 테넌트 환경이 3개 vSphere 영역에 배포된 감독자에 적용됩니다. 영역이 지정된 감독자vSphere 네임스페이스가 생성되면 시스템은 해당 감독자를 지원하는 각 vSphere 클러스터에 리소스 풀을 생성합니다. 이렇게 하면 해당 vSphere 네임스페이스에 프로비저닝된 TKG 클러스터를 이 감독자에 속하는 영역에 배포할 수 있습니다.

vSphere Client를 사용하면 호스트 및 클러스터 관점을 선택하여 vSphere 네임스페이스 리소스 풀 및 개체를 볼 수 있고 VM 및 템플릿 보기를 선택하여 볼 수도 있습니다. TKG 클러스터를 프로비저닝하면 대상 vSphere 네임스페이스에 생성됩니다. 영역이 지정된 감독자 배포에서는 각 vSphere 클러스터에 동일한 리소스 풀이 있습니다.

vSphere 네임스페이스 개체

TKG 서비스 클러스터용 vSphere 네임스페이스 스토리지

vSphere CNS(클라우드 네이티브 스토리지)는 Kubernetes 워크로드에 사용할 영구 볼륨 및 백업 가상 디스크의 프로비저닝을 지원하는 스토리지 정책을 제공합니다.

CSI(Container Storage Interface)는 Kubernetes가 컨테이너용 영구 스토리지를 프로비저닝하는 데 사용하는 업계 표준입니다. 감독자vSphere 네임스페이스를 통해 vSphere CNS 스토리지를 Kubernetes 환경에 연결하는 CNS-CSI 드라이버를 실행합니다. vSphere CNS-CSI는 vSphere 네임스페이스의 TKG 클러스터에서 전송되는 모든 스토리지 프로비저닝 요청에 대해 CNS 제어부와 직접 통신합니다.

TKG 클러스터는 TKG 클러스터에서 시작되는 모든 스토리지 관련 요청을 담당하는 수정된 버전의 vSphere CNS-CSI 드라이버를 실행합니다. 요청은 감독자의 CNS-CSI로 전달된 다음 vCenter Server의 CNS로 전파됩니다.

이 다이어그램은 vSphere 네임스페이스, 감독자 및 TKG 클러스터 스토리지 메커니즘 간의 관계를 보여줍니다.

""

TKG 서비스 클러스터용 영구 스토리지 볼륨

Kubernetes의 상태 저장 애플리케이션에는 영구 볼륨이 필요합니다. 영구 볼륨에 대한 자세한 내용은 Kubernetes 설명서를 참조하십시오.

vSphere 환경에서 영구 볼륨 개체는 데이터스토어에 상주하는 가상 디스크로 백업됩니다. 데이터스토어는 스토리지 정책으로 표시됩니다. vSphere 스토리지 정책을 vSphere 네임스페이스에 할당하면 스토리지 정책을 해당 네임스페이스의 각 TKG 클러스터에 대한 Kubernetes 스토리지 클래스로 사용할 수 있습니다.

TKG는 영구 볼륨의 동적 및 정적 프로비저닝을 지원합니다. 동적 프로비저닝을 사용하면 영구 볼륨을 미리 프로비저닝할 필요가 없습니다. vSphere 네임스페이스에서 사용할 수 있는 스토리지 클래스를 참조하는 PVC(영구 볼륨 할당)를 발급합니다. TKG는 백업 가상 디스크로 해당 영구 볼륨을 자동으로 프로비저닝합니다. 영구 스토리지 볼륨을 동적으로 생성의 내용을 참조하십시오.

정적 프로비저닝을 사용하면 기존 스토리지 개체를 사용하여 클러스터에서 사용할 수 있습니다. 영구 볼륨은 기존 스토리지 개체, 지원되는 구성 및 마운트 옵션의 세부 정보를 제공하여 정의합니다. 영구 스토리지 볼륨을 정적으로 생성의 내용을 참조하십시오.

이 다이어그램은 동적 영구 볼륨 프로비저닝 워크플로를 보여줍니다. TKG 클러스터에서 kubectl을 사용하여 PVC를 생성합니다. 이 작업은 감독자에서 일치하는 PVC를 생성하고 CNS 볼륨 생성 API를 호출하는 CNS-CSI 드라이버를 트리거합니다.

""

TKG 서비스 클러스터용 스토리지 클래스 버전

vSphere 네임스페이스를 구성하려면 하나 이상의 vSphere 스토리지 정책을 할당합니다. vSphere 스토리지 정책이 적용되면 Kubernetes 스토리지 클래스로 변환되고 감독자에 복제됩니다. 마찬가지로 TKG 컨트롤러는 해당 vSphere 네임스페이스에 배포된 각 TKG 클러스터에 스토리지 클래스를 복제합니다.

TKG 클러스터 측에 두 가지 버전의 스토리지 클래스가 표시됩니다. 하나는 vSphere 스토리지 정책이 생성될 때 지정된 사용자 정의 이름이 있는 버전이고 다른 하나는 이름에 *-latebinding이 추가된 버전입니다.

스토리지 클래스의 지연 바인딩 버전은 TKG 포드 스케줄러에서 계산 노드를 선택한 후 개발자가 영구 스토리지 볼륨에 바인딩하는 데 사용할 수 있습니다. 사용할 스토리지 클래스와 사용 시기에 대한 자세한 내용은 영구 볼륨에 스토리지 클래스 사용 항목을 참조하십시오.
kubectl get sc
NAME                                    PROVISIONER              RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
wcpglobal-storage-profile               csi.vsphere.vmware.com   Delete          Immediate              true                   2m43s
wcpglobal-storage-profile-latebinding   csi.vsphere.vmware.com   Delete          WaitForFirstConsumer   true                   2m43s

vSphere 네임스페이스 생성

vSphere 네임스페이스를 생성하는 방법에는 여러 가지가 있습니다.

관리자는 vSphere Client를 사용하여 vSphere 네임스페이스를 생성할 수 있습니다. TKG 서비스 클러스터 호스팅을 위한 vSphere 네임스페이스 생성의 내용을 참조하십시오.

vSphere 네임스페이스에 대한 소유자 역할 사용 권한이 부여된 vCenter Single Sign-On 사용자는 kubectl을 사용하여 셀프 서비스 방식으로 vSphere 네임스페이스를 생성할 수 있습니다. Kubectl을 사용하여 vSphere 네임스페이스 생성 사용의 내용을 참조하십시오.

VMware는 vSphere 네임스페이스의 수명 주기 관리를 위해 vCenter Server API를 노출하고 다음을 비롯한 SDK(소프트웨어 개발 키트)를 제공합니다.
  • 네임스페이스 관리 APIvSphere 네임스페이스를 관리하기 위한 REST 기반 리소스를 제공합니다.
  • 네임스페이스 APIvSphere 네임스페이스에서 주체의 액세스 제어를 관리하기 위한 REST 기반 리소스를 제공합니다.
  • vSphere Automation SDK for JavavSphere 네임스페이스의 생성 및 수명 주기 관리를 자동화하기 위한 몇 가지 패키지를 제공합니다.
  • 마찬가지로 vSphere Automation SDK for PythonvSphere 네임스페이스의 생성 및 수명 주기 관리를 자동화하기 위한 몇 가지 패키지를 제공합니다.