Configurare il progetto e il cluster in autonomia
bookmark_border bookmark
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Quando installi Cloud Service Mesh utilizzando
asmcli
, può
configurare il progetto e il cluster per
te se includi il flag --enable_all
o i più granulari
flag di abilitazione .
Se preferisci eseguire la configurazione autonomamente anziché lasciare che sia asmcli
a apportare le modifiche, segui i passaggi descritti in questa pagina.
Se hai già installato una versione precedente di Cloud Service Mesh, non è necessario apportare modifiche al progetto o al cluster prima di utilizzare asmcli
per eseguire l'upgrade alla versione più recente di Cloud Service Mesh.
Per impostazione predefinita, asmcli
non installa istio-ingressgateway
. Ti consigliamo di eseguire il deployment e gestire il piano di controllo e i gateway separatamente.
Cloud Service Mesh supporta l'iniezione automatica per i deployment dei gateway, il che semplifica gli upgrade di Cloud Service Mesh. Dopo aver eseguito l'upgrade di Cloud Service Mesh, riavvia i gateway come i tuoi servizi per acquisire la nuova configurazione del piano di controllo.
Per ulteriori informazioni, consulta
Installare e eseguire l'upgrade dei gateway .
Avviso: durante gli upgrade, asmcli
rimuove istio-ingressgateway
predefinito dall'spazio dei nomi istio-system
. Se hai bisogno del valore predefinito istio-ingressgateway
installato con il piano di controllo in-cluster, includi l'argomento --option legacy-default-ingressgateway
.
Prima di iniziare
Configura il progetto
Recupera l'ID progetto in cui è stato creato il cluster.
Esegui questo comando:
gcloud projects list
Vai alla pagina Dashboard nella console Google Cloud.
Vai alla pagina Dashboard
Fai clic sull'elenco a discesa nella parte superiore della pagina. Nella finestra Seleziona da visualizzata, 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 carichi di lavoro utilizzando l'ID progetto:
export WORKLOAD_POOL=PROJECT_ID .svc.id.goog
Imposta i ruoli IAM (Identity and Access Management) richiesti. Se sei un
proprietario del progetto , disponi di tutte le autorizzazioni necessarie per completare
l'installazione. Se non sei un proprietario del progetto , devi avere un utente che ti conceda i seguenti ruoli IAM specifici. Nel
comando seguente, sostituisci PROJECT_ID
con l'ID progetto del
passaggio precedente e GCP_EMAIL_ADDRESS
con 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"
done
Se includi il flag --enable_all
o --enable_gcp_iam_roles
quando esegui asmcli
, vengono impostati automaticamente i ruoli IAM richiesti.
Abilita le API Google richieste:
gcloud services enable \
--project=PROJECT_ID \
mesh.googleapis.com
Oltre a mesh.googleapis.com
, questo comando abilita anche le seguenti API:
Nota: alcune API richieste hanno dipendenze transitorie da altre API.
API
Finalità
Può essere disattivato
meshconfig.googleapis.com
Cloud Service Mesh utilizza l'API Mesh Configuration per inoltrare i dati di configurazione dal tuo mesh a Google Cloud. Inoltre, l'attivazione 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.com
Relativa all'autorità di certificazione Cloud Service Mesh utilizzata da Cloud Service Mesh gestito.
No
container.googleapis.com
Obbligatorio per creare cluster Google Kubernetes Engine (GKE).
No
gkehub.googleapis.com
Obbligatorio per gestire la mesh come parco risorse .
No
monitoring.googleapis.com
Obbligatorio per acquisire la telemetria per i carichi di lavoro mesh.
No
stackdriver.googleapis.com
Obbligatorio per utilizzare l'interfaccia utente dei servizi.
No
opsconfigmonitoring.googleapis.com
Obbligatorio per utilizzare l'interfaccia utente dei servizi per i clusterGoogle Cloud esterni.
No
connectgateway.googleapis.com
Obbligatorio affinché il control plane di Cloud Service Mesh gestito possa accedere ai carichi di lavoro di mesh.
Sì*
trafficdirector.googleapis.com
Consente un piano di controllo gestito altamente disponibile e scalabile.
Sì*
networkservices.googleapis.com
Consente un piano di controllo gestito altamente disponibile e scalabile.
Sì*
networksecurity.googleapis.com
Consente un piano di controllo gestito altamente disponibile e scalabile.
Sì*
Avviso: la disattivazione di connectgateway.googleapis.com
,
trafficdirector.googleapis.com
,
networkservices.googleapis.com
e/o
networksecurity.googleapis.com
fa smettere di funzionare il piano di controllo gestito di Cloud Service Mesh. Se il parco risorse non utilizza Cloud Service Mesh gestito su nessun cluster, queste API possono essere disattivate.
L'attivazione delle API può richiedere un minuto o più. Quando le API sono attivate, viene visualizzato un output simile al seguente:
Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished
successfully.
Se includi il flag --enable_all
o --enable_apis
quando esegui
asmcli
, le API richieste vengono abilitate automaticamente.
Configurazione del cluster
Se includi il flag --enable_all
o uno dei flag di attivazione più granulari, asmcli
configura il cluster per te.
Registra il cluster nel parco risorse .
Inizializza il progetto per prepararlo all'installazione. Tra le altre cose, questo comando crea un account di servizio per consentire ai componenti del piano dati, come il proxy sidecar, di accedere in modo sicuro ai dati e alle risorse del progetto.
Nel comando seguente, sostituisci FLEET_PROJECT_ID
con il
progetto host del parco risorse :
Avviso: se FLEET_PROJECT_ID
è uguale a PROJECT_ID
, rimuovi "FLEET_PROJECT_ID.hub.id.goog",
dal seguente comando.
In caso contrario, riceverai un codice di errore a causa di INVALID_ARGUMENT
.
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 --zone
o
--region
nei comandi gcloud container clusters
in questa pagina.
Se hai un cluster a zona singola, imposta la zona predefinita:
gcloud config set compute/zone CLUSTER_LOCATION
Se 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'attivazione 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 sono ora pronti per una nuova installazione utilizzando asmcli
.
Passaggi successivi