[번역] vSphere 7 – Introduction to Tanzu Kubernetes Grid Clusters

출처 : https://blogs.vmware.com/vsphere/2020/03/vsphere-7-tanzu-kubernetes-clusters.html

다른 모든 블로그 기사에서 볼 수 있듯이 vSphere 7에서 많은 새로운 자료를 이용할 수 있다! 또한 새로운 것은 vSphere Security 이외의 다른 작업에 종사하고 있다는 것이다(Bob Plankers는 현재 이를 보유하고 있다). 나의 새로운 초점은 vSphere with Kubernets와 그것이 전통적인 vSphere Administrator(VI Admin)에 어떤 영향을 미치는지에 관한 것이다.

보안에 종사하기 훨씬 전에 나는 전체 사업부를 서비스하는 VAXcluster 시스템과 나중에 OpenVMS 운영 체제 개발 팀을 운영하는 "시스템 관리자"(sysadmin)로 있었다. 그 이후로 기술은 꽤 많이 바뀌었지만, 도전은 여전히 기본적으로 똑같다. 이것이 vSphere 관리자의 요구와 경력은 나에게 매우 중요한 이유다.

고대사에 대해서는 충분한 것 같다. vSphere 관리자의 관점에서 "Tanzu Kubernetes Grid Clusters" —vSphere with Kubernetes의 큰 구성요소—를 살펴보자.

Cloud-Native-Apps-Icon-2020.png

“Tanzu Kubernetes Grid clusters”란?

2019년 VMworld에서 "Project Pacific"을 처음 발표했을 때, 이를 "Guest Clusters"라고 불렀다. 현재는 Tanzu Kubernetes Grid clusters 또는 "TKG 클러스터"로 불린다. 이 기능은 vSphere 7과 쿠버네티스를 통해 VMware Cloud Foundation 4.0의 일부로 제공된다.

참고: Kubernetes는 "K8S"로 약칭되는 경우가 많다 - "K"와 "S" 사이에는 8개의 문자가 있다...

TKG(Tanzu Kubernetes Grid) 클러스터는 vSphere Pod가 아닌 Supervisor 계층의 가상 머신 내부에서 실행되는 Kubernetes(K8s) 클러스터다. vSphere용 Tanzu Kubernetes Grid Service를 통해 활성화된다. TKG 클러스터는 오픈 소스 쿠버넷과 완전히 업스트림 호환되므로 모든 K8 애플리케이션 및 툴과 함께 작동하도록 보장된다. 그것만으로도 큰 장점이다.

vSphere의 TKG 클러스터는 라이프사이클 관리를 위해 오픈 소스 클러스터 API 프로젝트를 사용하며, 이는 VM 운영자를 사용하여 클러스터를 구성하는 VM을 관리한다. 아키텍처 레이아웃을 살펴본 다음 구성 요소에 대해 살펴봅시다.

1-Architecture-Tanzu-Kubernetes-Grid-768x365.png

이 도표의 용어:

  • SDDC: vSphere 인프라라고도 하는 Software-defined Data Center
  • vSphere Pod Service: vSphere Pod Service는 Linux 대신 ESXi를 worker 노드로 사용하는 특별한 종류의 Kubernetes 클러스터다.
    • VMware Principle Engineer Joe Beda(VMware Principle Engineer Joe Beda)는 쿠버네티스를 "플랫폼 플랫폼"으로 지칭한다. 즉, 쿠베르네스는 새로운 플랫폼을 구축하기 위한 플랫폼이다. 예를 들어, 쿠버네티스는 쿠버네티스와 같은 다른 플랫폼을 운영할 수 있다! 단지 컨테이너를 가동하는 것만이 아니다.
  • Namespace: 네임스페이스는 vSphere 관리자가 쿠버네티스 워크로드에 대한 리소스, 사용 권한, 정책 및 제어를 할당하는 데 필요한 거버넌스를 제공하는 관리 단위다. vSphere with Kubernetes에서 네임스페이스라는 용어는 다음 두가지 의미가 있다.

    • Kubernetes Namespace: 이것들은 Kubernets 내에서 자원 관리와 제어를 위해 사용된다. TKG 클러스터에서 개발자는 네임스페이스를 사용하여 애플리케이션의 특정 부분에 대한 액세스를 제어할 수 있다.

    • vSphere Namespace: 내 동료 Michael West는 VMworld 2019의 블로그 게시물에서 vSphere 네임스페이스를 소개했는데, vSphere 네임스페이스는 리소스 풀 및 vSphere 암호화 구현과 같은 vSphere 구성물과 일치한다.

  • Pod: 위의 이 예에서는 vSphere Pod다. 파드의 정의는 배치의 단위다. 리소스를 공유하는 하나 이상의 컨테이너를 실행한다.
  • Tanzu Kubernetes Cluster: 가상 머신에서 실행되는 완전히 conformant한 쿠버네티스 클러스터다. 위의 예에서는 개발자가 사용할 수 있는 Control Plan VM, 3개의 작업자 노드 및 전체 K8s 스택이 있다. 워커 VM에서 실행되고 있으며, 포드 내부에는 컨테이너가 있다.

vSphere Admin인 나에게 이것이 흥미로운 이유는 무엇인가?

생각해보면, vSphere Admin으로서 개발자들에게 공통적으로 연결되는 링크는 헬프 티켓팅 시스템을 통해서다. 개발자들은 티켓을 열고 자원을 요청한다. 가상 시스템, 네트워크 변경, 더 많은 스토리지 등 만약 vSphere 관리자가 그들에게 샌드박스를 할당하고 이러한 모든 요청을 셀프 서비스할 수 있는 방법을 제공할 수 있다면? 그것이 바로 쿠버네티스고, 이 당신을 위한 테이블에 가져다주는 것이다! 즉, IMHO, vSphere 관리자들의 패러다임 전환이다. 제가 설명해 드릴게요.

개발자는 쿠버네티스를 사용하여 YAML 파일을 통해 원하는 것을 선언하고 kubectl 명령을 사용하여 쿠버네티스에 전송할 수 있다. 그들은 "3개의 worker 노드를 실행하는 TKG 클러스터, 수신 네트워크, 모든 영구 데이터를 암호화하라"고 말할 수 있다. 그들이 네임스페이스에서 올바른 권한을 가지고 있다고 가정하면, 그러한 조치는 모두 기반구조에 의해 수행된다.

참고: vSphere 또는 NSX API를 배울 필요가 전혀 없었다! 그들은 단지 그들이 원하는 것을 선언하고 그것을 얻었다. 퍼블릭 클라우드의 K8s 인스턴스에서처럼.

다른 사용자가 워크로드를 실행 중이어도 걱정할 필요가 없다. 워크로드가 네임스페이스 및 NSX 네트워킹을 통해 격리되며 vSphere 가상 시스템 분리를 통해 격리됨 전통적으로 우리는 이것을 다세대(multitenancy)라고 불렀어! 나는 다른 블로그에서 네임스페이스에 대해 더 자세히 알아볼 것이다. 넌 그들을 사랑하게 될 거야, 약속할게.

TKG 클러스터가 나에게 중요한 이유는 무엇인가?

쿠버네티스가 포함된 vSphere는 vSphere 관리자에게 이러한 새로운 워크로드를 위한 안정적이고 안전하며 검증된 인프라의 제공자로서의 지위를 유지할 수 있는 기회를 제공하고 있다. 개발자들과의 미팅에서 당신은 이미 회사의 비즈니스 요구와 요구사항을 만족하는 플랫폼에서 실행되는 완전히 순응적인 Kubernetes 클러스터를 제공할 수 있다는 것을 그들에게 보여줄 수 있다. 백업, 컴플라이언스 요구 사항, 보안 검색, 재해 복구 및 고객 지원 등과 같은 사소한 사항으로 인해 새로운 hotness 구현을 서두를 때 "잊어버린다"고 할 수 있다. 이제 사람들이 K8s의 Shadow IT 복사본을 만들 이유가 없다. Shadow IT는 내가 말하는 모든 고객의 큰 관심사다.

어떤 가시성을 얻을 수 있는가?

이것은 훌륭한 질문이다. 나는 오랫동안 고객들이 사람들에게 자원을 매핑할 수 없다고 말하는 것을 들었다. 그들은 VM의 태그나 창조적인 이름을 사용하겠지만, 그것은 실제로 그들에게 따뜻하고 흐릿한 느낌을 주지는 않는다. 개발자가 TKG 클러스터를 회전시키면 vSphere 클라이언트에서 이를 확인한다. 각 TKG 클러스터에는 특정 중앙 집중식 관리 기능을 제공하는 에이전트가 포함되어 있다. 게스트 에이전트는 클러스터의 내용을 vCenter UI에서 볼 수 있도록 허용한다. 또한 vCenter 관리자는 게스트 클러스터에 승인 컨트롤러, 정책 개체 및 스캐너를 설치하여 클러스터를 관리하는 정책을 설정할 수 있다.

vSphere Client에서 네임스페이스가 표시되는 방식:

2-Namespaces-vSphere-Client.png

이 이미지는 사용자 Fred에게 할당된 데모 네임스페이스를 보여준다. 그 네임스페이스에서 프레드는 "dev-cluster"라고 불리는 TKG 클러스터를 만들었다. 클러스터 작업자 노드 가상 시스템 3개와 클러스터 제어부 가상 시스템이 3개 있다. 이러한 worker 노드에서는 nginx의 세 가지 인스턴스가 실행되고 있다.

또한 할당된 스토리지 정책을 확인하십시오. 이러한 맵은 vSphere 스토리지 기반 정책 관리 값, 예: "고성능-ssd."

가상 시스템과 관련한 컴퓨팅 관점에서 클러스터를 살펴봅시다.

3-Cluster-Compute-vSphere-Client-1536x615.png이미지에서 "dev-cluster" TKG 클러스터를 구성하는 6개의 VM, 실행 중인 VM 이미지, 생성 시간 및 VM 클래스를 확인하십시오.

다음 이미지는 Tanzu Kubernetes의 관점에서 동일한 클러스터를 보여준다.

4-Tanzu-Kubernetes-Cluster-View-1536x882.png

여기서 "dev-cluster", 작업자 노드 수, 클러스터의 쿠버네티스 버전 및 Control Plane의 IP 주소를 볼 수 있다. 개발자가 kubectl 명령을 통해 연결하기 위해 사용하는 IP 주소다.

다음 이미지는 TKG 클러스터의 네트워킹을 보여준다.

5-Networking-in-Tanzu-Kubernetes-Grid-Clusters-1536x604.png

네트워킹 창에서 "dev-cluster" TKG 클러스터에 관련된 모든 네트워킹을 볼 수 있다. 클러스터에서 실행 중인 워크로드와 Control Plane의 이름을 가진 경우 또한 IP 주소와 로드 밸런서의 주소인지 여부도 볼 수 있다. 열려 있는 포트도 볼 수 있으며 이 클러스터가 외부 IP 주소, 수신 또는 Endpoint 컨트롤러를 사용하는 경우 이러한 포트도 볼 수 있다.

물론 이 모든 정보는 vSphere Client에 있으므로 vSphere API를 통해서도 사용할 수 있다는 의미도 된다.

마치면서

여기 있습니다. vSphere with Kubernetes가 TKG Clusters를 실행하고 있으며, vSphere 관리자가 선택한 툴에서 vSphere Administrator를 완벽하게 파악할 수 있다. 이 글은 단지 소개에 불과했기 때문에 나는 앞으로 몇 달 동안 너와 더 많은 것을 공유하게 될 것이다. VMworld에 가까워질수록 이러한 블로그는 소개 레벨 블로그로 시작되어 더욱 심도있게 탐색할 수 있을 것이다.

이 정보가 도움이 되기를 바라며 vSphere 관리자에 대한 vSphere with Kubernetes에 대한 질문이나 다루기를 원하는 항목이 있으면 Twitter로 DM을 보내주십시오. @mikefoley

읽어줘서 고마워!

mike