[번역] vSphere 7 with Kubernetes Network Service Part 1 The Supervisor Cluster

출처 : https://blogs.vmware.com/vsphere/2020/05/vsphere-7-with-kubernetes-network-service-part-1-the-supervisor-cluster.html

Cloud-Native-Apps-Icon-2020.png

vSphere 7 with Kubernetes을 사용하면 운영 팀은 핵심 플랫폼의 일부로 인프라와 애플리케이션 서비스를 모두 제공할 수 있다. 네트워크 서비스는 vSphere에 내장된 Kubernetes 클러스터와 vSphere용 Tanzu Kubernetes Grid 서비스를 통해 구축된 Tanzu Kubernetes 클러스터 모두에 소프트웨어 정의 네트워킹의 자동화를 제공한다. 서비스라는 용어가 다소 과부하가 걸렸다. 이런 맥락에서, 나는 Kubernetes 서비스를 특별히 언급하는 것이 아니라, 제품 전체에 걸쳐 기술적으로 몇 가지 기술로 구성된 특정 기능을 기술적으로 설명하는 보다 포괄적인 용어를 말하고 있다. 이 블로그와 데모 비디오는 두 부분 중 첫 번째 부분이며 vSphere Network 서비스를 통해 Supervisor 클러스터의 자동화된 네트워킹을 살펴볼 것이다. Tanzu Kubernetes 클러스터 네트워킹에 대한 후속 블로그가 소개될 것이다.

vSphere 7 with Kubernetes 서비스

그 출발점으로 vSphere 7 with Kubernetes을 통해 노출된 서비스를 간략하게 살펴보도록 한다. 운영 팀은 vSphere Client의 간단한 마법사를 통해 vSphere 클러스터에서 Supervisor Kubernetes 클러스터를 사용하도록 설정한다. 그 슈퍼바이저 클러스터는 우리가 운영 팀과 DevOps 팀 모두에서 소비할 수 있는 서비스를 구축한 Kubernetes 의 백본을 제공한다. Tanzu Runtime Services에서 처음으로 노출된 서비스는 vSphere용 Tanzu Kubernetes 그리드 서비스다. TKG 서비스를 통해 DevOps 팀은 온디맨드 방식으로 Kubernetes 클러스터를 라이프사이클링할 수 있다. TKG 서비스는 Hybrid Infrastructure Services를 활용하여 VM 생성, 네트워킹 및 스토리지 구성, 컨테이너 레지스트리 제공, 심지어 ESXi 호스트에 직접 포드 배포까지 한다. 우리의 초점은 네트워크 서비스다.

Picture1.png

네트워크 서비스는 Supervisor 클러스터에서 사용되는 기본 소프트웨어 정의 네트워킹에 대한 추상화를 제공한다. 현재 버전의 vSphere 7 with Kubernetes에는 네트워킹 서비스 제공업체로서 NSX-T에 대한 지원이 포함되어 있다. 운영 팀은 NSX T 3.0을 배포하고 vSphere Network Service는 NSX Container Plugin(NCP)을 통해 작동하여 Kubernetes 클러스터가 사용하는 네트워킹 리소스의 라이프사이클을 자동화한다. vSphere 7 with Kubernetes에 대한 기술 개요를 보려면 다음 링크를 클릭한다.

vSphere Network Service 및 NSX

NSX는 비NSX 워크로드를 연결하는 버전 7.0 vSphere Distributed Switch에서 직접 생성된 포트 그룹을 사용하도록 구성할 수 있다. NSX 전용 VDS는 필요 없다. 내 랩에서는 NSX 오버레이 네트워크가 vDS-Transport 포트 그룹에 구성되어 있다. vCenter 관리 네트워크는 VC와 NSX Manager 간의 통신 및 Supervisor Control 평면 노드에도 사용된다. vDS -Uplink 포트 그룹은 비NSX 네트워크에 연결하는 트래픽을 전송한다.

vSphere 7.0 Distributed Switch Configuration

Picture2.png

vSphere 7 with Kubernetes Supervisor 클러스터를 사용하도록 설정하면 네트워크 서비스는 VDS에 세그먼트 포트 그룹을 생성하며 해당 네트워크 세그먼트는 네트워크 세그먼트 간의 연결을 제공하는 Tier-1 게이트웨이와 함께 NSX에 생성된다. NSX 세그먼트 포트 그룹은 별도의 스위치에 생성되지 않고 현재 기존 VDS를 공유하고 있다는 점에 유의하십시오. NSX 세그먼트는 가상 시스템이나 포드를 연결할 수 있는 네트워크 연결을 제공합니다. VM 또는 포드는 동일한 세그먼트에 연결된 경우 하이퍼바이저 사이의 터널을 통해 서로 통신할 수 있다. 트래픽은 다른 세그먼트를 연결하기 위해 Tier-1 게이트웨이를 통해 라우팅된다. 이전 버전의 NSX에서는 세그먼트를 논리적 스위치라고 불렀다.

NSX 세그멘트 포트그룹이 있는 vSphere 7.0 Distributed Switch

Picture3.png

NSX Container Plugin(NCP)

NCP는 슈퍼바이저 클러스터 제어면에서 Kubernetes 파드로 실행되는 컨트롤러다. Kubernetes API를 통해 etcd에 추가된 네트워크 자원을 감시하고 NSX에서 해당 개체의 생성을 조정한다. 각 VDS 세그먼트 포트 그룹은 해당하는 NSX 세그먼트를 얻고 각 세그먼트는 슈퍼바이저 클러스터 배포에 정의된 포드 CIDR에서 네트워크 서브넷을 할당받는다. 세그먼트는 Tier-1 게이트웨이에 연결된다. 슈퍼바이저 제어면이 포함된 세그먼트는 외부 로드 밸런서에 연결된다.

NSX Manager Network 토폴로지

Picture4.png

 

네임스페이스 생성

VI 관리자는 vCenter에서 네임스페이스를 생성하십시오. 이렇게 하면 vCenter 네임스페이스 개체와 쿠버네티스 클러스터에서 모두 쿠버네티스 네임스페이스가 생성된다. 우리는 이것을 vSphere 네임스페이스라고 부른다. 각 네임스페이스에 대해 VDS 포트 그룹과 NSX 세그먼트도 생성된다. NSX 세그먼트는 기본적으로 수신 및 송신 트래픽을 거부하기 위해 NSX Distributed Firewall에 생성된 규칙을 통해 격리된다. DevOps 사용자는 쿠버네티스 Network Policy 통합을 활용하여 네임스페이스에 배포하는 애플리케이션에 대한 세분화된 액세스를 생성할 수 있다.

뱅킹 네임스페이스 NSX 세그멘트

Picture5.png

파드 및 로드 밸런서 유형 서비스 생성

사용자는 vSphere용 TKG 서비스를 사용하여 Tanzu Kubernetes 클러스터를 생성하고 이러한 클러스터에 파드 또는 vSphere 파드 서비스를 사용하여 슈퍼바이저 클러스터를 통해 ESXi 호스트에 직접 배포할 수 있다. 파드 슈퍼바이저 클러스터 배포의 경우, 해당 파드는 네임스페이스에 대해 NSX 세그먼트에 연결되고 해당 네임스페이스에 할당된 서브넷 범위에서 IP를 획득한다. 쿠버네티스 서비스는 포드에게 그룹화 및 서비스 검색을 제공한다. 로드 밸런서 유형 쿠버네티스 서비스를 통해 클러스터 외부에서 포드로 수신할 수 있음 로드 밸런서 유형 서비스를 생성하면 NCP가 초기 슈퍼바이저 클러스터 배포에서 생성된 로드 밸런서와 연결된 NSX 가상 서버 생성을 조정하게 된다. 가상 서버에는 서비스에 액세스하는 데 사용되는 IP 및 포트가 할당된다.

ESXi에서 포드 실행 – 네임스페이스 NSX 세그먼트에 연결

Picture6.png

행동으로 보자.

다음 시연에서는 Supervisor 클러스터의 고급 네트워크 구성 요소 아키텍처와 vSphere 네트워크 서비스가 vCenter 및 NSX에서 이러한 구성 요소의 생성을 자동화하는 방법을 보여 준다. vSphere 7 with Kubernetes에 대한 자세한 내용은 제품 페이지 https://www.vmware.com/products/vsphere.html를 참조하기 바란다.