Nesta página, explicamos a configuração instalação do Anthos Service Mesh do seu projeto do Cloud e
dos clusters do Google Kubernetes Engine (GKE) para uma malha composta por clusters que estão
no mesmo projeto. Quando você usa o script fornecido pelo Google,
install_asm
, o script pode
configurar seu projeto e cluster se você incluir a
sinalização --enable_all
ou as sinalizações de ativação
mais granulares.
Se você preferir fazer a configuração por conta própria em vez de deixar que install_asm
realize as
alterações, siga as etapas nesta página. Se você já tiver uma versão anterior
do Anthos Service Mesh instalada, não será necessário fazer alterações no projeto
ou no cluster antes de usar
install_asm
para fazer upgrade para a
versão mais recente do Anthos Service Mesh.
Antes de começar
- Analise as diferenças entre o Anthos e o Anthos Service Mesh
- Analise os requisitos
- Escolha uma autoridade de certificação (CA)
- Registrar o cluster
- Instalar as ferramentas necessárias
Configurar o projeto
Consiga o ID e o número do projeto em que o cluster foi criado.
gcloud
Execute este comando:
gcloud projects list
Console
Acesse a página Painel no console do Google Cloud:
Clique na lista suspensa na parte superior da página. Na janela Selecionar a partir de exibida, selecione seu projeto.
O ID do projeto e o número do projeto são exibidos no card Informações do projeto do painel do projeto:
Crie as variáveis de ambiente a seguir:
Defina o pool de carga de trabalho usando o ID do projeto:
export WORKLOAD_POOL=PROJECT_ID.svc.id.goog
Defina o código da malha usando o número do projeto:
export MESH_ID="proj-PROJECT_NUMBER"
Defina os papéis necessários de gerenciamento de identidade e acesso (IAM, na sigla em inglês). Se você for um proprietário do projeto, terá todas as permissões necessárias para concluir a instalação. Se você não for proprietário do projeto, precisará que o proprietário conceda os seguintes papéis específicos do IAM. No comando a seguir, substitua
PROJECT_ID
pelo ID do projeto da etapa anterior eGCP_EMAIL_ADDRESS
pela conta usada para fazer login no Google Cloud.ROLES=( 'roles/servicemanagement.admin' \ 'roles/serviceusage.serviceUsageAdmin' \ 'roles/meshconfig.admin' \ 'roles/compute.admin' \ 'roles/container.admin' \ 'roles/resourcemanager.projectIamAdmin' \ 'roles/iam.serviceAccountAdmin' \ 'roles/iam.serviceAccountKeyAdmin' \ 'roles/gkehub.admin') for role in "${ROLES[@]}" do gcloud projects add-iam-policy-binding PROJECT_ID \ --member "user:GCP_EMAIL_ADDRESS" \ --role="$role" done
Se você incluir a sinalização
--enable_all
ou--enable_gcp_iam_roles
ao executarinstall_asm
, ela definirá os papéis obrigatórios do IAM para você.Ative as seguintes APIs do Google:
gcloud services enable \ --project=PROJECT_ID \ container.googleapis.com \ compute.googleapis.com \ monitoring.googleapis.com \ logging.googleapis.com \ cloudtrace.googleapis.com \ meshca.googleapis.com \ meshtelemetry.googleapis.com \ meshconfig.googleapis.com \ iamcredentials.googleapis.com \ gkeconnect.googleapis.com \ gkehub.googleapis.com \ cloudresourcemanager.googleapis.com \ stackdriver.googleapis.com
A ativação das APIs pode levar um minuto ou mais para ser concluída. Quando as APIs estão ativadas, você vê uma saída semelhante a esta:
Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished successfully.
Se você incluir a sinalização
--enable_all
ou--enable_apis
ao executarinstall_asm
, ela ativará as APIs necessárias para você.
Como configurar o cluster
Se você incluir a sinalização --enable_all
ou um dos recursos de
sinalizações de ativação , o campoinstall_asm
script
configura o cluster
para você.
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
Defina o
mesh_id
rótulo no cluster. 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
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.
Inicialize seu projeto para prepará-lo para instalação. Entre outras coisas, este comando cria uma conta de serviço para permitir componentes de plano de dados, como o proxy sidecar, para acessar com segurança os dados e os recursos do seu projeto.
curl --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data '' \ "https://meshconfig.googleapis.com/v1alpha1/projects/PROJECT_ID:initialize"
A resposta do comando mostra chaves vazias:
{}
Ative o Cloud Monitoring e o Cloud Logging no GKE:
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --logging=SYSTEM,WORKLOAD \ --monitoring=SYSTEM
Seu projeto e o cluster do GKE já estão prontos para uma nova instalação
ou migração do Istio usando install_asm
. Quando você instala o Anthos Service Mesh
usando install_asm
, o perfil:
- Valida o projeto e o cluster.
- Cria uma conta de serviço no projeto para permitir que os componentes do plano de controle acessem os dados e os recursos do seu projeto.
- Configura os arquivos de recursos personalizados (CR, na sigla em inglês)
IstioOperator
necessários com as informações do projeto e do cluster para ativar os recursos padrão. - Chama
istioctl install
. É possível especificar outros arquivos de CRIstioOperator
ao chamarinstall_asm
para ativar recursos opcionais
A seguir
- Para novas instalações, consulte Como instalar o Anthos Service Mesh
- Para migrar do Istio para o Anthos Service Mesh, consulte Como migrar do Istio