Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Configurar o projeto e o cluster por conta própria
Ao instalar o Cloud Service Mesh usando
asmcli, ele pode
configurar o projeto e o cluster para
você se você incluir a flag --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 Cloud 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 Cloud 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 Cloud Service Mesh oferece suporte à injeção automática para implantações de gateway, o que facilita
os upgrades no Cloud Service Mesh. Depois de fazer upgrade do Cloud 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.
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 abaixo, substitua PROJECT_ID pelo
ID do projeto da etapa anterior e GCP_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
executar asmcli, ela definirá os papéis obrigatórios do IAM para você.
Além de mesh.googleapis.com, esse comando também ativa as seguintes APIs:
API
Finalidade
Pode ser desativada?
meshconfig.googleapis.com
O Cloud Service Mesh usa a API Mesh Configuration para redirecionar os dados de configuração da malha para Google Cloud. Além disso, ativar a API Mesh Configuration permite acessar as páginas do Cloud Service Mesh no console Google Cloud e usar a autoridade certificadora do Cloud Service Mesh.
Não
meshca.googleapis.com
Relacionada à autoridade certificadora do Cloud Service Mesh usada pelo Cloud 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 doGoogle Cloud .
Não
connectgateway.googleapis.com
Necessária para que o plano de controle do Cloud 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:
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:
Para clusters do GKE,
defina a zona ou a região padrão da Google Cloud CLI. Google Cloud Se você
não definir o padrão aqui, especifique a opção --zone ou --region nos comandos gcloud 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:
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-19 UTC."],[],[],null,["# Set up your project and cluster yourself\n========================================\n\nWhen you install Cloud Service Mesh using\n[`asmcli`](/service-mesh/docs/asmcli-reference), it can\nconfigure your project and your cluster for\nyou if you include the `--enable_all` flag or the more granular\n[enablement flags](/service-mesh/docs/asmcli-reference#enablement_flags).\nIf you prefer to do the setup yourself rather than having `asmcli` make the\nchanges, follow the steps on this page.\n\nIf you already have a previous version of Cloud Service Mesh installed, you don't\nneed to make any changes to your project or cluster before using\n[`asmcli` to upgrade](/service-mesh/docs/upgrade/upgrade) to the latest\nCloud Service Mesh version.\n\nBy default, `asmcli` doesn't install the `istio-ingressgateway`. We\nrecommend that you deploy and manage the control plane and gateways separately.\nCloud Service Mesh supports auto-injection for gateway deployments, which makes\nCloud Service Mesh upgrades easier. After upgrading Cloud Service Mesh, you restart the\ngateways just like your services to pick up the new control plane configuration.\nFor more information, see\n[Installing and upgrading gateways](/service-mesh/docs/operate-and-maintain/gateways).\n| **Warning:** On upgrades, `asmcli` removes the default `istio-ingressgateway` from the `istio-system` namespace. If you need the default `istio-ingressgateway` installed with the in-cluster control plane, include the `--option legacy-default-ingressgateway` argument.\n\nBefore you begin\n----------------\n\n- Review the prerequisites and requirements ([outside Google Cloud](/service-mesh/docs/onboarding/kubernetes-off-gcp/install/cloud-service-mesh-prerequisites), [GKE](/service-mesh/docs/../legacy/in-cluster/cloud-service-mesh-prerequisites))\n- Plan the installation ([outside Google Cloud](/service-mesh/docs/onboarding/kubernetes-off-gcp/install/plan-install), [GKE](/service-mesh/docs/../legacy/in-cluster/plan-install)) or the [upgrade](/service-mesh/docs/unified-install/plan-upgrade)\n- Install the required tools ([outside Google Cloud](/service-mesh/docs/onboarding/kubernetes-off-gcp/install/install-dependent-tools), [GKE](/service-mesh/docs/../legacy/in-cluster/install-dependent-tools))\n\nSet up your project\n-------------------\n\n1. Get the project ID for the project that the cluster was\n created in.\n\n ### gcloud\n\n Run the following command: \n\n gcloud projects list\n\n ### Console\n\n 1. Go to the [**Dashboard** page](https://console.cloud.google.com/home) in the\n Google Cloud console.\n\n [Go to the Dashboard page](https://console.cloud.google.com/home)\n 2. Click the drop-down list at the top of the page. In the\n **Select from** window that appears, select your project.\n\n The project ID is displayed on the project Dashboard **Project info**\n card.\n2. Create an environment variable for the workload pool using the project ID:\n\n export WORKLOAD_POOL=\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e.svc.id.goog\n\n3. Set the required Identity and Access Management (IAM) roles. If you are a\n *Project Owner* , you have all the necessary permissions to complete\n the installation. If you aren't a *Project Owner* , you need someone who is\n to grant you the following specific IAM roles. In the\n following command, replace \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e with the\n project ID from the previous step and \u003cvar translate=\"no\"\u003eGCP_EMAIL_ADDRESS\u003c/var\u003e\n with the account that you use to sign in to Google Cloud.\n\n ROLES=(\n 'roles/servicemanagement.admin' \\\n 'roles/serviceusage.serviceUsageAdmin' \\\n 'roles/meshconfig.admin' \\\n 'roles/compute.admin' \\\n 'roles/container.admin' \\\n 'roles/resourcemanager.projectIamAdmin' \\\n 'roles/iam.serviceAccountAdmin' \\\n 'roles/iam.serviceAccountKeyAdmin' \\\n 'roles/gkehub.admin')\n for role in \"${ROLES[@]}\"\n do\n gcloud projects add-iam-policy-binding \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e \\\n --member \"user:\u003cvar translate=\"no\"\u003eGCP_EMAIL_ADDRESS\u003c/var\u003e\" \\\n --role=\"$role\"\n done\n\n If you include the `--enable_all` or `--enable_gcp_iam_roles` flag when\n you run `asmcli`, it sets the required IAM roles for you.\n4. Enable the required Google APIs:\n\n gcloud services enable \\\n --project=\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e \\\n mesh.googleapis.com\n\n In addition to `mesh.googleapis.com`, this command also enables the\n following APIs:\n | **Note:** Some required APIs have transitive dependencies on other APIs.\n\n \u003cbr /\u003e\n\n | **Warning:** Disabling `connectgateway.googleapis.com`, `trafficdirector.googleapis.com`, `networkservices.googleapis.com`, and/or `networksecurity.googleapis.com` causes managed Cloud Service Mesh control plane to stop working. If the fleet does not use managed Cloud Service Mesh on any cluster, then these APIs can be disabled.\n\n Enabling the APIs can take a minute or more to complete. When the APIs\n are enabled, you see output similar to the following: \n\n ```\n Operation \"operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c\" finished\n successfully.\n ```\n\n If you include the `--enable_all` or `--enable_apis` flag when you run\n `asmcli`, it enables the required APIs for you.\n\nSet up your cluster\n-------------------\n\nIf you include the `--enable_all` flag, or one of the more granular\n[enablement flags](/service-mesh/docs/unified-install/reference#enablement_flags),\n`asmcli` sets up your cluster for you.\n\n1. [Register the cluster to the fleet](/anthos/fleet-management/docs/fleet-creation).\n\n2. Initialize your project to ready it for installation. Among other things,\n this command creates a service account to let data plane components, such\n as the sidecar proxy, securely access your project's data and resources.\n In the following command replace \u003cvar translate=\"no\"\u003eFLEET_PROJECT_ID\u003c/var\u003e with\n the\n [fleet host project](/anthos/multicluster-management/fleets#fleet-host-project):\n\n **Warning:** If your `FLEET_PROJECT_ID` is the same as your `PROJECT_ID`, then remove the `\"FLEET_PROJECT_ID.hub.id.goog\",` from the following command. Otherwise, you will receive an error code due to `INVALID_ARGUMENT`. \n\n curl --request POST \\\n --header \"Authorization: Bearer $(gcloud auth print-access-token)\" \\\n --header \"Content-Type: application/json\" \\\n --data '{\"workloadIdentityPools\":[\"\u003cvar translate=\"no\"\u003eFLEET_PROJECT_ID\u003c/var\u003e.hub.id.goog\",\"\u003cvar translate=\"no\"\u003eFLEET_PROJECT_ID\u003c/var\u003e.svc.id.goog\",\"\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e.svc.id.goog\"]}' \\\n \"https://meshconfig.googleapis.com/v1alpha1/projects/\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e:initialize\"\n\n The command responds with empty curly braces: `{}`\n3. For GKE on Google Cloud clusters,\n set the default zone or region for the Google Cloud CLI. If\n you don't set the default here, be sure to specify either the `--zone` or\n `--region` option in the `gcloud container clusters` commands on this page.\n\n - If you have a single-zone cluster, set the default zone:\n\n gcloud config set compute/zone \u003cvar translate=\"no\"\u003eCLUSTER_LOCATION\u003c/var\u003e\n\n - If you have a regional cluster, set the default region:\n\n gcloud config set compute/region \u003cvar translate=\"no\"\u003eCLUSTER_LOCATION\u003c/var\u003e\n\n4. For GKE on Google Cloud clusters, enable\n [Workload Identity](/kubernetes-engine/docs/how-to/workload-identity):\n\n gcloud container clusters update \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e \\\n --project=\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e \\\n --workload-pool=${WORKLOAD_POOL}\n\n Enabling Workload Identity can take up to 10 to 15 minutes.\n5. For GKE on Google Cloud clusters, enable\n [Cloud Monitoring and Cloud Logging on GKE](/monitoring/kubernetes-engine):\n\n gcloud container clusters update \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e \\\n --project=\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e \\\n --enable-stackdriver-kubernetes\n\nYour project and cluster are now ready for a new installation using `asmcli`.\n\nWhat's next\n-----------\n\n- [Install dependent tools and validate cluster outside Google Cloud](/service-mesh/docs/onboarding/kubernetes-off-gcp/install/install-dependent-tools)\n- [Install dependent tools and validate cluster on GKE](/service-mesh/docs/../legacy/in-cluster/install-dependent-tools)"]]