Configure o projeto e o cluster manualmente
Quando instala o Cloud Service Mesh através do
asmcli, pode
configurar o seu projeto e cluster
se incluir a flag --enable_all ou as flags de ativação mais detalhadas.
Se preferir fazer a configuração em vez de deixar que o asmcli faça as alterações, siga os passos nesta página.
Se já tiver uma versão anterior do Cloud Service Mesh instalada, não
precisa de fazer alterações ao seu projeto nem cluster antes de usar
asmcli para atualizar para a versão mais recente do
Cloud Service Mesh.
Por predefinição, o asmcli não instala o istio-ingressgateway. Recomendamos que implemente e faça a gestão do plano de controlo e das gateways separadamente.
O Cloud Service Mesh suporta a injeção automática para implementações de gateways, o que facilita as atualizações do Cloud Service Mesh. Depois de atualizar o Cloud Service Mesh, reinicie os gateways, tal como os seus serviços, para receber a nova configuração do plano de controlo.
Para mais informações, consulte o artigo
Instalar e atualizar gateways.
Antes de começar
- Reveja os pré-requisitos e os requisitos (externos Google Cloud, GKE)
- Planeie a instalação (fora Google Cloud, GKE) ou a atualização
- Instale as ferramentas necessárias (fora Google Cloud, GKE)
Configure o seu projeto
Obtenha o ID do projeto no qual o cluster foi criado.
gcloud
Execute o seguinte comando:
gcloud projects listConsola
Aceda à página Painel de controlo na Google Cloud consola.
Clique na lista pendente na parte superior da página. Na janela Selecionar a partir de apresentada, selecione o seu projeto.
O ID do projeto é apresentado no cartão Informações do projeto no painel de controlo do projeto.
Crie uma variável de ambiente para o Workload Identity Pool com o ID do projeto:
export WORKLOAD_POOL=PROJECT_ID.svc.id.googDefina as funções de gestão de identidade e de acesso (IAM) necessárias. Se for o proprietário do projeto, tem todas as autorizações necessárias para concluir a instalação. Se não for um proprietário do projeto, precisa de alguém que o seja para lhe conceder as seguintes funções de IAM específicas. No comando seguinte, substitua
PROJECT_IDpelo ID do projeto do passo anterior eGCP_EMAIL_ADDRESSpela conta que usa para iniciar sessão 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" doneSe incluir a flag
--enable_allou--enable_gcp_iam_rolesquando executarasmcli, define as funções da IAM necessárias por si.Ative as APIs Google necessárias:
gcloud services enable \ --project=PROJECT_ID \ mesh.googleapis.comAlém de
mesh.googleapis.com, este comando também ativa as seguintes APIs:API Finalidade Pode ser desativado meshconfig.googleapis.comO Cloud Service Mesh usa a API Mesh Configuration para retransmitir dados de configuração da sua malha para Google Cloud. Além disso, a ativação da API Mesh Configuration permite-lhe aceder às páginas do Cloud Service Mesh na Google Cloud consola e usar a autoridade de certificação do Cloud Service Mesh. Não meshca.googleapis.comRelacionado com a autoridade de certificação do Cloud Service Mesh usada pelo Cloud Service Mesh gerido. Não container.googleapis.comNecessário para criar clusters do Google Kubernetes Engine (GKE). Não gkehub.googleapis.comNecessário para gerir a malha como uma frota. Não monitoring.googleapis.comNecessário para capturar telemetria para cargas de trabalho de malha. Não stackdriver.googleapis.comNecessário para usar a IU dos Serviços. Não opsconfigmonitoring.googleapis.comNecessário para usar a IU dos serviços para clusters fora doGoogle Cloud . Não connectgateway.googleapis.comNecessário para que o plano de controlo do Cloud Service Mesh gerido possa aceder às cargas de trabalho da malha. Sim* trafficdirector.googleapis.comAtiva um plano de controlo gerido altamente disponível e escalável. Sim* networkservices.googleapis.comAtiva um plano de controlo gerido altamente disponível e escalável. Sim* networksecurity.googleapis.comAtiva um plano de controlo gerido altamente disponível e escalável. Sim* A ativação das APIs pode demorar um minuto ou mais. Quando as APIs estão ativadas, vê um resultado semelhante ao seguinte:
Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished successfully.
Se incluir a flag
--enable_allou--enable_apisquando executar o comandoasmcli, ativa as APIs necessárias.
Configure o cluster
Se incluir a flag --enable_all ou uma das flags de ativação mais detalhadas,
asmcli configura o cluster por si.
Inicialize o projeto para o preparar para a instalação. Entre outras coisas, este comando cria uma conta de serviço para permitir que os componentes do plano de dados, como o proxy sidecar, acedam de forma segura aos dados e aos recursos do seu projeto. No comando seguinte, substitua
FLEET_PROJECT_IDpelo projeto de anfitrião 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"O comando responde com chavetas vazias:
{}Para clusters do GKE no Google Cloud , defina a zona ou a região predefinida para a CLI Google Cloud. Se não definir a predefinição aqui, certifique-se de que especifica a opção
--zoneou--regionnos comandosgcloud container clustersnesta página.Se tiver um cluster de zona única, defina a zona predefinida:
gcloud config set compute/zone CLUSTER_LOCATIONSe tiver um cluster regional, defina a região predefinida:
gcloud config set compute/region CLUSTER_LOCATION
Para clusters do GKE on Google Cloud , ative o Workload Identity:
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --workload-pool=${WORKLOAD_POOL}A ativação do Workload Identity pode demorar entre 10 e 15 minutos.
Para clusters do GKE, ative o Cloud Monitoring e o Cloud Logging no GKE: Google Cloud
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --enable-stackdriver-kubernetes
O seu projeto e cluster estão agora prontos para uma nova instalação com o asmcli.
O que se segue?
- Instale ferramentas dependentes e valide o cluster fora do Google Cloud
- Instale ferramentas dependentes e valide o cluster no GKE