[번역] Tanzu Mission Control – Using Kubernetes to Manage Kubernetes

출처 : https://octo.vmware.com/tanzu-mission-control-using-kubernetes-manage-kubernetes/

brian-mcgowan-I0fDR8xtApA-unsplash-sized2-1440x556.png

Tanzu Mission Control은 VMware Tanzu의 일부분이다. VMware Tanzu는 애플리케이션 및 인프라를 현대화하는 데 필요한 제품 및 서비스 제품군으로, 지속적인 운영 환경에 더 나은 소프트웨어를 제공한다.

Tanzu 포트폴리오에 대해 자세히 사항.

TMC1.png

이 글에서는 Tanzu Mission Control(TMC)의 관리 부분-팀과 클라우드 전반에 걸쳐 쿠버네티스 인프라와 모던 애플리케이션을 일관성 있게 운영하고 보호하기 위한 중앙 집중식 관리 플랫폼-에 초점을 맞출 것이다.

왜 이것이 필요한가?

Tanzu Mission Control은 조직이 사내, 클라우드 및 여러 공급업체의 쿠버네티스 클러스터를 관리하는 문제를 극복할 수 있도록 도와준다. 점점 더 많은 고객이 여러 퍼블릭 클라우드에서 서비스를 활용하고 있으며, 물리 법칙 때문에 이러한 서비스와 가까운 쿠버네티스 워크로드를 실행하고 있다.

그 효과는 이러한 고객들이 TKG, PKS, OpenShift 등과 같은 다양한 공급업체와 많은 Kuberntes 클러스터를 운영하고 있다는 것을 알게 된다는 것이다. 그러면 각 클러스터는 조직이 운영해야 할 눈송이(snowflake)가 되고, 인프라, ID 제공자, 정책, 보안, 모니터링 메커니즘과 같은 것들은 공공 및 개인, 클라우드 관리 및 자체 관리 및 다른 벤더에 걸쳐 엄청난 노력을 필요로 한다. 소프트웨어를 개발하는 조직들이 낭비를 줄이고 운영을 자동화하려고 할 때, 그러한 복잡한 환경을 갖는 것은 그러한 목표를 달성하는 데 도움이 되지 않는다.

Tanzu Mission Control을 통해, 우리는 고객들에게 다양한 공급업체와 flavor들을 종합하여 쿠버네티스를 운영할 수 있는 능력을 제공한다.

어떻게 보면, 우리는 복잡성을 추상화하여 고객들이 쿠버네티스에서 가장 중요한 것에 집중할 수 있도록 하고 있다. 즉, 그 위에서 실행되는 애플리케이션과 서비스.

TMC2.png

Tanzu Mission Control의 메인 화면

오픈 소스를 기반으로 구축

쿠버네티스를 사용해서 쿠버네티스를 관리

Thanzu Mission Control(TMC)는 오픈 소스 수용 전략의 지속을 대표한다. Tanzu Mission Control을 통해 우리는 쿠버네티스의 관리 자체를 포함한 오퍼레이션을 위해 오픈소스 프로젝트를 활용하고 있다. 클러스터 활용클러스터 수명 주기 관리를 위한 API, 백업 및 복원을 위한 Velero, 컴플라이언스 테스트를 위한 Sonobuoy, 수신에 대한 Contour, Kubernetes 자체 등.

TMC3.png

이것으로 무엇을 할 수 있을까?

Tanzu Mission Control 관리 클러스터는 두 그룹으로 나뉜다.

  • Provisioned Clusters - Tanzu Mission Control 센터로 프로비저닝된 쿠버네티스 클러스터의 라이프사이클은 완전히 관리된다. 이 범주에는 vSphere, AWS 및 Azure의 자체 관리 클러스터가 포함된다. 클러스터 수명 주기를 배포 및 관리하는 메커니즘을 ClusterAPI라 한다. ClusterAPI에 대한 자세한 내용은 여기.
  • Attached Clusters - 운영관리를 위해 Tanzu Mission Control에 연결된 클러스터. 우리는 커뮤니티의 모범 사례에 부합하는 클러스터인 모든 conformant 쿠버네티스 클러스터를 연결하고 관리할 수 있다. 여기에서 conformant 클러스터에 대한 자세한 내용을 읽어보십시오. 모든 쿠버네티스 flavor는 자체 관리든 클라우드 관리든 Tanzu Mission Control에 부착되어 운영 관리를 받을 수 있다. 여기에는 EKS, AKS, GKE, PKS, Rancher, OpenShift (4.x), TKG 등이 포함된다.

Tanzu Mission Control – 주요 기능

TMC4.png

Attached Clusters

Tanzu Mission Control은 Attached Cluster에서 작업을 관리한다. 예에서 Tanzu Mission Control에 마이크로소프트 AKS 클러스터를 어태치할 것이다.

클러스터 그룹에 클러스터를 추가하고 클러스터를 설명하는 이름을 제공해야 한다.

TMC5.png

Tanzu Mission Control 내부의 어떤 클러스터나 오브젝트에 라벨을 만들 수 있으며, 이 라벨을 사용해서 자동화 및 조정 프로세스를 만들 수 있다. 등록 절차를 마치면 Tanzu Mission Control는 클러스터에 적용해야 할 YAML 파일을 출력할 겁니다. 이렇게 하면 클러스터가 서비스에 연결된다.

TMC6.png

일단 YAML 파일을 적용하면, Tanzu Mission Control는 그 클러스터를 제어하는 데 필요한 모든 오브젝트를 만들게 될 것이고, 등록 호출을 Tanzu Mission Control로 보내게 될 것이다.

TMC7.png

클러스터가 등록되고 정상 상태일 때의 모습이다.

TMC9.png

Provisioned Clusters

Tanzu Mission Control을 통해 vSphere, AWS, Azure IaaS 서비스(로드맵)에 "쉬운" 버튼이 있는 자체 관리 쿠버넷 클러스터를 배포할 수 있다. 클러스터를 배포할 수 있는 두 가지 옵션:

  • Development 클러스터 – 단일 가용성 영역에 있는 단일 제어부 노드.
  • Production 클러스터 — 여러 가용성 영역에 있는 세 개의 제어부 노드.

TMC10.png

두 번째 단계는 해당 클러스터에 대한 워커(worker)의 수와 유형을 선택하는 것이다.

TMC11.png
AWS에서 클러스터를 만드는 예

이 단계에서는 클러스터가 배포되며, 사용자가 클러스터를 프로비저닝할 수 있는 권한이 있는 지역에서 생성된 EC2 인스턴스를 볼 수 있다.

TMC12.png

이 예제에서는 중앙 제어부(Central Control Plane)에 표시된 것과 같이 동일한 영역에 프로비저닝된 클러스터가 여러 개 있다.

TMC13.png

위의 그림에서 클러스터 "openso-aws-cluster"는 1.16.4의 쿠베르네스를 가지고 있다. 그것에 첨부된 정보 메시지는 우리가 클러스터를 새로운 버전으로 업그레이드할 수 있다는 것을 의미한다.

TMC14.png

TMC15.png

업그레이드 버튼을 클릭하면 Tanzu Mission Control이 업그레이드 프로세스를 시작하고, Production 유형 클러스터는 워크로드의 다운타임 없이 카나리아(Seamless) 방식으로 업그레이드된다. Development 유형 클러스터는 단일 제어부 노드로 인해 업그레이드 시간 동안 약간의 다운타임을 경험하게 된다.

또한 클러스터 관리 보기의 노드 풀 탭에 있는 작업자의 크기를 조정하거나 줄일 수 있다.

TMC16.png

작업자 수를 변경하면 클러스터 크기가 조정된다.

클러스터 작업

프로비저닝된 클러스터와 연결된 클러스터 모두의 운영을 관리할 수 있다. 운영 창에서는 CPU 및 메모리 소비량, 워크로드 수, 네임스페이스, 노드 및 각 상태, 클러스터의 버전 및 인프라 공급자 등과 같은 클러스터 구성 요소의 상태 상태를 확인할 수 있다.

Tanzu Mission Control 구성요소의 건강도 알 수 있다.

TMC17.png

실행 중인 네임스페이스, 배포, 복제 세트 및 포드, 이러한 파일의 소스 YAML 파일을 볼 수 있다.

TMC18.png

TMC19.png

TMC20.png

아이덴티티 및 액세스

여러 클러스터에서 ID 및 액세스를 관리하는 것은 어려운 작업이다. Tanzu Mission Control을 통해 이러한 측면을 종합적으로 운용할 수 있으며, 복잡성을 줄이고 쿠버네티스 환경 전체의 보안을 높일 수 있다. 클러스터 그룹에 대한 사용 권한 계층을 확인하고 클러스터 그룹에서 직접 액세스 정책을 변경할 수 있으며, 이를 통해 다양한 DevOps 팀에게 각 클러스터로 별도로 이동할 필요 없이 필요한 클러스터에 대한 액세스를 허용할 수 있다.

TMC21.png

사용자 또는 팀이 클러스터 그룹에 액세스할 수 있도록 하려면 직접 액세스 정책을 생성하고 사용 권한 유형을 선택한다.

TMC22.png

사용자를 직접 액세스 정책에 추가하면 해당 클러스터에 관련된 Kubernetes 개체가 생성된다.

보안 정책

네트워크 정책, 이미지 레지스트리 정책 및 파드 보안 정책을 사용하면 벤더나 클라우드에 관계없이 모든 관리 클러스터에서 일관된 정책을 생성할 수 있다.

이 예에서는 사용자가 docker.io이 아닌 harbor.tanzuworld.com에서만 이미지를 추출하여 취약성을 방지하고 이러한 정책을 클러스터 그룹에 적용할 수 있도록 하는 이미지 레지스트리 정책의 구성을 볼 수 있다.

TMC23.png

다른 이미지 저장소에서 이미지를 가져오려고 하면 포드가 예약되지 않고 포드에 대한 큐브틀 설명에 오류 메시지가 표시된다:

TMC24.png

Conformance 및 규정 준수 검사

Tanzu Mission Control에 연결된 소노부이(Sonobuoy) 플러그인을 이용하면 탄Tanzu Mission Control에 의해 관리되고 있는 모든 클러스터를 검사할 수 있다.

심층 검사는 Kubernetes 클러스터에 대한 전반적인 적합성 테스트로, 적합성에 대한 주요 메시지는 다음과 같다.

"이러한 목표에 더 잘 봉사하기 위해 (CNCF의 보호 아래) 쿠버네티스 커뮤니티는 쿠버네츠 소프트웨어 적합성 인증(Kubernetes Software Conformance Certification) 프로그램을 운영하고 있다. 모든 공급업체는 CNCF의 검토 및 인증을 위한 적합성 시험 결과를 제출해야 하며, 이는 준수(Conformance) 구현을 공식적으로 인증해야 한다."

TMC25.png

검사를 시작하려면 "New Inspection" 태스크를 생성한다.

TMC26.png

검사가 완료되면 "View Inspection" 링크를 클릭하여 결과를 확인할 수 있다.

TMC27.png

보시다시피 278개의 다른 매개변수가 적합성 검사의 일부로 확인되고 있다. 이러한 적합성 시험은 오픈 소스 커뮤니티에서 생성된 모범 사례다. Sonubuoy 오픈 소스 프로젝트 플러그인을 활용하는 조직 정책에 따라 사용자 지정할 수 있다.

“Workspaces”

워크스페이스는 멀티클러스터, 멀티 네임스페이스 오브젝트로서 Tanzu Mission Control의 주요 논리구축 중 하나로 쿠버네티스 오퍼레이션을 더욱 추상화할 수 있다. 워크스페이스를 사용하면 모든 클러스터에서 여러 네임스페이스를 그룹화하고 ID 정책, 이미지 레지스트리 정책, 네트워크 정책, 백업 및 복원 정책을 전체적으로 적용할 수 있다.

이것이 우리가 사물의 애플리케이션 측면을 다루기 위해 클러스터에서 스택으로 올라가는 부분이다. 우리는 여러 클러스터에 걸쳐 있을 수 있는 애플리케이션을 위한 워크스페이스를 만든다. 테넌시(ennancy) 또는 워크로드 유형 또는 직무의 분리 등 고객이 다중 클러스터 애플리케이션을 구축해야 하는 이유는 여러 가지가 있다. 클러스터가 보안, ID 등과 같은 일부 측면에서 일관성을 유지하는 경우 클러스터가 다른 공유 애플리케이션 클러스터에 종속성을 갖는 것은 권장되지 않는다.

아래 예에서 우리는 "Hello" 앱의 개발팀을 위한 워크스페이스를 2개의 EKS 클러스터(개발용 1개, 프로드용 1개)에 만들었다. 이제 해당 클러스터에 있는 개발 팀에 액세스할 수 있게 되었다.

TMC28.png

TMC29.png

또는 앞의 예와 마찬가지로, 개발 팀이 조직의 내부 레지스트리에서만 이미지를 추출하도록 하고, 이 경우 이미지를 유지 관리하고 취약성을 검사한다(아래 '*.harbor.tanzuworld.com' 참조).

최종 생각

Tanzu Mission Control을 사용하면 단일 창을 만들 수 있고, 쿠버네티스와 그 주변의 오픈 소스 생태계를 활용하여 모든 순응적인 쿠버네티스 클러스터를 운영하고 관리할 수 있다. Tanzu Mission Control과 워크스페이스 구조를 통해 애플리케이션 컨텍스트로 전환하고 멀티 클러스터 환경 전반에서 애플리케이션을 관리하는 동시에 운영상의 일관성을 제공할 수 있다.

Tanzu Mission Control을 사용하면 모든 벤더에서 클라우드 네이티브 애플리케이션을 운영 및 관리할 수 있으며, 쿠버네티스를 공통의 기반으로 한다.