Anthos Service Mesh 1.6

Como instalar o Anthos Service Mesh em um novo cluster usando a CLI do Anthos

Neste guia, explicaremos como instalar o Anthos Service Mesh 1.6.8-asm.9 em um novo GKE no cluster do Google Cloud usando a interface de linha de comando (CLI) do Anthos. A CLI do Anthos fornece uma forma simples e declarativa de configurar seu projeto do Google Cloud e criar um novo GKE no Google Cloud que atenda a todos os requisitos e, em seguida, instalar o Anthos Service Mesh no cluster.

A CLI do Anthos só é compatível com instalações no GKE no Google Cloud. Para instalar o Anthos Service Mesh em outros ambientes, consulte os seguintes guias:

Para instalar o Anthos Service Mesh no Google Cloud com o perfil de configuração asm-gcp-multiproject ou com o Citadel como autoridade de certificação em vez da CA do Anthos Service Mesh (CA da malha), consulte Como instalar o Anthos Service Mesh no Google Cloud

A instalação ativa os seguintes recursos:

Este guia também explica como registrar o cluster no environ do projeto. Um environ permite organizar clusters para facilitar o gerenciamento de vários deles. Ao registrar os clusters em um environ, é possível agrupar serviços e outras infraestruturas conforme necessário para aplicar políticas consistentes.

Antes de começar

Este guia pressupõe que você já tem os seguintes requisitos:

Antes de iniciar a instalação, faça o seguinte:

Requisitos

  • Para serem incluídos na malha de serviço, as portas precisam ser nomeadas, e o nome precisa incluir o protocolo da porta na seguinte sintaxe: name: protocol[-suffix], em que os colchetes indicam um sufixo opcional que precisa começar com um traço. Saiba mais em Como nomear portas de serviço.

Restrições

Só é possível ter uma instalação do Anthos Service Mesh por projeto do Google Cloud. Não é possível ter várias implantações de malha em um único projeto

Dados do certificado

Os certificados do Mesh CA incluem os seguintes dados sobre os serviços do aplicativo:

  • O ID do projeto do Google Cloud
  • O namespace do GKE
  • O nome da conta de serviço do GKE

Como configurar variáveis de ambiente

  1. Consiga o ID do projeto em que o cluster foi criado.

    gcloud

    gcloud projects list
    

    Console

    1. Vá para a página Painel de controle no Console do Cloud.

      Ir para a página "Painel"

    2. Clique na lista suspensa Selecionar de na parte superior da página. Na janela Selecionar de exibida, selecione seu projeto.

      O ID do projeto é exibido no card Informações do projeto do Painel.

  2. Crie uma variável de ambiente para o ID do projeto:

    export PROJECT_ID=YOUR_PROJECT_ID

  3. Crie uma variável de ambiente para o número do projeto:

    export ENVIRON_PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")

    Embora esse seja o mesmo número do projeto em que o cluster foi criado, esse número é usado para o ID da malha definido no cluster e no Anthos Service Mesh. Você também usa esse número de projeto ao registrar seu cluster com o environ.

  4. Crie uma variável de ambiente para o nome do cluster:

    export CLUSTER_NAME=YOUR_CLUSTER_NAME

    O nome do cluster precisa conter apenas caracteres alfanuméricos em letras minúsculas e "-", precisa começar com uma letra e terminar com um alfanumérico e não pode ter mais de 40 caracteres.

  5. Crie uma variável de ambiente para a zona ou região do cluster:

    export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION

Como preparar arquivos de configuração de recursos

  1. Crie um diretório para os arquivos de configuração de recursos do pacote asm. Recomendamos que você use o nome do cluster como o nome do diretório.

  2. Mude para o diretório em que você quer fazer o download do pacote asm.

  3. Faça o download do pacote asm para o diretório de trabalho atual:

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.6-asm .
    
  4. Defina o ID do projeto:

    kpt cfg set asm gcloud.core.project ${PROJECT_ID}
    
  5. Defina o nome do cluster:

    kpt cfg set asm gcloud.container.cluster ${CLUSTER_NAME}
    
  6. Defina o local do cluster:

    kpt cfg set asm gcloud.compute.location ${CLUSTER_LOCATION}
    

    Por padrão, os setters kpt usam a região ou a zona do cluster e do projeto configurada no gcloud config.

  7. Defina o número do projeto:

    kpt cfg set asm gcloud.project.environProjectNumber ${ENVIRON_PROJECT_NUMBER}
    
  8. Se preferir, insira os arquivos de configuração de recursos no seu próprio sistema de controle de origem, como o Cloud Source Repositories, para rastrear as alterações nos arquivos.

Alterar o tipo de máquina ou o número de nós

A CLI do Anthos cria um novo cluster com o número necessário de nós e o tipo mínimo de máquina exigido pelo Anthos Service Mesh. Esses valores são especificados em nodepool.yaml. É possível modificar sua cópia local de nodepool.yaml para especificar outro tipo de máquina, desde que ela tenha pelo menos quatro vCPUs.

É possível aumentar o número de nós conforme necessário para os requisitos do sistema com o seguinte setter:

kpt cfg set asm gcloud.container.nodepool.max-nodes NUMBER_OF_NODES

Como instalar o Anthos Service Mesh em um novo cluster

A CLI do Anthos permite as seguintes opções no cluster, que são exigidas pelo Anthos Service Mesh:

Execute o comando a seguir para criar um novo cluster e instalar o Anthos Service Mesh usando os arquivos de configuração que você personalizou anteriormente:

gcloud beta anthos apply asm

Como verificar os componentes do plano de controle

Verifique se os pods do plano de controle em istio-system estão ativos:

kubectl get pod -n istio-system

A saída esperada será assim:

NAME                                   READY   STATUS      RESTARTS   AGE
istio-ingressgateway-cff9f5c7d-qg4ls   1/1     Running   0          7m5s
istio-ingressgateway-cff9f5c7d-vlkzb   1/1     Running   0          7m20s
istiod-66b587859c-886gx                1/1     Running   0          7m33s
istiod-66b587859c-dfs2j                1/1     Running   0          7m33s

Como registrar o cluster

É necessário registrar o cluster com o environ do projeto para ter acesso à interface do usuário unificada no Console do Cloud. Um environ fornece uma forma unificada de visualizar e gerenciar os clusters e as cargas de trabalho deles, incluindo clusters fora do Google Cloud.

Veja informações sobre como registrar seu cluster em Como registrar clusters no environ.

Como injetar proxies sidecar

O Anthos Service Mesh usa proxies sidecar para aumentar a segurança, a confiabilidade e a observabilidade da rede. Com o Anthos Service Mesh, essas funções são abstraídas do contêiner principal do aplicativo e implementadas em um proxy comum fora do processo, entregue como um contêiner separado no mesmo pod.

Antes de você implantar cargas de trabalho, configure uma injeção do proxy sidecar para o Anthos Service Mesh monitorar e proteger o tráfego.

Todas as cargas de trabalho em execução no cluster antes da instalação do Anthos Service Mesh precisam ter o proxy sidecar injetado ou atualizado para que tenham a versão atual do Anthos Service Mesh. Antes de implantar novas cargas de trabalho, configure a injeção de proxy sidecar para que o Anthos Service Mesh possa monitorar e proteger o tráfego.

É possível ativar a injeção automática do sidecar com um comando, por exemplo:

kubectl label namespace NAMESPACE istio-injection=enabled --overwrite

em que NAMESPACE é o nome do namespace para os serviços do seu aplicativo ou default se você não tiver criado explicitamente um namespace.

Saiba mais em Como injetar proxies sidecar.

Como visualizar as páginas do Anthos Service Mesh

Esta seção é aplicável somente se você tiver instalado o Anthos Service Mesh com o perfil de configuração asm-gcp. Se você tiver usado o perfil asm-gcp-multiproject para instalar o Anthos Service Mesh, os dados de telemetria não estarão disponíveis nos painéis do Anthos Service Mesh no Console do Cloud.

Depois de implantar as cargas de trabalho no seu cluster com os proxies sidecar injetados, acesse as páginas do Anthos Service Mesh no Console do Cloud para ver todos os recursos de observabilidade que o Anthos Service Mesh oferece. Observe que leva cerca de um ou dois minutos para que os dados de telemetria sejam exibidos no Console do Cloud após a implantação das cargas de trabalho.

O acesso ao Anthos Service Mesh no Console do Cloud é controlado pelo Gerenciamento de identidade e acesso (IAM). Para acessar as páginas do Anthos Service Mesh, um proprietário do projeto precisa conceder aos usuários o papel de Editor ou Visualizador de projeto ou os papéis mais restritivos descritos em Como controlar o acesso ao Anthos Service Mesh no Console do Cloud.

  1. No Console do Google Cloud, acesse Anthos Service Mesh.

    Acesse o Anthos Service Mesh

  2. Selecione o projeto do Cloud na lista suspensa na barra de menus.

  3. Se você tiver mais de uma malha de serviço, selecione a malha na lista suspensa Service Mesh.

Para saber mais, consulte Como explorar o Anthos Service Mesh no Console do Cloud.

Além das páginas do Anthos Service Mesh, as métricas relacionadas aos seus serviços, como o número de solicitações recebidas por um serviço específico, são enviadas para o Cloud Monitoring, onde elas aparecem o Metrics Explorer.

Para ver métricas:

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

    Acessar o Monitoring

  2. Selecione Recursos > Metrics Explorer.

Veja uma lista completa de métricas em Métricas do Istio na documentação do Cloud Monitoring.

A seguir