Configura il progetto e il cluster in autonomia
Quando installi Cloud Service Mesh utilizzando asmcli, questo strumento può configurare il progetto e il cluster se includi il flag --enable_all o i flag di abilitazione più granulari.
Se preferisci eseguire la configurazione autonomamente anziché lasciare che asmcli apporti le modifiche, segui i passaggi descritti in questa pagina.
Se hai già installato una versione precedente di Cloud Service Mesh, non devi apportare modifiche al progetto o al cluster prima di utilizzare asmcli per eseguire l'upgrade all'ultima versione di Cloud Service Mesh.
Per impostazione predefinita, asmcli non installa istio-ingressgateway. Ti consigliamo di eseguire il deployment e gestire separatamente il control plane e i gateway.
Cloud Service Mesh supporta l'inserimento automatico per i deployment del gateway, il che semplifica gli upgrade di Cloud Service Mesh. Dopo l'upgrade di Cloud Service Mesh, riavvia i gateway proprio come i servizi al fine di recuperare la nuova configurazione del control plane.
Per ulteriori informazioni, consulta Installazione e upgrade dei gateway.
Prima di iniziare
- Esamina i prerequisiti e i requisiti (al di fuori di Google Cloud, GKE)
- Pianifica l'installazione (al di fuori di Google Cloud, GKE) o l'upgrade
- Installa gli strumenti richiesti (al di fuori di Google Cloud, GKE)
Configura il progetto
Recupera l'ID progetto in cui è stato creato il cluster.
gcloud
Esegui questo comando:
gcloud projects listConsole
Vai alla pagina Dashboard nella consoleGoogle Cloud .
Fai clic sull'elenco a discesa nella parte superiore della pagina. Nella finestra Seleziona da che compare, seleziona il tuo progetto.
L'ID progetto viene visualizzato nella scheda Informazioni sul progetto della dashboard del progetto.
Crea una variabile di ambiente per il pool di workload utilizzando l'ID progetto:
export WORKLOAD_POOL=PROJECT_ID.svc.id.googImposta i ruoli Identity and Access Management (IAM) richiesti. Se hai il ruolo Project Owner , disponi di tutte le autorizzazioni necessarie per completare l'installazione. Se non hai il ruolo Project Owner, devi chiedere a qualcuno che lo sia di concederti i seguenti ruoli IAM specifici. Nel comando seguente, sostituisci
PROJECT_IDcon l'ID progetto del passaggio precedente eGCP_EMAIL_ADDRESScon l'account che utilizzi per accedere a 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 includi il flag
--enable_allo--enable_gcp_iam_rolesquando eseguiasmcli, vengono impostati i ruoli IAM richiesti.Abilita le API di Google richieste:
gcloud services enable \ --project=PROJECT_ID \ mesh.googleapis.comOltre a
mesh.googleapis.com, questo comando abilita anche le seguenti API:API Finalità Può essere disabilitata meshconfig.googleapis.comCloud Service Mesh utilizza l'API Mesh Configuration per trasmettere i dati di configurazione dal mesh a Google Cloud. Inoltre, l'abilitazione dell'API Mesh Configuration ti consente di accedere alle pagine di Cloud Service Mesh nella console Google Cloud e di utilizzare l'autorità di certificazione Cloud Service Mesh. No meshca.googleapis.comRelativa all'autorità di certificazione Cloud Service Mesh utilizzata da Cloud Service Mesh gestito. No container.googleapis.comObbligatoria per creare cluster Google Kubernetes Engine (GKE). No gkehub.googleapis.comObbligatoria per gestire il mesh come parco risorse. No monitoring.googleapis.comObbligatoria per acquisire la telemetria per i workload del mesh. No stackdriver.googleapis.comObbligatoria per utilizzare l'interfaccia utente dei servizi. No opsconfigmonitoring.googleapis.comObbligatoria per utilizzare l'interfaccia utente dei servizi per i cluster esterni aGoogle Cloud . No connectgateway.googleapis.comObbligatoria per consentire al control plane Cloud Service Mesh gestito di accedere ai workload del mesh. Sì* trafficdirector.googleapis.comConsente un control plane gestito ad alta affidabilità e molto scalabile. Sì* networkservices.googleapis.comConsente un control plane gestito ad alta affidabilità e molto scalabile. Sì* networksecurity.googleapis.comConsente un control plane gestito ad alta affidabilità e molto scalabile. Sì* L'abilitazione delle API può richiedere un minuto o più. Quando le API sono abilitate, visualizzi un output simile al seguente:
Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished successfully.
Se includi il flag
--enable_allo--enable_apisquando eseguiasmcli, le API richieste vengono abilitate automaticamente.
Configura il cluster
Se includi il flag --enable_all o uno dei flag di abilitazione più granulari, asmcli configura il cluster per te.
Inizializza il progetto per prepararlo all'installazione. Tra le altre cose, questo comando crea un service account per consentire ai componenti del piano dati, ad esempio il proxy sidecar, di accedere in modo sicuro ai dati e alle risorse del tuo progetto. Nel comando seguente, sostituisci
FLEET_PROJECT_IDcon il progetto host del parco risorse: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"Il comando risponde con parentesi graffe vuote:
{}Per i cluster GKE su Google Cloud , imposta la zona o la regione predefinita per Google Cloud CLI. Se non imposti il valore predefinito qui, assicurati di specificare l'opzione
--zoneo--regionnei comandigcloud container clustersdi questa pagina.Se hai un cluster a zona singola, imposta la zona predefinita:
gcloud config set compute/zone CLUSTER_LOCATIONSe hai un cluster regionale, imposta la regione predefinita:
gcloud config set compute/region CLUSTER_LOCATION
Per i cluster GKE su Google Cloud , abilita Workload Identity:
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --workload-pool=${WORKLOAD_POOL}L'abilitazione di Workload Identity può richiedere fino a 10-15 minuti.
Per i cluster GKE su Google Cloud , abilita Cloud Monitoring e Cloud Logging su GKE:
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --enable-stackdriver-kubernetes
Il progetto e il cluster ora sono pronti per una nuova installazione utilizzando asmcli.
Passaggi successivi
- Installa gli strumenti dipendenti e convalida il cluster al di fuori di Google Cloud
- Installa gli strumenti dipendenti e convalida il cluster su GKE