Tutorial: gerenciar serviços com o GKE Enterprise


O Anthos Service Mesh fornece aos usuários do GKE Enterprise ferramentas para monitorar e gerenciar aplicativos confiáveis baseados em microsserviços. Neste tutorial, usamos o exemplo de implantação do Bank of Anthos no Google Cloud para apresentar alguns dos recursos de gerenciamento de serviços do Anthos Service Mesh e mostrar como definir um objetivo de nível de serviço (SLO). O exemplo implanta um ambiente prático real do GKE Enterprise com um cluster do GKE, uma malha de serviço e um aplicativo do Bank of Anthos com vários microsserviços.

O que é um SLO?

De acordo com o livro engenharia de confiabilidade do site (SRE, na sigla em inglês) do Google:

É impossível gerenciar um serviço corretamente, sem entender quais comportamentos realmente são importantes para esse serviço e como medi-los e avaliá-los. Para isso, gostaríamos de definir e oferecer um determinado nível de serviço aos usuários, sem importar se eles usam uma API interna ou um produto público.

As equipes de SRE do Google usam indicadores de nível de serviço (SLIs, na sigla em inglês), objetivos de nível de serviço (SLOs, na sigla em inglês) e contratos de nível de serviço (SLAs, na sigla em inglês) para estruturar e orientar as métricas que informam seu trabalho. Uma SLI é uma medida quantitativa de algum aspecto do desempenho do serviço, como a latência ou a disponibilidade. Já um SLO é um valor de destino ("isso deve acontecer em x%). do tempo") para um nível de serviço que é medido por um SLI. Com o Anthos Service Mesh, é fácil definir e refinar SLOs para seus próprios serviços. Ele fornece as informações necessárias para identificar SLIs e SLOs adequados e informa quando o serviço não está atendendo aos SLOs.

Para saber mais sobre SLOs e SLIs no Anthos Service Mesh, consulte a Visão geral do SLO e Como projetar SLOs.

Objetivos

Neste tutorial, você aprenderá a gerenciar serviços com o Anthos Service Mesh no GKE usando as seguintes tarefas:

  • Identificar um indicador de nível de serviço (SLI) para um serviço

  • Use um objetivo de nível de serviço (SLO) para monitorar comportamentos inesperados.

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 gerados ao executar o aplicativo Bank of Anthos, como cobranças de 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

Este tutorial é uma continuação do tutorial Conheça o GKE Enterprise. Antes de começar este tutorial, siga as instruções dessa página para configurar o projeto e implantar o Bank of Anthos.

Identificar SLIs

Com o Anthos Service Mesh, a coleta de SLIs e a definição dos SLOs são uma tarefa simples e direta. No nosso exemplo, você decide definir primeiro um SLO para o serviço ledgerwriter do Bank of Anthos.

Primeiro, use o Anthos Service Mesh para encontrar informações que possam ser usadas para identificar um SLI para o serviço.

  1. Acesse a página Anthos Service Mesh no projeto em que você instalou o Bank of Anthos.

    Acessar a página do Anthos Service Mesh

    A parte superior dessa visualização mostra o status atual dos serviços do aplicativo com indicadores de alertas e SLOs, incluindo a contagem de serviços sem SLOs. Atualmente, todos os serviços estão emNenhum SLO definido. Além disso, na coluna Status, todos os serviços têm um indicador de círculo preto. Se você mantiver o ponteiro do mouse sobre esse indicador para qualquer serviço, saiba que nenhum SLO está definido para ele.

  2. Observe o valor em ms para 99% de latência para ledgerwriter (pode ser necessário rolar para baixo e para vê-lo). Essa métrica significa que 1 a cada cem solicitações apresenta esse nível de atraso. Você usará esse valor na próxima seção.

Como criar um SLO

Agora, crie um SLO com um SLI de latência para o serviço. Para ver o que acontece quando um serviço excede o orçamento de erros, defina um limite de baixa capacidade com base nas informações vistas na seção anterior. Para um serviço de produção real, você tentaria encontrar um valor de latência limite inferior ao necessário para que os usuários tenham uma boa experiência com seu aplicativo.

  1. Na visualização da tabela do Anthos Service Mesh, clique em ledergerwriter para acessar a página de visão geral do serviço.

  2. Em Status do serviço, clique em Criar um SLO.

  3. Na lista Tipo de SLI, selecione Latência.

  4. Deixe o método de avaliação padrão como com base em solicitações e clique em Continuar.

  5. Defina Limite de latência como um valor arbitrariamente baixo, como 10 ms (algo muito mais baixo do que o valor de latência de 99% que você observou anteriormente), e clique em Continuar novamente.

  6. Em Período de conformidade, defina o Tipo de período como Rolling e Duração do período como 1 Day.

  7. Em Meta do SLO, defina a Meta de conformidade como 90%. O Anthos Service Mesh usa esse valor para calcular o margem de erro que você tem para esse SLO, ou seja, a porcentagem máxima de solicitações que devem exceder o limite de latência especificado. Uma visualização mostra o desempenho do seu SLO no período mais recente de um dia. Clique em Continuar.

  8. A seção Nomear seu SLO sugere um nome padrão para o novo SLO: é possível aceitar o padrão recomendado ou especificar um novo nome. Para criar o SLO e acessar a página Integridade em ledgerwriter, clique em Criar SLO.

Clique na seta suspensa para ver mais detalhes sobre o SLO. Você verá que o SLO está fora do erro de orçamento com base nas suas configurações. Também é possível editar ou excluir o SLO nessa visualização.

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

Como verificar novamente o SLO e os indicadores de alerta

  1. Na página de visão geral do serviço, clique na seta para voltar à visualização da tabela. Agora, veja que a contagem de serviço de No SLOs set diminui em 1 e que SLOs sem margem de erro não é mais 0.

  2. Se você rolar para ledergerwriter, observe que o indicado ao lado foi alterado para um triângulo de aviso laranja. Se você mantiver o ponteiro sobre esse indicador, será instruído a investigar a confiabilidade do serviço. Ao clicar no indicador, você retorna à página de integridade do serviço para revisar os detalhes do SLO. O mesmo indicador também aparece para o serviço na visualização de topologia.

Captura de tela da lista de serviços do Anthos Service Mesh com aviso de SLO

Como explorar a implantação ainda mais

Ainda há muito mais para explorar e fazer no GKE Enterprise com nossa implantação. Confira outro tutorial ou continue explorando a implantação do Bank of Anthos no Google Cloud por conta própria antes de seguir as instruções de limpeza na próxima seção.

Limpar

Depois 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 seja cobrado 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.

  1. No Console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

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

Há muito mais para explorar na nossa documentação do GKE Enterprise.

Ver mais tutoriais

Saiba mais sobre o GKE Enterprise