Neste guia, explicamos como instalar, migrar ou fazer upgrade para a versão 1.10.6 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:
Novas instalações do Anthos Service Mesh 1.10.6.
Fazer upgrade de qualquer versão e da versão de patch 1.7 ou superior para o Anthos Service Mesh 1.10.6. Upgrades de versões anteriores não são compatíveis.
Como migrar do Istio de código aberto para o Anthos Service Mesh. Se você tiver o Istio 1.6 ou versões anteriores, faça upgrade antes de migrar para o Anthos Service Mesh. Se você tiver o Istio 1.7 ou versões posteriores, acesse Como migrar do Istio 1.7 ou posterior para o Anthos Service Mesh e o Mesh CA. Se você precisar fazer upgrade, acesse a página Fazer upgrade do Istio na versão aplicável do Istio. O upgrade do Istio em mais de uma versão secundária (por exemplo, 1.6.x para 1.8.x) em uma etapa não é oficialmente testado ou recomendado. Não se esqueça de reler Como se preparar para migrar do Istio para planejar sua migração.
Pré-requisitos
Este guia pressupõe que você já tem:
- Um projeto do Google Cloud.
- Uma Conta de faturamento do Cloud.
- Um cluster do GKE que atenda aos requisitos.
Diferenças entre o Anthos e o Anthos Service Mesh
O Anthos Service Mesh está disponível no GKE Enterprise 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 Enterprise GKE 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.
Os assinantes do GKE Enterprise precisam ativar a API GKE Enterprise.
Mesmo que você não seja um assinante do GKE Enterprise, ainda é possível instalar o Anthos Service Mesh, mas alguns elementos e recursos da IU no console do Google Cloud estão disponíveis apenas para assinantes do GKE Enterprise. Para informações sobre o que está disponível para assinantes e não assinantes, consulte Diferenças na interface do GKE Enterprise e Anthos Service Mesh.
Se você ativou a API GKE Enterprise, mas quer usar o Anthos Service Mesh como um serviço independente, desative a API GKE Enterprise.
Requisitos
Seu cluster do GKE precisa atender aos seguintes requisitos:
O cluster do GKE precisa ser Padrão, porque os clusters do Autopilot têm limitações de Webhooks que não permitem a
MutatingWebhookConfiguration
para oistio-sidecar-injector
.Um tipo de máquina que tem pelo menos 4 vCPUs, como
e2-standard-4
. Se o tipo de máquina do cluster não tiver pelo menos 4 vCPUs, altere o tipo de máquina conforme descrito em Como migrar cargas de trabalho para diferentes tipos de máquina.O número mínimo de nós depende do seu tipo de máquina. O Anthos Service Mesh requer pelo menos 8 vCPUs. Se o tipo de máquina tiver 4 vCPUs, o cluster precisará ter pelo menos 2 nós. Se o tipo de máquina tiver 8 vCPUs, o cluster precisará apenas de 1 nó. Se for preciso adicionar nós, veja Como redimensionar um cluster.
Por padrão, o script ativa a Identidade da carga de trabalho no cluster. A identidade da carga de trabalho é o método recomendado para chamar APIs do Google. A ativação da Identidade da carga de trabalho altera a forma como as chamadas das cargas de trabalho para as APIs do Google são protegidas, conforme descrito em Limitações da Identidade da carga de trabalho.
Se você estiver fazendo uma nova instalação e planeja usar a autoridade de certificação do Anthos Service Mesh (Mesh CA, na sigla em inglês), use o pool de identidade da carga de trabalho da frota como uma alternativa à identidade da carga de trabalho do GKE. Para usar a CA da malha com o pool de identidade da carga de trabalho da frota (Pré-visualização), siga as etapas em Como registrar um cluster antes de executar o script ou inclua a sinalização
--enable_registration
ao executar o script. Isso permitirá que o script registre o cluster no projeto em que ele está. Para um exemplo de execução do script, consulte Ativar a CA da malha com o pool de identidades da carga de trabalho da frota.Como opção recomendada, inscreva o cluster em um canal de lançamento. Recomendamos que você se inscreva no canal de lançamento regular porque outros canais podem estar baseados em uma versão do GKE que não é compatível com o 1.10.6 do Anthos Service Mesh. Saiba mais em Ambientes compatíveis. Siga as instruções em Como registrar um cluster existente em um canal de lançamento se você tiver uma versão estática do GKE.
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 namespaceistio-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 Google 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:
- Acesse o Console do Google Cloud.
- Selecione seu projeto do Google Cloud.
Clique no botão Ativar Cloud Shell na parte superior da janela do console do Google Cloud.
Uma sessão do Cloud Shell é aberta dentro de um novo frame na parte inferior do console do Google Cloud, e exibe um prompt de linha de comando.
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 gcloud CLI 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 ...
Copie o comando longo e cole-o para atualizar os componentes.
Computador Linux local
Verifique se você tem as seguintes ferramentas instaladas:
- A Google Cloud CLI
- As ferramentas de linha de comando padrão:
awk
,curl
,grep
,sed
etr
. - git
- kpt
- kubectl
- jq
Faça a autenticação com a gcloud CLI:
gcloud auth login
Atualize os componentes:
gcloud components update
Verifique se
git
está no seu caminho para quekpt
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.
Faça o download da versão do script que instala o Anthos Service Mesh 1.10.6 no diretório de trabalho atual:
curl https://storage.googleapis.com/csm-artifacts/asm/install_asm_1.10 > install_asm
Torne o script executável:
chmod +x install_asm
A seguir
- Novas instalações do Anthos Service Mesh
- Como fazer upgrade do Anthos Service Mesh para a versão mais recente
- Como migrar do Istio
- Reinstalar a mesma versão
- Referência