Explorar o GKE Enterprise


Conheça a edição do Google Kubernetes Engine (GKE) Enterprise implantando um aplicativo de exemplo usando o Terraform. Ela implanta um ambiente prático real com um cluster do GKE, uma Anthos Service Mesh e um aplicativo com vários microsserviços. Este tutorial apresenta esses recursos, permitindo que você aprenda sobre o GKE Enterprise implantado no Google Cloud com um banco fictício. Em seguida, você pode explorar os recursos do GKE Enterprise do seu interesse seguindo a história do GKE Enterprise do banco no nosso tutorial de acompanhamento.

Se você quiser saber mais sobre os recursos do GKE Enterprise que impulsionam o GKE Enterprise, consulte as informações gerais ténicas. No entanto, não é preciso conhecer o GKE Enterprise ou o Terraform para seguir este tutorial. Você precisa conhecer os conceitos básicos do Kubernetes, como os clusters. Caso contrário, consulteConceitos básicos do Kubernetes , Documentação do Google Kubernetes Engine (GKE) e Como preparar um aplicativo para o Anthos Service Mesh.

Quando você estiver pronto para uma instalação de produção real, consulte nossa seção "Configuração".

Sua jornada

Você é o líder da plataforma no Bank of Anthos. O Bank of Anthos começou como uma pequena empresa de processamento de pagamentos em dois servidores há quase dez anos. Desde então, cresceu e hoje tem um banco comercial bem-sucedido com milhares de funcionários e com uma crescente organização de engenharia. O Bank of Anthos agora quer expandir os negócios.

Durante esse período, você e sua equipe gastaram mais tempo e dinheiro na manutenção da infraestrutura do que na criação de um novo valor comercial. Você tem décadas de experiência cumulativa investindo na pilha existente; No entanto, você sabe que não é a tecnologia certa para atender à escala de implantação global necessária para o banco.

Você adotou o GKE Enterprise para modernizar seu aplicativo e migrar para o Google Cloud com sucesso para atingir suas metas de expansão.

Objetivos

Neste tutorial, você vai conhecer alguns dos principais recursos do GKE Enterprise com as seguintes tarefas:

  • Implante seu ambiente do GKE Enterprise com um cluster, aplicativo e recursos empresariais: Anthos Service Mesh, Config Sync e Policy Controller.

  • Use o console do Google Cloud para explorar os recursos do GKE usados pelo seu aplicativo.

  • Use o Anthos Service Mesh para conhecer os serviços do aplicativo.

O que será implantado?

A implantação do Bank of Anthos no Google Cloud provisiona seu projeto com os seguintes recursos:

  • Um cluster do GKE em execução no Google Cloud: anthos-sample-cluster1.

  • O Anthos Service Mesh (em inglês) instalado no cluster. Você usará o Anthos Service Mesh para gerenciar a malha de serviço em anthos-sample-cluster1.

  • O Config Sync e Controlador de Políticas para gerenciar políticas de configuração e segurança em anthos-sample-cluster1.

  • Aplicativo do Bank of Anthos em execução no cluster. Ele é um aplicativo bancário baseado na Web que usa uma série de microsserviços escritos em várias linguagens de programação, incluindo Java, Python e JavaScript.

Custos

A menos que você já tenha comprado uma assinatura, a implantação do aplicativo Bank of Anthos gera cobranças de pagamento por utilização para o GKE Enterprise no Google Cloud, conforme listado na página de preços.

Você também é responsável por outros custos do Google Cloud incorridos ao executar o aplicativo Bank of Anthos, como cobranças pelas VMs do Compute Engine e balanceadores de carga.

Recomendamos limpar depois do tutorial ou explorar a implantação para evitar cobranças adicionais.

Antes de começar

Siga os seguintes pré-requisitos:

Escolha ou crie um projeto

Você pode usar um projeto existente ou criar um novo para fins deste tutorial.

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  5. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

Ativar o Cloud Shell

O Cloud Shell é um ambiente shell interativo para o Google Cloud que permite gerenciar projetos e recursos a partir do navegador da Web.

No Console do Google Cloud, ative o Cloud Shell.

Ativar o Cloud Shell

Conceder papéis do IAM

Se você já estiver usando um projeto atual, verifique se a conta do Google Cloud tem os papéis do IAM necessários para este tutorial.

Atribua os papéis à sua Conta do Google. Execute uma vez o seguinte comando para cada um dos seguintes papéis do IAM: roles/resourcemanager.projectIamAdmin, roles/iam.serviceAccountAdmin, roles/iam.serviceAccountUser, roles/iam.securityAdmin, roles/serviceusage.serviceUsageAdmin, roles/container.admin, roles/logging.logWriter, roles/gkehub.admin, roles/viewer, roles/monitoring.viewer

$ gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
  • Substitua PROJECT_ID pela ID do seu projeto.
  • Substitua EMAIL_ADDRESS pelo seu endereço de e-mail.
  • Substitua ROLE por cada papel individual.

Implantar o Bank of Anthos usando o Terraform

Depois que todos os pré-requisitos forem atendidos, execute os seguintes comandos no Cloud Shell para implantar o Bank of Anthos:

  1. Verifique se o projeto padrão está definido como o ID do projeto em que você quer implantar o aplicativo. Execute o comando a seguir no Cloud Shell, caso ainda não tenha feito isso:

    gcloud config set project PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

  2. Clone o repositório do Bank of Anthos no GitHub para o Cloud Shell:

    git clone https://github.com/GoogleCloudPlatform/bank-of-anthos.git
    
  3. Defina a variável de ambiente TF_VAR_project como seu ID do projeto:

    export TF_VAR_project=PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

  4. Mude para o diretório que hospeda os scripts de instalação:

    cd bank-of-anthos/iac/tf-anthos-gke
    
  5. Inicialize o Terraform. Para usar a versão mais recente do provedor do Google, inclua a sinalização -upgrade:

    terraform init -upgrade
    
  6. (Opcional) Revise os recursos que serão criados:

    terraform plan
    
  7. Aplique a configuração do Terraform para criar os recursos necessários e implantar o Bank of Anthos:

    terraform apply
    

Se o comando anterior for concluído, o aplicativo Bank of Anthos e os recursos em que ele é executado serão implantados no projeto. Se houver erros na implantação, consulte a Solução de problemas.

Como usar as informações gerais do GKE Enterprise

Os recursos do GKE Enterprise foram desenvolvidos com base na ideia da frota: um agrupamento lógico de clusters do Kubernetes que podem ser gerenciados juntos. Nas informações gerais do GKE Enterprise no console do Google Cloud, você encontra mais detalhes de todos os dispositivos.

Acesse as informações gerais do GKE Enterprise

Nas informações gerais, você encontra as seguintes informações:

  • Quantos clusters há na sua frota e se eles estão íntegros. Neste exemplo (desde que você não tenha outros clusters de membros da frota), a seção Clusters nesta frota informa que você tem um cluster do GKE.
  • O uso de recursos da sua frota, incluindo uso de CPU, memória e disco, agregados por frota e cluster.
  • Quaisquer problemas de segurança identificados na sua frota, cobertura do Policy Controller em toda a frota e status da sincronização dos pacotes do Config Sync.

Conhecer os recursos do GKE

A página Clusters do GKE mostra todos os clusters do seu projeto. Os clusters registrados em uma frota têm a frota listada na coluna Frota.

Nesta seção, você verá mais detalhes sobre os recursos do GKE do Bank of Anthos.

Clusters

  1. No console do Google Kubernetes Engine, acesse a página Clusters.

    Acessar a página de clusters

  2. Clique no cluster anthos-sample-cluster1 recém-implantado. Na página de detalhes do cluster, é possível conferir os detalhes básicos, além das configurações de rede e segurança. Você também pode verificar quais recursos do GKE estão ativados nesse cluster na seção Recursos.

  3. Clique na guia Nós para conferir todas as máquinas de worker no cluster. É possível detalhar ainda mais para verificar os pods da carga de trabalho em execução em cada nó, além de um resumo de recursos do nó (CPU, memória e armazenamento).

Saiba mais sobre os clusters e nós do GKE na documentação do GKE.

Workloads

O console do GKE tem uma visualização de cargas de trabalho que mostra uma visualização agregada das cargas de trabalho em execução em todos os clusters do GKE.

No console do Google Kubernetes Engine, acesse a página Cargas de trabalho.

Acessar a página "Cargas de trabalho"

A guia Informações gerais mostra uma lista de cargas de trabalho e namespaces do cluster do GKE. É possível filtrar por namespaces para verificar quais cargas de trabalho estão em execução em cada namespace.

Serviços e entrada

A visualização Serviços e Entrada mostra os recursos de serviço e de entrada do projeto. Um serviço expõe um conjunto de pods como um serviço de rede com um endpoint, enquanto um Ingress gerencia o acesso externo aos serviços em um cluster. No entanto, em vez de uma entrada normal do Kubernetes, o Bank of Anthos usa um serviço de gateway de entrada do Istio para tráfego no banco que as malhas do Anthos Service Mesh podem usar para adicionar mais roteamento de tráfego complexo para o tráfego de entrada. É possível conferir isso em ação ao usar os recursos de observabilidade da malha de serviço mais adiante neste tutorial.

  1. No console do Google Kubernetes Engine, acesse a página Serviços e Entrada.

    Acessar a página "Serviços e Entrada"

  2. Para encontrar os gateways de entrada do Bank of Anthos, role para baixo na lista de serviços disponíveis para encontrar o serviço com o nome frontend. Um gateway de entrada gerencia o tráfego de entrada para a malha de serviço do aplicativo. Assim, nesse caso, podemos usar os detalhes para visitar o front-end da Web do banco.

  3. Clique no endpoint do endereço IP do serviço frontend. Isso abre a interface da Web do Bank of GKE Enterprise.

Observar os serviços

No GKE Enterprise, o gerenciamento e a observabilidade de serviços são fornecidos pelo Anthos Service Mesh, um conjunto de ferramentas com tecnologia do Istio (em inglês) que ajuda a monitorar e gerenciar uma malha de serviço confiável. Para mais informações sobre o Anthos Service Mesh e como ele ajuda a gerenciar microsserviços, consulte a documentação do Anthos Service Mesh (em inglês). Se você não conhece os microsserviços com contêineres e o que eles podem fazer por você, consulte Como preparar um aplicativo para o Anthos Service Mesh.

No nosso exemplo, o cluster na implantação de amostra tem o aplicativo de exemplo do Bank of Anthos baseado em microsserviços. O aplicativo também inclui um utilitário loadgenerator que simula uma pequena quantidade de carga para o cluster. Assim, é possível ver as métricas e o tráfego no painel.

Nesta seção, você usará a página do Anthos Service Mesh do GKE para examinar os serviços e o tráfego desse aplicativo.

No console do Google Kubernetes Engine, acesse a página Malha de serviço.

Acessar a página Malha de serviço

A página mostra a visualização Lista e a visualização Topologia lado a lado, com todos os microsserviços do seu projeto, incluindo os serviços do sistema. Pode levar algum tempo para que os dados da página Malha de serviço sejam preenchidos. Se você encontrar um diagrama parcial ou nenhum diagrama na visualização da topologia, tente reiniciar os pods no cluster ou avance para a próxima seção e verifique novamente mais tarde.

Usar a visualização em lista

Cada linha na tabela é um dos serviços que compõem o aplicativo Bank of Anthos. Por exemplo, o serviço frontend renderiza a interface do usuário da Web do aplicativo e o serviço userservice gerencia contas de usuário e autenticação.

Cada lista de serviços mostra métricas atualizadas, como Taxa de erros do servidor e Solicitações por segundo, do serviço em questão. Essas métricas são coletadas imediatamente para serviços implantados no GKE Enterprise. Você não precisa escrever nenhum código de aplicativo para ver essas estatísticas.

Você pode detalhar essa visualização para ver ainda mais detalhes sobre cada serviço. Por exemplo, para saber mais sobre o serviço transactionhistory:

  1. Clique em transactionhistory na lista de serviços. A página de detalhes do serviço mostra toda a telemetria disponível para esse serviço.

  2. Na página transactionhistory, selecione Serviços conectados no menu à esquerda. Nesta página, você pode verificar as conexões Entrada e Saída do serviço. Um ícone de cadeado desbloqueado indica que algum tráfego foi observado nessa porta que não é criptografado usando TLS mútuo (mTLS). Saiba mais sobre como isso funciona no tutorial Proteger o GKE Enterprise.

    Captura de tela da visualização "Serviços conectados do Anthos Service Mesh"

Usar a visualização de topologia

A visualização da topologia permite que você se concentre em como os serviços interagem. Conforme a legenda, o gráfico mostra os serviços do Anthos Service Mesh, os serviços do Istio, as implantações e os pods do aplicativo. Se você quiser expandir essa visualização, clique em Alternar painel Painel à esquerda na Visualização em lista.

Captura de tela da visualização de topologia do Anthos Service Mesh

O Anthos Service Mesh observa automaticamente quais serviços estão se comunicando entre si para mostrar detalhes das conexões de serviço a serviço:

  • Mantenha o ponteiro do mouse sobre um item para ver mais detalhes, incluindo QPS de saída de cada serviço.

  • Arraste os nós com o mouse para melhorar a visualização de partes específicas do gráfico.

  • Clique nos nós de serviço para mais informações.

  • Clique em Expandir quando quiser segurar o ponteiro do mouse sobre um nó de carga de trabalho para saber mais detalhes, incluindo o número de instâncias de uma carga de trabalho em execução no momento.

Como explorar ainda mais o GKE Enterprise

Neste tutorial, mostramos muitos recursos do GKE Enterprise, mas ainda há muito mais para explorar e fazer com nossa implantação. Acesse nosso tutorial de acompanhamento para testar algumas tarefas práticas com o GKE Enterprise ou continue analisando o exemplo antes da limpeza.

Resolver problemas

Consulte os cenários de solução de problemas a seguir se você tiver problemas na implantação do aplicativo Bank of Anthos.

APIs do Google Cloud não ativadas (código 403)

Talvez você veja erros semelhantes aos seguintes:

Error: Error creating Feature: failed to create a diff: failed to retrieve Feature resource: googleapi:
Error 403: GKE Hub API has not been used in project {project-number} before or it is disabled.
Enable it by visiting https://console.developers.google.com/apis/api/gkehub.googleapis.com/overview?project={project-number} then retry.
If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

Como o erro sugere, aguarde alguns minutos até que uma API seja totalmente ativada e execute a implantação novamente usando terraform apply.

A página da malha de serviço não mostra todos os serviços

Depois de implantar o aplicativo Bank of Anthos, talvez seja necessário aguardar alguns minutos para que a página Service Mesh mostre os microsserviços do seu projeto. Se a página Service Mesh não mostrar alguns ou todos os serviços, mesmo após alguns minutos, isso significa que alguns proxies do Anthos Service Mesh podem não ter sido iniciados automaticamente com as cargas de trabalho do aplicativo.

Para corrigir esse problema, reinicie os pods no cluster anthos-sample-cluster1:

  • Receba as credenciais para o cluster:

    gcloud container clusters get-credentials anthos-sample-cluster1 --zone us-central1
    
  • Exclua os pods:

    kubectl delete pod -n default --all
    
  • Verifique se os pods foram reiniciados:

    kubectl get pod -n default
    

A página Service Mesh é preenchida com os microsserviços do seu projeto em alguns minutos.

Limpar

Depois de terminar de explorar o aplicativo Bank of Anthos, limpe os recursos criados no Google Cloud para que eles não ocupem cota e você não receba cobranças por eles no futuro.

  • Opção 1. É possível excluir o projeto. No entanto, se você quiser manter o projeto, use a opção 2 para excluir a implantação.

  • Opção 2. Se você quiser manter o projeto atual, use terraform destroy para excluir o cluster e o aplicativo de exemplo.

Excluir o projeto (opção 1)

A maneira mais fácil de evitar o faturamento é excluir o projeto criado para o tutorial.

    Exclua um projeto do Google Cloud:

    gcloud projects delete PROJECT_ID

Excluir a implantação (opção 2)

Essa abordagem exclui o aplicativo Bank of Anthos e o cluster, mas não o projeto. Execute os seguintes comandos no Cloud Shell:

  1. Mude para o diretório que hospeda os scripts de instalação:

    cd bank-of-anthos/iac/tf-anthos-gke
    
  2. Exclua o exemplo e o cluster:

    terraform destroy
    
  3. Insira o ID do projeto quando solicitado.

Se você planeja reimplantar, verifique se todos os requisitos foram atendidos conforme descrito na seção Antes de começar.

A seguir