Nesta página, explicamos como configurar um cluster atual do GKE com as opções exigidas pelo Anthos Service Mesh. Se você quiser adicionar clusters de diferentes projetos do Google Cloud ao Anthos Service Mesh, os clusters precisarão estar em uma nuvem privada virtual (VPC) compartilhada. Consulte Como configurar clusters com a VPC compartilhada para ver mais informações.
Antes de começar
Antes de começar a configurar um cluster, verifique estes itens:
- Revise os requisitos de cluster.
- Configure o ambiente para instalar as ferramentas necessárias.
- Configure o projeto para criar variáveis de ambiente, ativar as APIs necessárias e definir permissões.
Como configurar um cluster existente
Crie as variáveis de ambiente a seguir:
Defina o nome do cluster:
export CLUSTER_NAME=YOUR_CLUSTER_NAME
Defina
CLUSTER_LOCATION
como a zona ou a região do cluster:export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION
Defina o pool de carga de trabalho:
export WORKLOAD_POOL=${PROJECT_ID}.svc.id.goog
Defina o ID da malha:
export MESH_ID="proj-${FLEET_PROJECT_NUMBER}"
Defina a zona ou a região padrão da Google Cloud CLI. Se você não definir o padrão aqui, especifique a opção
--zone
ou--region
nos comandosgcloud container clusters
desta página.Se você tiver um cluster de zona única, defina a zona padrão:
gcloud config set compute/zone ${CLUSTER_LOCATION}
Se você tiver um cluster regional, defina a região padrão:
gcloud config set compute/region ${CLUSTER_LOCATION}
Dica: para facilitar a configuração do ambiente shell no futuro, copie e cole as instruções
export
de cada variável de ambiente em um script de shell simples que vocêsource
ao iniciar um novo shell. Também é possível adicionar os comandosgcloud
que definem valores padrão ao script. Outra opção é usargcloud init
para criar e ativar uma configuraçãogcloud
nomeada.Defina o rótulo
mesh_id
no cluster, necessário para que as métricas sejam exibidas no painel do Anthos Service Mesh no Console do Google Cloud. Se o cluster tiver rótulos existentes que você quer manter, inclua-os ao adicionar o rótulomesh_id
.Para ver se o cluster tem rótulos existentes:
gcloud container clusters describe ${CLUSTER_NAME} \ --project ${PROJECT_ID}
Procure o campo
resourceLabels
na saída. Cada rótulo é armazenado em uma linha separada no camporesourceLabels
. Por exemplo:resourceLabels: csm: '' env: dev release: stable
Se o rótulo
csm
estiver na saída, não será necessário preservá-lo. O rótulomesh_id
substitui o rótulocsm
.Para facilitar, é possível adicionar os rótulos a uma variável de ambiente. No exemplo a seguir, substitua
YOUR_EXISTING_LABELS
por uma lista separada por vírgulas dos rótulos existentes no seu cluster no formatoKEY=VALUE
. Por exemplo:env=dev,release=stable
export EXISTING_LABELS="YOUR_EXISTING_LABELS"
Defina o rótulo
mesh_id
:Se o cluster tiver rótulos que você quer manter, atualize o cluster com o
mesh_id
e os rótulos existentes:gcloud container clusters update ${CLUSTER_NAME} \ --project ${PROJECT_ID} \ --update-labels=mesh_id=${MESH_ID},${EXISTING_LABELS}
Se o cluster não tiver rótulos existentes, atualize o cluster com apenas com o rótulo
mesh_id
:gcloud container clusters update ${CLUSTER_NAME} \ --project=${PROJECT_ID} \ --update-labels=mesh_id=${MESH_ID}
Ative a Identidade da carga de trabalho:
gcloud container clusters update ${CLUSTER_NAME} \ --project=${PROJECT_ID} \ --workload-pool=${WORKLOAD_POOL}
A ativação da Identidade da carga de trabalho pode levar de 10 a 15 minutos.
Ative o Cloud Monitoring e o Cloud Logging no GKE:
gcloud container clusters update ${CLUSTER_NAME} \ --project=${PROJECT_ID} \ --enable-stackdriver-kubernetes
O que você quer fazer agora?
- Instale o Anthos Service Mesh
- Migrar do complemento Istio ou Istio no GKE para o Anthos Service Mesh