Tanzu 미션 컨트롤 소개

오늘 우리는 작년 VMWorld 컨퍼런스에서 발표된 새로운 제품 및 서비스 라인인 VMware Tanzu에 대해 이야기하고 싶습니다. 가장 흥미로운 도구 중 하나인 Tanzu Mission Control이 의제에 포함되어 있습니다.

주의하세요. 컷 아래에 이미지가 많이 있습니다.

Tanzu 미션 컨트롤 소개

미션 컨트롤이란?

회사 자체가 블로그에서 밝혔듯이 VMware Tanzu Mission Control의 주요 목표는 "클러스터 혼란에 질서를 부여하는 것"입니다. Mission Control은 관리자가 클러스터 또는 클러스터 그룹에 정책을 적용하고 보안 규칙을 설정할 수 있는 API 기반 플랫폼입니다. SaaS 기반 도구는 에이전트를 통해 Kubernetes 클러스터에 안전하게 통합되며 수명 주기 관리 작업(배포, 확장, 삭제 등)을 포함한 다양한 표준 클러스터 작업을 지원합니다.

В основе идеологии линейки Tanzu лежит максимальное использование open-source технологий. Для управления жизненным циклом кластеров Tanzu Kubernetes Grid используется Cluster API, Velero — для бэкапов и восстановления, Sonobuoy — для контроля соответствия конфигурации кластеров Kubernetes и Contour в качестве ингресс-контроллера.

Tanzu Mission Control 기능의 일반 목록은 다음과 같습니다.

  • 모든 Kubernetes 클러스터의 중앙 집중식 관리
  • IAM(신원 및 액세스 관리);
  • 클러스터 상태 진단 및 모니터링;
  • 구성 및 보안 설정 관리
  • 정기적인 클러스터 상태 점검 예약
  • создание резервных копий и восстановление;
  • 할당량 관리;
  • 자원 활용도를 시각적으로 표현합니다.

Tanzu 미션 컨트롤 소개

왜 중요한가?

Tanzu Mission Control은 기업이 온프레미스, 클라우드 및 여러 타사 제공업체에 위치한 대규모 Kubernetes 클러스터를 관리하는 문제를 해결하는 데 도움이 됩니다. 조만간 IT와 관련된 활동을 하는 회사는 서로 다른 공급자에 위치한 많은 이기종 클러스터를 지원해야 한다는 사실을 깨닫게 됩니다. 각 클러스터는 유능한 조직, 적절한 인프라, 정책, 보호, 모니터링 시스템 등이 필요한 눈덩이로 변합니다.

오늘날 모든 기업은 비용을 절감하고 일상적인 프로세스를 자동화하기 위해 노력하고 있습니다. 그리고 복잡한 IT 환경은 비용 절감과 우선순위 작업 집중을 촉진하지 않습니다. Tanzu Mission Control은 조직이 운영 모델을 조화시키면서 여러 공급자에 배포된 여러 Kubernetes 클러스터를 운영할 수 있는 기능을 제공합니다.

솔루션 아키텍처

Tanzu 미션 컨트롤 소개

Tanzu Mission Control은 Kubernetes 클러스터 및 클러스터 그룹에 적용할 수 있는 고도로 구성 가능한 정책 세트에 대한 액세스를 사용자에게 제공하는 다중 테넌트 플랫폼입니다. 각 사용자는 리소스(클러스터 그룹 및 작업공간)의 "루트"인 조직에 연결됩니다.

Tanzu 미션 컨트롤 소개

Что умеет Tanzu Mission Control

위에서 우리는 이미 솔루션의 기능 목록을 간략하게 나열했습니다. 이것이 인터페이스에서 어떻게 구현되는지 살펴보겠습니다.

기업의 모든 Kubernetes 클러스터에 대한 단일 보기:

Tanzu 미션 컨트롤 소개

새 클러스터 만들기:

Tanzu 미션 컨트롤 소개

Tanzu 미션 컨트롤 소개

그룹을 클러스터에 즉시 할당할 수 있으며 클러스터는 할당된 정책을 상속합니다.

클러스터 연결:

Tanzu 미션 컨트롤 소개

이미 존재하는 클러스터는 특수 에이전트를 사용하여 간단히 연결할 수 있습니다.

클러스터 그룹화:

Tanzu 미션 컨트롤 소개

클러스터 그룹에서는 클러스터를 그룹화하여 수동 개입 없이 그룹 수준에서 할당된 정책을 즉시 상속할 수 있습니다.

작업 공간:

Tanzu 미션 컨트롤 소개

여러 네임스페이스, 클러스터 및 클라우드 인프라 내에 있는 애플리케이션에 대한 액세스를 유연하게 구성하는 기능을 제공합니다.

실험실 작업에서 Tanzu Mission Control의 작동 원리를 자세히 살펴보겠습니다.

연구실 #1

Разумеется, детально представить себе работу Mission Control и новых решений Tanzu без практики достаточно сложно. Для того, чтобы вы могли изучить основные возможности линейки, VMware предоставляют доступ к нескольким лабораторным стендам. На этих стендах можно выполнить лабораторные работы, используя пошаговые инструкции. Помимо собственно Tanzu Mission Control для тестирования и изучения доступны и другие решения. С полным списком лабораторных работ можно ознакомиться 이 페이지에서.

Для практического ознакомления с различными решениями (включая небольшую «игру» по vSAN) отводится разное время. Не волнуйтесь, это весьма условные цифры. Например, лабу по Tanzu Mission Control при прохождении из дома можно «решать» до 9 с половиной часов. Кроме того, даже если таймер выйдет, можно будет вернуться и пройти всё заново.

실험실 작업 #1 통과
실습에 액세스하려면 VMware 계정이 필요합니다. 승인 후, 작업의 주요 개요가 포함된 팝업 창이 열립니다. 자세한 지침은 화면 오른쪽에 표시됩니다.

После прочтения небольшой вводной части о Tanzu вам будет предложено пройти практику в интерактивной симуляции Mission Control.

새로운 Windows 컴퓨터 팝업 창이 열리고 몇 가지 기본 작업을 수행하라는 메시지가 표시됩니다.

  • 클러스터를 생성
  • 기본 매개변수 구성
  • 페이지를 새로 고치고 모든 것이 올바르게 구성되었는지 확인하세요.
  • задать политики и произвести проверку кластера
  • создать рабочее пространство
  • 네임스페이스 생성
  • снова поработать с политиками, каждый шаг подробно разъясняется в руководстве
  • демо-апгрейд кластера


물론 대화형 시뮬레이션은 독립적인 연구를 위한 충분한 자유를 제공하지 않습니다. 개발자가 미리 설정한 레일을 따라 이동합니다.

연구실 #2

여기서 우리는 이미 더 심각한 문제를 다루고 있습니다. 이 실험실 작업은 이전 작업만큼 "레일"에 묶여 있지 않으며 더 신중한 연구가 필요합니다. 여기서는 전체 내용을 제시하지 않을 것입니다. 시간을 절약하기 위해 두 번째 모듈만 분석하겠습니다. 첫 번째 모듈은 Tanzu Mission Control 작업의 이론적 측면을 다룹니다. 원하신다면 혼자서 모든 과정을 진행할 수 있습니다. 이 모듈에서는 Tanzu Mission Control을 통한 클러스터 수명주기 관리에 대해 자세히 설명합니다.

참고: Tanzu Mission Control 실험실 작업은 정기적으로 업데이트되고 개선됩니다. 실습을 완료하면서 화면이나 단계가 아래 내용과 다른 경우 화면 오른쪽의 지침을 따르세요. 우리는 이 글을 쓰는 시점의 LR의 현재 버전을 살펴보고 핵심 요소를 고려할 것입니다.

실험실 작업 #2 통과
VMware Cloud Services에서 인증 프로세스를 마친 후 Tanzu Mission Control을 시작합니다.

Tanzu 미션 컨트롤 소개

Первый шаг, предлагаемый лабораторией, — развертывание кластера Kubernetes. Сначала нам необходимо получить доступ к ВМ с Ubuntu с помощью PuTTY. Запускаем утилиту и выбираем сеанс с Ubuntu.

Tanzu 미션 컨트롤 소개

세 가지 명령을 차례로 실행합니다.

  • 클러스터 생성: kind create cluster --config 3node.yaml --name=hol
  • KUBECONFIG 파일 로드 중: export KUBECONFIG="$(kind get kubeconfig-path --name="hol")"
  • 노드 출력: kubectl get nodes

Tanzu 미션 컨트롤 소개

이제 생성한 클러스터를 Tanzu Mission Control에 추가해야 합니다. PuTTY에서 Chrome으로 돌아가서 클러스터로 이동하여 클러스터 연결.
드롭다운 메뉴에서 그룹을 선택합니다. 디폴트 값, вписываем предлагаемое лабой имя и нажимаем 바이낸스(BINANCE) 가입하기.

Tanzu 미션 컨트롤 소개

수신된 명령을 복사하고 PuTTY로 이동합니다.

Tanzu 미션 컨트롤 소개

수신된 명령을 실행합니다.

Tanzu 미션 컨트롤 소개

진행 상황을 추적하려면 다른 명령어를 실행하세요. watch kubectl get pods -n vmware-system-tmc. 모든 컨테이너가 상태를 가질 때까지 기다립니다. 달리는 또는 진행완료.

Tanzu 미션 컨트롤 소개

Возвращаемся в Tanzu Mission Control и нажимаем 연결 확인. 모든 것이 순조롭게 진행되었다면 모든 확인 표시가 녹색이어야 합니다.

Tanzu 미션 컨트롤 소개

Теперь создадим новую группу кластеров и развернем там новый кластер. Идем в Cluster groups и нажимаем 새 클러스터 그룹. 이름을 입력하고 클릭하세요. 몹시 떠들어 대다.

Tanzu 미션 컨트롤 소개

Новая группа сразу должна появиться в списке.

Tanzu 미션 컨트롤 소개

새 클러스터를 배포해 보겠습니다. 클러스터, 프레스 새로운 클러스터 실험실 작업과 관련된 옵션을 선택합니다.

Tanzu 미션 컨트롤 소개

클러스터 이름을 추가하고 클러스터에 할당된 그룹(이 경우 Hands-On-Labs) 및 배포 지역을 선택해 보겠습니다.

Tanzu 미션 컨트롤 소개

클러스터를 생성할 때 사용할 수 있는 다른 옵션이 있지만 실습 중에 이를 변경할 필요는 없습니다. 필요한 구성을 선택하고 클릭하세요. 다음 보기.

Tanzu 미션 컨트롤 소개

Некоторые параметры нужно отредактировать, для этого нажимаем 편집.

Tanzu 미션 컨트롤 소개

Увеличим количество рабочих нод до двух, сохраним параметры и нажмем 몹시 떠들어 대다.
프로세스가 진행되는 동안 다음과 같은 진행률 표시줄이 표시됩니다.

Tanzu 미션 컨트롤 소개

성공적으로 배포되면 이 그림이 표시됩니다. 모든 영수증은 녹색이어야 합니다.

Tanzu 미션 컨트롤 소개

이제 표준 kubectl 명령을 사용하여 클러스터를 관리하려면 KUBECONFIG 파일을 다운로드해야 합니다. 이는 Tanzu Mission Control 사용자 인터페이스를 통해 직접 수행할 수 있습니다. 파일을 다운로드하고 다음을 클릭하여 Tanzu Mission Control CLI 다운로드를 진행합니다. 여기를 클릭하세요.

Tanzu 미션 컨트롤 소개

원하는 버전을 선택하고 CLI를 다운로드하세요.

Tanzu 미션 컨트롤 소개

이제 API 토큰을 가져와야 합니다. 이렇게 하려면 다음으로 이동하세요. 나의 계정 그리고 새 토큰을 생성합니다.

Tanzu 미션 컨트롤 소개

필드를 채우고 클릭하세요. 일으키다.

Tanzu 미션 컨트롤 소개

결과 토큰을 복사하고 클릭하세요. 계속. Открываем Power Shell и вводим команду tmc-login, затем — токен, который мы получили и скопировали на предыдущем шаге, а потом — Login Context Name. Выбираем 정보 логи из предложенных, регион и olympus-default SSH 키로.

Tanzu 미션 컨트롤 소개

우리는 네임스페이스를 얻습니다:kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get namespaces.

입력하다 kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get nodes모든 노드가 상태에 있는지 확인하기 위해 준비.

Tanzu 미션 컨트롤 소개

이제 이 클러스터에 작은 애플리케이션을 배포해야 합니다. 커피와 차라는 두 가지 배포를 서비스 커피-svc 및 차-svc 형식으로 만들어 보겠습니다. 각 배포는 nginxdemos/hello 및 nginxdemos/hello:plain-text라는 서로 다른 이미지를 시작합니다. 이는 다음과 같이 수행됩니다.

를 통해 PowerShell을 다운로드로 가서 파일을 찾으세요 카페-services.yaml.

Tanzu 미션 컨트롤 소개

API의 일부 변경으로 인해 업데이트해야 합니다.

포드 보안 정책은 기본적으로 활성화되어 있습니다. 권한이 있는 애플리케이션을 실행하려면 계정을 연결해야 합니다.

바인딩을 만듭니다. kubectl --kubeconfig=kubeconfig-aws-cluster.yml create clusterrolebinding privileged-cluster-role-binding --clusterrole=vmware-system-tmc-psp-privileged --group=system:authenticated
Деплоим приложение: kubectl --kubeconfig=kubeconfig-aws-cluster.yml apply -f cafe-services.yaml
우리는 다음을 확인합니다. kubectl --kubeconfig=kubeconfig-aws-cluster.yml get pods

Tanzu 미션 컨트롤 소개

모듈 2가 끝났습니다. 당신은 아름답고 놀랍습니다! 정책 관리 및 규정 준수 확인을 포함한 나머지 모듈을 직접 완료하는 것이 좋습니다.

이 실습을 전체적으로 완료하려면 여기에서 찾을 수 있습니다. 카탈로그에. 그리고 기사의 마지막 부분으로 넘어갈 것입니다. 우리가 본 것에 대해 이야기하고, 첫 번째 정확한 결론을 도출하고, 실제 비즈니스 프로세스와 관련하여 Tanzu Mission Control이 무엇인지 자세히 설명하겠습니다.

Мнения и выводы

Безусловно, говорить о практических вопросах работы с Tanzu пока рановато. Материалов для самостоятельного изучения не так уж и много, а развернуть тестовый стенд, чтобы «потыкать» новый продукт со всех сторон на сегодняшний день не представляется возможным. Тем не менее, даже по имеющимся данным можно сделать определенные выводы.

Tanzu Mission Control의 이점

Система вышла действительно интересная. Сразу же хочется выделить несколько удобных и полезных плюшек:

  • Можно создавать кластеры через веб-панель и через консоль, что очень понравится разработчикам.
  • 작업 공간을 통한 RBAC 관리는 사용자 인터페이스에서 구현됩니다. 아직 실험실에서는 작동하지 않지만 이론상으로는 대단한 일입니다.
  • 템플릿 기반의 중앙화된 권한 관리
  • 네임스페이스에 대한 전체 액세스 권한입니다.
  • YAML 편집기.
  • 네트워크 정책을 생성합니다.
  • 클러스터 상태 모니터링.
  • 콘솔을 통한 백업 및 복원 기능.
  • Управление квотами и ресурсами с визуализацией фактической утилизации.
  • 클러스터 검사 자동 실행.

다시 말하지만, 현재 많은 구성 요소가 개발 중이므로 일부 도구의 장단점을 완전히 이야기하기에는 너무 이릅니다. 그런데 Tanzu MC는 데모를 기반으로 즉석에서 클러스터를 업그레이드할 수 있으며 일반적으로 여러 공급자에게 클러스터의 전체 수명 주기를 한 번에 제공할 수 있습니다.

다음은 몇 가지 "상위 수준"의 예입니다.

자체 헌장이 있는 다른 사람의 클러스터에

역할과 책임이 명확하게 정의된 개발 팀이 있다고 가정해 보겠습니다. 모든 사람은 자신의 사업으로 바쁘기 때문에 실수로 동료의 업무를 방해해서는 안됩니다. 또는 팀에 불필요한 권리와 자유를 부여하고 싶지 않은 경험이 부족한 전문가가 한 명 이상 있습니다. 또한 동시에 XNUMX개의 공급자로부터 Kubernetes를 보유하고 있다고 가정해 보겠습니다. 따라서 권한을 제한하고 공통 분모로 가져오려면 각 제어판으로 하나씩 이동하여 모든 것을 수동으로 등록해야 합니다. 가장 생산적인 오락은 아닙니다. 그리고 리소스가 많을수록 프로세스가 더 지루해집니다. Tanzu Mission Control을 사용하면 "하나의 창"에서 역할 설명을 관리할 수 있습니다. 우리 의견으로는 이것은 매우 편리한 기능입니다. 실수로 어딘가에 필요한 권한을 지정하는 것을 잊어버린 경우 아무도 아무것도 깨뜨리지 않을 것입니다.

Кстати, наши коллеги из МТС в своем блоге 비교하다 공급업체 및 오픈 소스의 Kubernetes. 차이점이 무엇인지, 선택할 때 무엇을 찾아야 하는지 오랫동안 알고 싶었다면 환영합니다.

로그를 사용한 컴팩트한 작업

실제 생활의 또 다른 예는 로그 작업입니다. 팀에 테스터도 있다고 가정해 보겠습니다. 어느 화창한 날 그는 개발자를 찾아와서 "애플리케이션에서 버그가 발견되었습니다. 긴급히 수정하겠습니다."라고 말했습니다. 개발자가 가장 먼저 알고 싶어하는 것이 로그인 것은 당연합니다. 이메일이나 텔레그램을 통해 파일로 보내는 것은 나쁜 매너이며 지난 세기입니다. Mission Control은 대안을 제공합니다. 개발자가 특정 네임스페이스의 로그만 읽을 수 있도록 특별한 권한을 설정할 수 있습니다. 이 경우 테스터는 "이러한 애플리케이션, 이러한 필드, 이러한 네임스페이스에 버그가 있습니다"라고 말하면 개발자는 쉽게 로그를 열고 현지화할 수 있습니다. 문제. 그리고 제한된 권한으로 인해 귀하의 능력이 허용하지 않는 한 즉시 수정할 수 없습니다.

건강한 클러스터에는 건강한 애플리케이션이 있습니다.

Еще одна отличная возможность Tanzu MC — отслеживание здоровья кластера. Судя по предварительным материалам, система позволяет просматривать некоторую статистику. На текущий момент сложно сказать, насколько именно детализированной будет эта информация: пока что все выглядит достаточно скромно и просто. Есть мониторинг загруженности CPU и RAM, показаны статусы всех компонентов. Но даже в таком спартанском виде это очень полезная и эффективная деталь.

결과

물론, 겉보기에 무균 상태인 Mission Control의 실험실 프레젠테이션에는 약간의 거친 부분이 있습니다. 당신이 작업을 진행하기로 결정하면 아마도 당신 자신이 그것을 알아 차릴 것입니다. 일부 측면은 직관적으로 충분히 구현되지 않았습니다. 숙련된 관리자라도 인터페이스와 해당 기능을 이해하려면 설명서를 읽어야 합니다.

그러나 제품의 복잡성, 중요성, 시장에서 수행할 역할을 고려하면 훌륭한 결과를 얻었습니다. 제작자가 사용자의 작업 흐름을 개선하려고 노력한 것 같습니다. 각 제어 요소를 가능한 한 기능적이고 이해하기 쉽게 만듭니다.

남은 것은 테스트 벤치에서 Tanzu를 시험해 보면서 모든 장단점 및 혁신을 실제로 이해하는 것입니다. 그러한 기회가 생기면 우리는 Habr 독자들에게 제품 작업에 대한 자세한 보고서를 공유할 것입니다.

출처 : habr.com

코멘트를 추가