Versão 1.10

Instalação de projeto único no GKE

Neste guia, explicamos como instalar, migrar ou fazer upgrade para a versão 1.10.4 do Anthos Service Mesh para uma malha contendo um ou mais clusters do GKE que estão no mesmo projeto. Você usa um script fornecido pelo Google, install_asm, que configura o projeto e o cluster e, em seguida, instala o Anthos Service Mesh usando istioctl install.

Use este guia e o script para os seguintes casos de uso integrados:

Pré-requisitos

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

Diferenças entre o Anthos e o Anthos Service Mesh

O Anthos Service Mesh está disponível no Anthos ou como um serviço independente. As APIs do Google são usadas para determinar como você é cobrado. Para usar o Anthos Service Mesh como um serviço independente, não ative a API Anthos no seu projeto. O script ativa para você todas as outras APIs do Google necessárias . Para mais informações sobre preços do Anthos Service Mesh, consulte Preços.

  • Assinantes do Anthos. certifiquem-se de ativar a API Anthos.

    Ativar a API

  • Se você não for um assinante do Anthos, ainda poderá instalar o Anthos Service Mesh, mas determinados elementos e recursos da IU no Console do Google Cloud estão disponíveis apenas para assinantes do Anthos. Para informações sobre o que está disponível para assinantes e não assinantes, consulte Diferenças na IU do Anthos Service Mesh.

  • Se você ativou a API Anthos, mas quer usar o Anthos Service Mesh como um serviço independente, desative a API Anthos.

Requisitos

  • Seu cluster do GKE precisa atender aos seguintes 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.

  • Se você estiver instalando o Anthos Service Mesh em um cluster particular, abra a porta 15017 no firewall para que os webhooks usados para a injeção automática de sidecar e a validação da configuração funcionem. Para mais informações, consulte Como abrir uma porta em um cluster particular.

  • Se você tiver criado um perímetro de serviço na sua organização, talvez seja necessário adicionar o serviço Mesh CA ao perímetro. Saiba mais em Como adicionar o Mesh CA a um perímetro de serviço.

  • Para migrações, istiod precisa ser instalado no namespace istio-system, o que normalmente acontece.

  • Um projeto do Google Cloud só pode ter uma malha associada a ele.

  • Se você quiser alterar os limites de recursos padrão do contêiner secundário istio-proxy, os novos valores precisarão ser maiores que os padrão para evitar eventos de memória (OOM).

  • Para cargas de trabalho do Windows Server, o Istio não é compatível. Se o cluster tiver pools de nós do Linux e do Windows Server, ainda será possível instalar o Anthos Service Mesh e usá-lo nas cargas de trabalho do Linux.

Como personalizar o plano de controle

Os recursos do Anthos Service Mesh são compatíveis com as diferentes plataformas. Recomendamos que você revise os Recursos compatíveis para saber quais recursos são compatíveis com o GKE no Google Cloud. Alguns recursos são ativados por padrão, e outros podem ser ativados opcionalmente criando um arquivo de configuração IstioOperator. Ao executar o script install_asm, especifique a opção --custom_overlay com o arquivo de sobreposição.

Como escolher uma autoridade de certificação

Para novas instalações e migrações do Istio, use a autoridade de certificação do Anthos Service Mesh (Mesh CA) ou Citadel do Istio como autoridade de certificação (CA, na sigla em inglês) para emitir certificados TLS mútuos (mTLS).

A menos que você precise de uma CA personalizada, como o HashiCorp Vault (em inglês), recomendamos que use o CA da malha pelos seguintes motivos:

  • A Mesh CA é um serviço altamente confiável e escalonável, otimizado para cargas de trabalho escalonadas dinamicamente no Google Cloud.
  • Com ela, o Google gerencia a segurança e a disponibilidade do back-end da CA.
  • Esta autoridade de certificação possibilita confiar em uma única raiz de confiança entre os clusters.

Por padrão, o script ativa a CA do Mesh para novas instalações do Anthos Service Mesh.

Se você estiver migrando do Istio, poderá optar por migrar para a Mesh CA ou continuar usando a CA do Istio. A migração para a Mesh CA a partir da CA do Istio requer a migração da raiz de confiança. Você tem as seguintes opções ao migrar para a Mesh CA:

  • Programar o tempo de inatividade da migração. Operacionalmente, essa é a opção mais fácil, mas como o tráfego mTLS é interrompido durante a migração, é necessário programar o tempo de inatividade. Veja um exemplo de uso do script nesse caso em Como migrar para a Mesh CA com tempo de inatividade.

  • Distribua a nova raiz de confiança e migre para a Mesh CA. Com essa abordagem, o tráfego mTLS não é interrompido, e você não precisa programar o tempo de inatividade. No entanto, o processo de migração tem muito mais etapas. Saiba mais em Como migrar para a Mesh CA.

Se você optar por continuar usando a CA do Istio ao migrar para o Anthos Service Mesh, o tráfego mTLS não será interrompido porque a CA raiz não é alterada. Embora esse caminho de migração não interrompa as cargas de trabalho atuais, você fica limitado ao uso do plano de controle no cluster. O plano de controle gerenciado do Google requer a Mesh CA.

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 registrar o cluster

Você precisa registrar seu cluster com a frota para ter acesso à interface de usuário unificada no Console do Cloud. Uma frota fornece uma forma unificada de visualizar e gerenciar os clusters e as cargas de trabalho deles, incluindo clusters fora do Google Cloud.

Siga as etapas em Como registrar um cluster ou inclua a sinalização --enable_registration ao executar o script para permitir que ele registre o cluster no projeto que está.

Como instalar as ferramentas necessárias

É possível executar o script no Cloud Shell ou na máquina local executando o Linux. Todas as ferramentas necessárias são pré-instaladas no Cloud Shell.

Cloud Shell

O Cloud Shell provisiona uma máquina virtual (VM) g1-small do Compute Engine que executa um sistema operacional Linux baseado em Debian. Veja abaixo as vantagens de usar o Cloud Shell:

  • O Cloud Shell inclui gcloud, kubectl, kpt e as outras ferramentas de linha de comando que você precisa.

  • O diretório $HOME do Cloud Shell tem 5 GB de espaço de armazenamento permanente.

  • É possível escolher os editores de texto:

    • Editor de código, que você acessa clicando em na parte superior da janela do Cloud Shell.

    • Emacs, Vim ou Nano, que você acessa na linha de comando do Cloud Shell.

Para usar o Cloud Shell:

  1. Acesse o Console do Cloud.
  2. Selecione seu projeto do Cloud.
  3. Clique no botão Ativar o Cloud Shell na parte superior da janela do Console do Cloud.

    Console do Google Cloud Platform

    Uma sessão do Cloud Shell é aberta dentro de um novo frame na parte inferior do Console do Cloud, e exibe um prompt de linha de comando.

    Sessão do Cloud Shell

  4. Atualize os componentes:

    gcloud components update
    

    O comando responde com uma saída semelhante a esta:

    ERROR: (gcloud.components.update)
    You cannot perform this action because the Cloud SDK component manager
    is disabled for this installation. You can run the following command
    to achieve the same result for this installation:
    
    sudo apt-get update && sudo apt-get --only-upgrade install ...
  5. Copie o comando longo e cole-o para atualizar os componentes.

Computador Linux local

  1. Verifique se você tem as seguintes ferramentas instaladas:

    • o SDK do Cloud (a ferramenta de linha de comando gcloud)
    • As ferramentas de linha de comando padrão: awk, curl, grep, sed e tr.
    • git
    • kpt
    • kubectl
    • jq
  2. Faça a autenticação com o SDK do Cloud:

    gcloud auth login
    
  3. Atualize os componentes:

    gcloud components update
    
  4. Verifique se git está no seu caminho para que kpt possa encontrá-lo.

Como fazer o download do script

Nesta seção, descreveremos como fazer o download do script, definir os parâmetros obrigatórios e opcionais e como executar o script. Para uma explicação detalhada sobre o que o script faz, consulte Noções básicas sobre o script.

  1. Faça o download da versão do script que instala o Anthos Service Mesh 1.10.4 no diretório de trabalho atual:

    curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_1.10 > install_asm
    
  2. Torne o script executável:

    chmod +x install_asm
    

A seguir