Cuidado: há muitas imagens cortadas.

O que é o controle da missão
Como a empresa diz em um post de blog, o objetivo principal do VMware Tanzu Mission Control é "trazer ordem ao caos do cluster". O Mission Control é uma plataforma baseada em API que permite aos administradores aplicar políticas a clusters ou grupos de clusters e definir regras de segurança. As ferramentas baseadas em SaaS se integram com segurança aos clusters Kubernetes por meio de um agente e oferecem suporte a uma ampla variedade de operações de cluster padrão, incluindo operações de gerenciamento de ciclo de vida (implantar, dimensionar, excluir etc.)
A ideologia da linha Tanzu é baseada no uso máximo de tecnologias de código aberto. A API Cluster é usada para gerenciar o ciclo de vida dos clusters Tanzu Kubernetes Grid, o Velero é usado para backups e restaurações, o Sonobuoy é usado para controlar a correspondência da configuração dos clusters Kubernetes e Contour como um controlador de entrada.
A lista geral de funções do Tanzu Mission Control é parecida com esta:
- gerenciamento centralizado de todos os seus clusters Kubernetes;
- Gerenciamento de identidade e acesso (IAM);
- diagnóstico e monitoramento do estado dos clusters;
- gerenciamento de configurações e configurações de segurança;
- agendar verificações regulares sobre o status do cluster;
- criação de backups e restauração;
- gerenciamento de cotas;
- uma representação visualizada da utilização de recursos.

Por que isso é importante
O Tanzu Mission Control ajuda as empresas a gerenciar uma grande frota de clusters Kubernetes localizados no local, na nuvem e com vários provedores de terceiros. Mais cedo ou mais tarde, qualquer empresa cujas atividades estejam vinculadas à TI será forçada a manter muitos clusters heterogêneos localizados em diferentes provedores. Cada cluster se transforma em uma bola de neve que precisa de uma organização competente, a infraestrutura adequada, políticas, proteção, sistemas de monitoramento e muito mais.
Hoje, qualquer empresa busca reduzir custos e automatizar processos rotineiros. E o complexo cenário de TI claramente não conduz à economia e ao foco em tarefas prioritárias. O Tanzu Mission Control capacita as organizações a trabalhar com vários clusters Kubernetes implantados em vários provedores enquanto harmoniza o modelo operacional.
Arquitetura da solução

O Tanzu Mission Control é uma plataforma multilocatária que dá aos usuários acesso a um conjunto de políticas altamente personalizáveis que podem ser aplicadas a clusters e grupos de clusters Kubernetes. Cada usuário está vinculado à Organização, é ela quem é a “raiz” dos recursos - grupos de clusters e espaços de trabalho (Workspaces).

O que o Tanzu Mission Control pode fazer
Acima, já listamos resumidamente a lista de funções da solução. Vamos ver como isso é implementado na interface.
Uma visão única de todos os clusters Kubernetes em uma empresa:

Criar um novo cluster:


você pode atribuir imediatamente um grupo a um cluster, e ele herdará as políticas definidas para ele.
Conexão de cluster:

os clusters já existentes podem ser simplesmente conectados usando um agente especial.
Agrupamento de clusters:

Em grupos de clusters, você pode agrupar clusters para herdar políticas atribuídas imediatamente no nível do grupo, sem intervenção manual.
Espaços de trabalho:

oferece a capacidade de configurar o acesso de maneira flexível a um aplicativo localizado em vários espaços de nomes, clusters e infraestruturas de nuvem.
Vamos dar uma olhada nos princípios do Controle da Missão Tanzu no trabalho de laboratório.
Laboratório # 1
Claro, é muito difícil imaginar em detalhes o trabalho do Controle da Missão e as novas soluções do Tanzu sem prática. Para que você explore os recursos básicos da linha, a VMware oferece acesso a diversos estandes de laboratório. Nessas bancadas, você pode realizar o trabalho de laboratório usando instruções passo a passo. Além do próprio Tanzu Mission Control, outras soluções estão disponíveis para teste e estudo. Uma lista completa de trabalhos de laboratório pode ser encontrada nesta página .
Horários diferentes são alocados para familiarização prática com soluções diferentes (incluindo um pequeno “jogo” vSAN). Não se preocupe, esses são números muito relativos. Por exemplo, um laboratório de Controle da Missão Tanzu pode ser “resolvido” por até 9 horas e meia ao passar de casa. Além disso, mesmo que o cronômetro expire, você pode voltar e repetir tudo de novo.
Passagem do trabalho de laboratório # 1
VMware. . .
Tanzu Mission Control.
windows-, :
, : .
Tanzu Mission Control.
windows-, :
- ,
- ,
- -
, : .
Laboratório 2
Aqui já estamos lidando com algo mais sério. Este trabalho de laboratório não está tão amarrado aos "trilhos" como o anterior e requer um estudo mais cuidadoso. Não o citaremos aqui na íntegra: para economizar seu tempo, analisaremos apenas o segundo módulo, o primeiro é dedicado ao aspecto teórico do Controle da Missão Tanzu. Se desejar, você mesmo pode concluí-lo. Este módulo nos convida a mergulhar no gerenciamento do ciclo de vida do cluster por meio do Tanzu Mission Control.
Observação: os laboratórios do Tanzu Mission Control são atualizados e refinados regularmente. Se você tiver telas ou etapas diferentes das seguintes ao concluir o laboratório, siga as instruções no lado direito da tela. Iremos examinar a versão atual da LR no momento em que este livro foi escrito e considerar seus elementos-chave.
Passagem do trabalho de laboratório # 2
VMware Cloud Services, Tanzu Mission Control.
, , — Kubernetes. Ubuntu PuTTY. Ubuntu.
:
Tanzu Mission Control. PuTTY Chrome, Clusters ATTACH CLUSTER.
— default, REGISTER.
PuTTY.
.
:
Tanzu Mission Control VERIFY CONNECTION. , .
. Cluster groups NEW CLUSTER GROUP. CREATE.
.
: Clusters, NEW CLUSTER .
, — hands-on-labs — .
, . , Next.
, Edit.
, CREATE.
.
. .
KUBECONFIG, kubectl. Tanzu Mission Control. Tanzu Mission Control CLI click here.
CLI.
API Token. My Account .
GENERATE.
CONTINUE. Power Shell tmc-login, — , , — Login Context Name. info , olympus-default ssh-.
namespaces:
. — coffee and tea — coffee-svc tea-svc, — nginxdemos/hello and nginxdemos/hello:plain-text. .
PowerShell cafe-services.yaml.
- API .
Pod Security Policies . .
:
:
:
2 , ! , .
, . . , , , Tanzu Mission Control -.

, , — Kubernetes. Ubuntu PuTTY. Ubuntu.

:
- :
kind create cluster --config 3node.yaml --name=hol
- KUBECONFIG-:
export KUBECONFIG="$(kind get kubeconfig-path --name="hol")"
- :
kubectl get nodes

Tanzu Mission Control. PuTTY Chrome, Clusters ATTACH CLUSTER.
— default, REGISTER.

PuTTY.

.

:
watch kubectl get pods -n vmware-system-tmc
. , Running Completed.

Tanzu Mission Control VERIFY CONNECTION. , .

. Cluster groups NEW CLUSTER GROUP. CREATE.

.

: Clusters, NEW CLUSTER .

, — hands-on-labs — .

, . , Next.

, Edit.

, CREATE.
.

. .

KUBECONFIG, kubectl. Tanzu Mission Control. Tanzu Mission Control CLI click here.

CLI.

API Token. My Account .

GENERATE.

CONTINUE. Power Shell tmc-login, — , , — Login Context Name. info , olympus-default ssh-.

namespaces:
kubectl --kubeconfig=C:\Users\Administrator\Downloads\kubeconfig-aws-cluster.yml get namespaces
.
kubectl --kubeconfig=C:\Users\Administrator\Downloads\kubeconfig-aws-cluster.yml get nodes
, , Ready.

. — coffee and tea — coffee-svc tea-svc, — nginxdemos/hello and nginxdemos/hello:plain-text. .
PowerShell cafe-services.yaml.

- API .
Pod Security Policies . .
:
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

2 , ! , .
, . . , , , Tanzu Mission Control -.
Opiniões e conclusões
Claro, é muito cedo para falar sobre questões práticas de trabalhar com Tanzu. Não existem tantos materiais para estudo independente, e hoje não é possível implantar uma bancada de testes para "cutucar" um novo produto por todos os lados. No entanto, mesmo a partir dos dados disponíveis, certas conclusões podem ser tiradas.
Benefícios do Controle da Missão Tanzu
O sistema ficou muito interessante. Imediatamente, gostaria de destacar alguns pães convenientes e úteis:
- Você pode criar clusters por meio do painel da web e do console, o que os desenvolvedores realmente gostarão.
- O gerenciamento de RBAC por meio de áreas de trabalho é implementado na interface do usuário. Ainda não funciona no laboratório, mas em teoria é ótimo.
- Gerenciamento de privilégios centralizado com base em modelos
- Acesso total a namespaces.
- Editor YAML.
- Criação de políticas de rede.
- Monitoramento da integridade do cluster.
- Capacidade de backup e restauração do console.
- Gerenciamento de cotas e recursos com visualização do descarte real.
- Início automático da inspeção do cluster.
Novamente, muitos componentes estão sendo finalizados, então é muito cedo para falar totalmente sobre os prós e contras de algumas ferramentas. A propósito, Tanzu MC, com base na demonstração, pode atualizar o cluster em tempo real e, em geral, fornecer todo o ciclo de vida do cluster de uma só vez de vários provedores.
Aqui estão alguns exemplos de “alto nível”.
No agrupamento de outra pessoa com seu próprio estatuto
Digamos que você tenha uma equipe de desenvolvimento com funções e responsabilidades claramente definidas. Todos estão ocupados com seus próprios negócios e não devem interferir no trabalho dos colegas nem mesmo acidentalmente. Ou então, a equipe tem um ou mais especialistas menos experientes a quem você não deseja conceder direitos e liberdades desnecessários. Suponhamos também que você tenha Kubernetes de três provedores de uma vez. Conseqüentemente, a fim de limitar os direitos e trazê-los a um denominador comum, você terá que entrar em cada painel de controle um por um e registrar tudo manualmente. Concordo, não é o passatempo mais produtivo. E quanto mais recursos você tem, mais enfadonho é o processo. O Tanzu Mission Control permitirá que você gerencie o delineamento de funções em uma "janela única". Em nossa opinião, esta é uma função muito conveniente: ninguém quebrará nada se você acidentalmente esquecer de especificar os direitos necessários em algum lugar.
A propósito, nossos colegas da MTS em seu blog compararam o Kubernetes do fornecedor e o código aberto. Se você há muito deseja saber quais são as diferenças e o que observar ao escolher - seja bem-vindo.
Trabalho compacto com registros
Outro exemplo da vida real é trabalhar com logs. Suponha que a equipe também tenha um testador. Um belo dia ele chega aos desenvolvedores e anuncia: "um bug foi encontrado no aplicativo, vamos corrigi-lo com urgência." Naturalmente, a primeira coisa com que um desenvolvedor deseja se familiarizar são os logs. Enviá-los em arquivos por e-mail ou Telegram é falta de educação e século passado. O Mission Control oferece uma alternativa: você pode dar ao desenvolvedor direitos especiais para que ele só possa ler os logs em um namespace específico. Nesse caso, basta que o testador diga: “existem bugs em tal e tal aplicação, em tal e tal campo, em tal e tal namespace”, e o desenvolvedor abrirá facilmente os logs e poderá localizar o problema. E devido a direitos limitados, ele não vai subir imediatamente para consertar se a competência não permitir.
Healthy Cluster Healthy App
Outra grande característica do Tanzu MC é o rastreamento da saúde do cluster. A julgar pelos materiais preliminares, o sistema permite que você visualize algumas estatísticas. No momento, é difícil dizer o quão detalhada será essa informação: até agora, tudo parece bastante modesto e simples. Há monitoramento da utilização da CPU e da RAM, são mostrados os status de todos os componentes. Mas, mesmo nesta forma espartana, é um detalhe muito útil e eficaz.
Resultado
Claro, na representação laboratorial do Controle da Missão, em condições aparentemente estéreis, alguma rugosidade é observada. Você mesmo provavelmente os notará se decidir fazer o trabalho. Alguns pontos não são apresentados de forma suficientemente intuitiva - até mesmo um administrador experiente terá que ler o manual para entender a interface e seus recursos.
No entanto, dada a complexidade do produto, sua importância e o papel que vai desempenhar no mercado, ficou bacana. Parece que os criadores tentaram corrigir o fluxo de trabalho do usuário. Torne cada controle o mais funcional e compreensível possível.
Resta apenas experimentar o Tanzu em uma bancada de teste para realmente entender todos os seus prós, contras e inovações. Assim que essa oportunidade se apresentar para nós, iremos compartilhar com os leitores da Habr um relatório detalhado sobre como trabalhar com o produto.