Apresentando o Controle da Missão Tanzu

Hoje queremos falar sobre VMware Tanzu, uma nova linha de produtos e serviços que foi anunciada durante a conferência VMWorld do ano passado. Na ordem do dia está uma das ferramentas mais interessantes: Tanzu Mission Control.

Cuidado: há muitas imagens embaixo do corte.

Apresentando o Controle da Missão Tanzu

O que é controle de missão

Como a própria empresa afirma em seu blog, o principal objetivo do VMware Tanzu Mission Control é “trazer ordem ao caos dos clusters”. Mission Control é uma plataforma orientada por API que permitirá aos administradores aplicar políticas a clusters ou grupos de clusters e definir regras de segurança. As ferramentas baseadas em SaaS integram-se com segurança aos clusters Kubernetes por meio de um agente e oferecem suporte a uma variedade de operações de cluster padrão, incluindo operações de gerenciamento do ciclo de vida (implantação, escalonamento, exclusão, etc.).

A ideologia da linha Tanzu é baseada no uso máximo de tecnologias de código aberto. Para gerenciar o ciclo de vida dos clusters Tanzu Kubernetes Grid, a API Cluster é usada, o Velero é usado para backups e recuperação, o Sonobuoy é usado para monitorar a conformidade com a configuração dos clusters Kubernetes e o Contour como um controlador de entrada.

A lista geral de funções do Tanzu Mission Control é assim:

  • gerenciamento centralizado de todos os seus clusters Kubernetes;
  • gerenciamento de identidade e acesso (IAM);
  • diagnóstico e monitoramento do status do cluster;
  • gerenciar configurações e configurações de segurança;
  • agendar verificações regulares de integridade do cluster;
  • criação de backups e restauração;
  • gestão de cotas;
  • representação visual da utilização de recursos.

Apresentando o Controle da Missão Tanzu

Por que isso é importante

O Tanzu Mission Control ajudará as empresas a resolver o problema de gerenciamento de uma grande frota de clusters Kubernetes localizados no local, na nuvem e em vários provedores terceirizados. Mais cedo ou mais tarde, qualquer empresa cujas atividades estejam ligadas à TI será forçada a suportar muitos clusters heterogêneos localizados em diferentes fornecedores. Cada cluster se transforma em uma bola de neve que precisa de organização competente, infraestrutura adequada, políticas, proteção, sistemas de monitoramento e muito mais.

Hoje em dia, qualquer empresa busca reduzir custos e automatizar processos rotineiros. E o complexo cenário de TI claramente não promove poupanças e concentração em tarefas prioritárias. O Tanzu Mission Control oferece às organizações a capacidade de operar vários clusters Kubernetes implantados em vários provedores, ao mesmo tempo que harmoniza o modelo operacional.

Arquitetura da solução

Apresentando o Controle da Missão Tanzu

Tanzu Mission Control é uma plataforma multilocatário que dá aos usuários acesso a um conjunto de políticas altamente configuráveis ​​que podem ser aplicadas a clusters e grupos de clusters Kubernetes. Cada usuário está vinculado a uma organização, que é a “raiz” dos recursos – grupos de cluster e espaços de trabalho.

Apresentando o Controle da Missão Tanzu

O que o Controle da Missão Tanzu 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 na empresa:

Apresentando o Controle da Missão Tanzu

Criando um novo cluster:

Apresentando o Controle da Missão Tanzu

Apresentando o Controle da Missão Tanzu

Você pode atribuir imediatamente um grupo a um cluster e ele herdará as políticas atribuídas a ele.

Conexão de cluster:

Apresentando o Controle da Missão Tanzu

Clusters já existentes podem simplesmente ser conectados usando um agente especial.

Agrupamento de clusters:

Apresentando o Controle da Missão Tanzu

Nos 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:

Apresentando o Controle da Missão Tanzu

Fornece a capacidade de configurar de forma flexível o acesso a um aplicativo localizado em vários namespaces, clusters e infraestruturas de nuvem.

Vamos dar uma olhada mais de perto nos princípios operacionais do Tanzu Mission Control em trabalho de laboratório.

Laboratório nº 1

É claro que é muito difícil imaginar em detalhes a operação do Controle da Missão e das novas soluções Tanzu sem prática. Para que você possa explorar as principais funcionalidades da linha, a VMware disponibiliza acesso a diversas bancadas de laboratório. Essas bancadas permitem realizar trabalhos de laboratório seguindo 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.

Para conhecimento prático de várias soluções (incluindo um pequeno “jogo” no vSAN), são alocados diferentes períodos de tempo. Não se preocupe, estes são números muito relativos. Por exemplo, um laboratório no Controle da Missão Tanzu pode ser “resolvido” por até 9 horas e meia ao passar de casa. Além disso, mesmo que o tempo acabe, você pode voltar e repassar tudo novamente.

Aprovação no trabalho de laboratório nº 1
Para acessar os laboratórios, você precisará de uma conta VMware. Após a autorização, será aberta uma janela pop-up com o esboço principal do trabalho. Instruções detalhadas serão colocadas no lado direito da tela.

Depois de ler uma breve introdução ao Tanzu, você será convidado a praticar na simulação interativa do Mission Control.

Uma nova janela pop-up da máquina Windows será aberta e você será solicitado a realizar algumas operações básicas:

  • criar um cluster
  • configurar seus parâmetros básicos
  • atualize a página e verifique se tudo está configurado corretamente
  • definir políticas e verificar o cluster
  • criar um espaço de trabalho
  • criar espaço para nome
  • trabalhar com as políticas novamente, cada etapa é explicada detalhadamente no manual
  • atualização do cluster de demonstração


É claro que a simulação interativa não oferece liberdade suficiente para estudo independente: você se move ao longo de trilhos pré-estabelecidos pelos desenvolvedores.

Laboratório nº 2

Aqui já estamos tratando de algo mais sério. Este trabalho laboratorial não está tão preso aos “carris” como o anterior e requer um estudo mais cuidadoso. Não o apresentaremos aqui na íntegra: para economizar seu tempo, analisaremos apenas o segundo módulo, o primeiro é dedicado ao aspecto teórico do trabalho do Controle da Missão Tanzu. Se desejar, você pode passar por isso sozinho. Este módulo nos oferece um mergulho profundo no gerenciamento do ciclo de vida do cluster por meio do Tanzu Mission Control.

Nota: O trabalho de laboratório do Tanzu Mission Control é regularmente atualizado e refinado. Se alguma tela ou etapa for diferente daquelas abaixo ao concluir o laboratório, siga as instruções no lado direito da tela. Analisaremos a versão atual da LR no momento em que este artigo foi escrito e consideraremos seus elementos-chave.

Aprovação no trabalho de laboratório nº 2
Após o processo de autorização no VMware Cloud Services, lançamos o Tanzu Mission Control.

Apresentando o Controle da Missão Tanzu

A primeira etapa sugerida pelo laboratório é implantar um cluster Kubernetes. Primeiro precisamos acessar a VM Ubuntu usando PuTTY. Inicie o utilitário e selecione uma sessão com o Ubuntu.

Apresentando o Controle da Missão Tanzu

Executamos três comandos por vez:

  • criando um cluster: kind create cluster --config 3node.yaml --name=hol
  • carregando o arquivo KUBECONFIG: export KUBECONFIG="$(kind get kubeconfig-path --name="hol")"
  • saída do nó: kubectl get nodes

Apresentando o Controle da Missão Tanzu

Agora o cluster que criamos precisa ser adicionado ao Tanzu Mission Control. Do PuTTY voltamos ao Chrome, vá para Clusters e clique ANEXAR CLUSTER.
Selecione um grupo no menu suspenso - omissão, digite o nome sugerido pelo laboratório e clique em REGISTRE-SE!.

Apresentando o Controle da Missão Tanzu

Copie o comando recebido e vá para PuTTY.

Apresentando o Controle da Missão Tanzu

Executamos o comando recebido.

Apresentando o Controle da Missão Tanzu

Para acompanhar o progresso, execute outro comando: watch kubectl get pods -n vmware-system-tmc. Esperamos até que todos os contêineres tenham um status Corrida ou Efetuado.

Apresentando o Controle da Missão Tanzu

Retorne ao Tanzu Mission Control e clique VERIFICAR CONEXÃO. Se tudo correr bem, os indicadores de todas as verificações deverão estar verdes.

Apresentando o Controle da Missão Tanzu

Agora vamos criar um novo grupo de clusters e implantar um novo cluster nele. Vá para grupos de clusters e clique em NOVO GRUPO DE CLUSTER. Digite o nome e clique CRIAR.

Apresentando o Controle da Missão Tanzu

O novo grupo deverá aparecer imediatamente na lista.

Apresentando o Controle da Missão Tanzu

Vamos implantar um novo cluster: vá para Clustersempurrar NOVO CLUSTER e selecione a opção associada ao trabalho laboratorial.

Apresentando o Controle da Missão Tanzu

Vamos adicionar o nome do cluster, selecionar o grupo atribuído a ele - no nosso caso, laboratórios práticos - e a região de implantação.

Apresentando o Controle da Missão Tanzu

Existem outras opções disponíveis ao criar um cluster, mas não faz sentido alterá-las durante o laboratório. Selecione a configuração que você precisa e clique em Próximo.

Apresentando o Controle da Missão Tanzu

Alguns parâmetros precisam ser editados, para isso clique Editar.

Apresentando o Controle da Missão Tanzu

Vamos aumentar o número de nós de trabalho para dois, salve os parâmetros e clique CRIAR.
Durante o processo você verá uma barra de progresso como esta.

Apresentando o Controle da Missão Tanzu

Após uma implantação bem-sucedida, você verá esta imagem. Todos os recibos devem ser verdes.

Apresentando o Controle da Missão Tanzu

Agora precisamos baixar o arquivo KUBECONFIG para gerenciar o cluster usando comandos kubectl padrão. Isso pode ser feito diretamente através da interface de usuário do Tanzu Mission Control. Baixe o arquivo e prossiga para baixar o Tanzu Mission Control CLI clicando em clique aqui.

Apresentando o Controle da Missão Tanzu

Selecione a versão desejada e baixe a CLI.

Apresentando o Controle da Missão Tanzu

Agora precisamos obter o token da API. Para fazer isso, vá para Minha Conta e gerar um novo token.

Apresentando o Controle da Missão Tanzu

Preencha os campos e clique GERAR.

Apresentando o Controle da Missão Tanzu

Copie o token resultante e clique CONTINUAR. Abra o Power Shell e digite o comando tmc-login, depois o token que recebemos e copiamos na etapa anterior e, em seguida, Nome do Contexto de Login. Escolher info logs dos propostos, região e padrão olympus como uma chave ssh.

Apresentando o Controle da Missão Tanzu

Obtemos namespaces:kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get namespaces.

Introduzir kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get nodespara garantir que todos os nós estejam no status Pronto.

Apresentando o Controle da Missão Tanzu

Agora temos que implantar um pequeno aplicativo neste cluster. Vamos fazer duas implantações - café e chá - na forma de serviços coffee-svc e tea-svc, cada um dos quais lança imagens diferentes - nginxdemos/hello e nginxdemos/hello:plain-text. Isto se faz do seguinte modo.

Através PowerShell vá em downloads e encontre o arquivo café-services.yaml.

Apresentando o Controle da Missão Tanzu

Devido a algumas alterações na API, teremos que atualizá-la.

As políticas de segurança do pod são habilitadas por padrão. Para executar aplicativos com privilégios, você deve vincular sua conta.

Crie uma ligação: kubectl --kubeconfig=kubeconfig-aws-cluster.yml create clusterrolebinding privileged-cluster-role-binding --clusterrole=vmware-system-tmc-psp-privileged --group=system:authenticated
Vamos implantar o aplicativo: kubectl --kubeconfig=kubeconfig-aws-cluster.yml apply -f cafe-services.yaml
Verificamos: kubectl --kubeconfig=kubeconfig-aws-cluster.yml get pods

Apresentando o Controle da Missão Tanzu

Módulo 2 finalizado, você é linda e incrível! Recomendamos concluir os módulos restantes, incluindo gerenciamento de políticas e verificações de conformidade, por conta própria.

Se quiser concluir este laboratório na íntegra, você pode encontrá-lo aqui no catálogo. E passaremos para a parte final do artigo. Vamos falar sobre o que conseguimos ver, tirar as primeiras conclusões precisas e dizer em detalhes o que é o Tanzu Mission Control em relação aos processos de negócios reais.

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 auto-estudo 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, algumas conclusões podem ser tiradas.

Benefícios do Controle da Missão Tanzu

O sistema acabou sendo realmente interessante. Gostaria de destacar imediatamente algumas vantagens convenientes e úteis:

  • Você pode criar clusters através do painel web e do console, o que os desenvolvedores vão gostar muito.
  • O gerenciamento RBAC por meio de espaços de trabalho é implementado na interface do usuário. Ainda não funciona no laboratório, mas em teoria é ótimo.
  • Gerenciamento centralizado de privilégios baseado em modelo
  • Acesso total aos namespaces.
  • Editor YAML.
  • Criação de políticas de rede.
  • Monitoramento da integridade do cluster.
  • Capacidade de fazer backup e restaurar por meio do console.
  • Gerencie cotas e recursos com visualização da utilização real.
  • Lançamento automático de inspeção de cluster.

Novamente, muitos componentes estão atualmente em desenvolvimento, por isso é muito cedo para falar completamente sobre os prós e os contras de algumas ferramentas. A propósito, Tanzu MC, com base na demonstração, pode atualizar um cluster dinamicamente e, em geral, fornecer todo o ciclo de vida de um cluster para vários provedores ao mesmo tempo.

Aqui estão alguns exemplos de “alto nível”.

Para o cluster 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 acidentalmente no trabalho de seus colegas. Ou a equipe conta com um ou mais especialistas menos experientes aos quais você não deseja conceder direitos e liberdades desnecessários. Suponhamos também que você tenha Kubernetes de três provedores ao mesmo tempo. Assim, para limitar os direitos e trazê-los para um denominador comum, você terá que ir a cada painel de controle um por um e registrar tudo manualmente. Concordo, não é o passatempo mais produtivo. E quanto mais recursos você tiver, mais tedioso será 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 comparado Kubernetes do fornecedor e de código aberto. Se você há muito deseja saber quais são as diferenças e o que procurar na hora de escolher, seja bem-vindo.

Trabalho compacto com logs

Outro exemplo da vida real é trabalhar com logs. Vamos supor que a equipe também tenha um testador. Um belo dia ele chega aos desenvolvedores e anuncia: “foi encontrado um bug no aplicativo, vamos corrigi-lo com urgência”. É natural que a primeira coisa que um desenvolvedor queira conhecer sejam os logs. Enviá-los como arquivos por e-mail ou Telegram é falta de educação e do século passado. O Mission Control oferece uma alternativa: você pode definir direitos especiais para o desenvolvedor para que ele só possa ler logs em um namespace específico. Nesse caso, o testador só precisa dizer: “há bugs em tal e tal aplicativo, em tal e tal campo, em tal e tal namespace”, e o desenvolvedor pode facilmente abrir os logs e ser capaz de localizar o problema. E devido aos direitos limitados, você não poderá consertar imediatamente se sua competência não permitir.

Um cluster íntegro possui um aplicativo íntegro.

Outro grande recurso do Tanzu MC é o rastreamento da integridade do cluster. A julgar pelos materiais preliminares, o sistema permite visualizar algumas estatísticas. No momento, é difícil dizer exatamente quão detalhadas serão essas informações: até agora tudo parece bastante modesto e simples. Há monitoramento da carga de CPU e RAM, o status de todos os componentes é mostrado. Mas mesmo numa forma tão espartana é um detalhe muito útil e eficaz.

Resultados de

É claro que na apresentação laboratorial do Controle da Missão, em condições aparentemente estéreis, existem algumas arestas. Você provavelmente os notará se decidir prosseguir com o trabalho. Alguns aspectos não são feitos de forma suficientemente intuitiva - mesmo um administrador experiente terá que ler o manual para entender a interface e seus recursos.

Porém, dada a complexidade do produto, a sua importância e o papel que desempenhará no mercado, ficou ótimo. Parece que os criadores tentaram melhorar o fluxo de trabalho do usuário. Torne cada elemento de controle o mais funcional e compreensível possível.

Resta apenas experimentar o Tanzu em uma bancada de testes para realmente entender todos os seus prós, contras e inovações. Assim que tal oportunidade se apresentar, compartilharemos com os leitores da Habr um relatório detalhado sobre como trabalhar com o produto.

Fonte: habr.com

Adicionar um comentário