Configurar o projeto e o cluster do GKE por conta própria
Ao instalar o Anthos Service Mesh usando
asmcli
, ele pode
configurar o projeto e o cluster do GKE no Google Cloud para
você 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 asmcli
faça 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
asmcli
para fazer upgrade para a
versão mais recente do Anthos Service Mesh.
Por padrão, asmcli
não instala o istio-ingressgateway
. Recomendamos
que você implante e gerencie o plano de controle e os gateways separadamente.
O Anthos Service Mesh é compatível com a injeção automática para implantações de gateway, o que facilita
os upgrades no Anthos Service Mesh. Depois de fazer upgrade do Anthos Service Mesh, reinicie os
gateways como os serviços para escolher a nova configuração do plano de controle.
Para mais informações, consulte
Como instalar e fazer upgrade de gateways.
Antes de começar
- Analise os pré-requisitos e os requisitos
- Planeje a instalação ou o upgrade
- Instalar as ferramentas necessárias
Configurar o projeto
Consiga o ID 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 é exibido no card Informações do projeto do Painel.
Crie uma variável de ambiente para o pool de carga de trabalho usando o ID do projeto:
export WORKLOAD_POOL=PROJECT_ID.svc.id.goog
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 que você usa 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 executarasmcli
, ela definirá os papéis do IAM necessários para você.Ative as APIs do Google necessárias:
gcloud services enable \ --project=PROJECT_ID \ mesh.googleapis.com
Além de
mesh.googleapis.com
, esse comando também ativa as seguintes APIs:API Finalidade Pode ser desativada? meshconfig.googleapis.com
O Anthos Service Mesh usa a API Mesh Configuration para redirecionar os dados de configuração da malha para o Google Cloud. Além disso, ativar a API Mesh Configuration permite acessar as páginas do Anthos Service Mesh no console do Google Cloud e usar a autoridade de certificação do Anthos Service Mesh (Mesh CA). Não meshca.googleapis.com
Relacionada à autoridade de certificação do Anthos Service Mesh usada pelo Anthos Service Mesh gerenciado. Não container.googleapis.com
Necessária para a criação de clusters do Google Kubernetes Engine (GKE). Não gkehub.googleapis.com
Necessária para o gerenciamento da malha como uma frota. Não monitoring.googleapis.com
Necessária para a captura da telemetria de cargas de trabalho da malha. Não stackdriver.googleapis.com
Necessária para uso da interface dos serviços. Não opsconfigmonitoring.googleapis.com
Necessária para uso da interface dos serviços para clusters fora do Google Cloud. Não connectgateway.googleapis.com
Necessária para que o plano de controle do Anthos Service Mesh gerenciado acesse cargas de trabalho da malha. Sim* trafficdirector.googleapis.com
Permite um plano de controle gerenciado altamente disponível e escalonável. Sim* networkservices.googleapis.com
Permite um plano de controle gerenciado altamente disponível e escalonável. Sim* networksecurity.googleapis.com
Permite um plano de controle gerenciado altamente disponível e escalonável. Sim* 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 executarasmcli
, as APIs necessárias serão ativadas.
Configurar o cluster
Se você incluir a sinalização --enable_all
ou uma das sinalizações de ativação
mais granulares,
asmcli
configurará 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
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. No comando a seguir, substitua
FLEET_PROJECT_ID
pelo projeto host da frota:curl --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{"workloadIdentityPools":["FLEET_PROJECT_ID.hub.id.goog","FLEET_PROJECT_ID.svc.id.goog","PROJECT_ID.svc.id.goog"]}' \ "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 \ --enable-stackdriver-kubernetes
O projeto e o cluster estão prontos para uma nova instalação usando asmcli
.