Questa guida spiega come eseguire un'installazione pulita della versione di Anthos Service Mesh
1.10.6-asm.2 su GKE su VMware e su bare metal. Se
hai installato una versione precedente di Anthos Service Mesh, consulta
Upgrade di Anthos Service Mesh on-premise.
La guida all'installazione mostra come installare l'autorità di certificazione Anthos Service Mesh (CA mesh) o l'autorità di certificazione Istio (precedentemente nota come Citadel). Questa guida fa riferimento al cluster come cluster1
, ma puoi ripetere questi passaggi per configurare molti cluster.
Informazioni sui componenti del piano di controllo
GKE su VMware e bare metal hanno i seguenti componenti Istio preinstallati:
- L'autorità di certificazione Istio (precedentemente nota come Citadel) è installata
nello spazio dei nomi
kube-system
. - Il gateway Istio Ingress e gli altri componenti Istio sono installati nello
spazio dei nomi
gke-system
.
GKE on VMware e on bare metal utilizzano questi componenti per consentire il traffico in entrata e per proteggere la comunicazione tra i componenti controllati da Google. Se hai bisogno solo della funzionalità Ingress, non devi installare il sistema operativo Istio o Anthos Service Mesh. Per ulteriori informazioni sulla configurazione del traffico in entrata, consulta Abilitazione del traffico in entrata nella documentazione di GKE su VMware.
Quando installi Anthos Service Mesh, i relativi componenti vengono installati nello spazio dei nomi istio-system
. Poiché i componenti di Anthos Service Mesh si trovano in uno spazio dei nomi diverso, non sono in conflitto con i componenti Istio preinstallati.
Prima di iniziare
Esamina i seguenti requisiti prima di iniziare la configurazione.
Requisiti
Devi avere una sottoscrizione ad Anthos. In alternativa, per GKE Enterprise è disponibile l'opzione di fatturazione con pagamento a consumo solo su Google Cloud. Per ulteriori informazioni, consulta la guida ai prezzi di GKE Enterprise.
Verifica che il cluster utente su cui installi Anthos Service Mesh abbia almeno 4 vCPU, 15 GB di memoria e 4 nodi.
I nodi del cluster utente devono avere accesso a Internet per completare l'installazione di Anthos Service Mesh. Non è possibile accedere a Internet tramite un proxy HTTP.
Devi assegnare un nome alle porte di servizio utilizzando la seguente sintassi:
name: protocol[-suffix]
dove le parentesi quadre indicano un suffisso facoltativo che deve iniziare con un trattino. Per maggiori informazioni, consulta Denominazione delle porte dei servizi.Verifica che la versione del cluster sia elencata in Ambienti supportati.
VMWare
Per verificare la versione del cluster, puoi utilizzare lo strumento a riga di comando gkectl
.
Se non hai installato gkectl
, consulta
Download di GKE su VMware.
gkectl version
Bare Metal
Per verificare la versione del cluster, puoi utilizzare lo strumento a riga di comando bmctl
.
Se bmctl
non è installato, consulta la
guida rapida di GDCV per Bare Metal.
bmctl version
Configurazione dell'ambiente
Devi disporre dei seguenti strumenti sul computer in cui controlli il processo di installazione. Tieni presente che puoi installare Anthos Service Mesh solo su un cluster utente, non su un cluster di amministrazione.
- Lo strumento a riga di comando
curl
. - Google Cloud CLI.
Dopo aver installato gcloud CLI:
Esegui l'autenticazione con gcloud CLI:
gcloud auth login
Aggiorna i componenti:
gcloud components update
Installa
kubectl
:gcloud components install kubectl
Installa
kpt
:curl -L https://github.com/GoogleContainerTools/kpt/releases/download/v0.39.2/kpt_linux_amd64 > kpt_0_39_2 chmod +x kpt_0_39_2 alias kpt="$(readlink -f kpt_0_39_2)"
Imposta le variabili di ambiente
Ottieni il nome contesto per il cluster utilizzando i valori nella colonna
NAME
nell'output di questo comando:kubectl config get-contexts
Imposta le variabili di ambiente sul nome del contesto del cluster, che questa guida utilizzerà in molti passaggi successivi:
export CTX_CLUSTER1=CLUSTER1_CONTEXT_NAME
Concessione delle autorizzazioni di amministratore del cluster
Concedi le autorizzazioni di amministratore del cluster al tuo account utente (l'indirizzo email di accesso a Google Cloud). Devi disporre di queste autorizzazioni per creare le regole di controllo dell'controllo dell'accesso basato sui ruoli (RBAC) necessarie per Anthos Service Mesh:
kubectl --context="${CTX_CLUSTER1}" create clusterrolebinding cluster-admin-binding \ --clusterrole=cluster-admin \ --user=USER_ACCOUNT
Download del file di installazione in corso...
Linux
Scarica il file di installazione di Anthos Service Mesh nella tua directory di lavoro attuale:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.10.6-asm.2-linux-amd64.tar.gz
Scarica il file della firma e utilizza
openssl
per verificare la firma:curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.10.6-asm.2-linux-amd64.tar.gz.1.sig openssl dgst -verify /dev/stdin -signature istio-1.10.6-asm.2-linux-amd64.tar.gz.1.sig istio-1.10.6-asm.2-linux-amd64.tar.gz <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
L'output previsto è:
Verified OK
.Estrai i contenuti del file in qualsiasi posizione nel file system. Ad esempio, per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.10.6-asm.2-linux-amd64.tar.gz
Il comando crea una directory di installazione nella directory di lavoro corrente denominata
istio-1.10.6-asm.2
che contiene:- Applicazioni di esempio nella directory
samples
. - Lo strumento a riga di comando
istioctl
che utilizzi per installare Anthos Service Mesh si trova nella directorybin
. - I profili di configurazione di Anthos Service Mesh si trovano nella directory
manifests/profiles
.
- Applicazioni di esempio nella directory
Assicurati di essere nella directory principale dell'installazione di Anthos Service Mesh.
cd istio-1.10.6-asm.2
Mac OS
Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro attuale:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.10.6-asm.2-osx.tar.gz
Scarica il file della firma e utilizza
openssl
per verificare la firma:curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.10.6-asm.2-osx.tar.gz.1.sig openssl dgst -sha256 -verify /dev/stdin -signature istio-1.10.6-asm.2-osx.tar.gz.1.sig istio-1.10.6-asm.2-osx.tar.gz <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
L'output previsto è:
Verified OK
.Estrai i contenuti del file in qualsiasi posizione nel file system. Ad esempio, per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.10.6-asm.2-osx.tar.gz
Il comando crea una directory di installazione nella directory di lavoro corrente denominata
istio-1.10.6-asm.2
che contiene:- Applicazioni di esempio nella directory
samples
. - Lo strumento a riga di comando
istioctl
che utilizzi per installare Anthos Service Mesh si trova nella directorybin
. - I profili di configurazione di Anthos Service Mesh si trovano nella directory
manifests/profiles
.
- Applicazioni di esempio nella directory
Assicurati di essere nella directory principale dell'installazione di Anthos Service Mesh.
cd istio-1.10.6-asm.2
Windows
Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro attuale:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.10.6-asm.2-win.zip
Scarica il file della firma e utilizza
openssl
per verificare la firma:curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.10.6-asm.2-win.zip.1.sig openssl dgst -verify - -signature istio-1.10.6-asm.2-win.zip.1.sig istio-1.10.6-asm.2-win.zip <<'EOF' -----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF
L'output previsto è:
Verified OK
.Estrai i contenuti del file in qualsiasi posizione nel file system. Ad esempio, per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.10.6-asm.2-win.zip
Il comando crea una directory di installazione nella directory di lavoro corrente denominata
istio-1.10.6-asm.2
che contiene:- Applicazioni di esempio nella directory
samples
. - Lo strumento a riga di comando
istioctl
che utilizzi per installare Anthos Service Mesh si trova nella directorybin
. - I profili di configurazione di Anthos Service Mesh si trovano nella directory
manifests/profiles
.
- Applicazioni di esempio nella directory
Assicurati di essere nella directory principale dell'installazione di Anthos Service Mesh.
cd istio-1.10.6-asm.2
Installazione di Anthos Service Mesh con Mesh CA
Questa sezione spiega come installare Anthos Service Mesh con Mesh CA e registrare il cluster nel parco risorse. Ti consigliamo di utilizzare Mesh CA per i seguenti motivi:
- Mesh CA è un servizio altamente affidabile e scalabile ottimizzato per carichi di lavoro con scalabilità dinamica su Google Cloud e on-premise.
- Con Mesh CA, Google gestisce la sicurezza e la disponibilità del backend della CA.
- Mesh CA consente di fare affidamento su una singola radice di attendibilità tra i cluster.
Se vuoi utilizzare la CA Istio con la tua CA radice, consulta la pagina relativa alla configurazione della CA Istio.
La funzionalità Mesh CA dipende dalla registrazione del parco risorse. Per impostazione predefinita, il cluster è registrato in un parco risorse. Per verificare lo stato del cluster, consulta Visualizzazione dei cluster registrati
Abilita le seguenti API:
gcloud services enable \ anthos.googleapis.com \ cloudtrace.googleapis.com \ cloudresourcemanager.googleapis.com \ container.googleapis.com \ compute.googleapis.com \ gkeconnect.googleapis.com \ gkehub.googleapis.com \ iam.googleapis.com \ iamcredentials.googleapis.com \ logging.googleapis.com \ meshca.googleapis.com \ meshtelemetry.googleapis.com \ meshconfig.googleapis.com \ monitoring.googleapis.com \ stackdriver.googleapis.com \ sts.googleapis.com
Inizializza la configurazione del mesh:
IDENTITY_PROVIDER="$(kubectl get memberships.hub.gke.io membership -o=jsonpath='{.spec.identity_provider}')" IDENTITY="$(echo "${IDENTITY_PROVIDER}" | sed 's/^https:\/\/gkehub.googleapis.com\/projects\/\(.*\)\/locations\/global\/memberships\/\(.*\)$/\1 \2/g')" read -r ENVIRON_PROJECT_ID HUB_MEMBERSHIP_ID <<EOF ${IDENTITY} EOF POST_DATA='{"workloadIdentityPools":["'${ENVIRON_PROJECT_ID}'.hub.id.goog","'${ENVIRON_PROJECT_ID}'.svc.id.goog"]}' curl --request POST \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --data "${POST_DATA}" \ https://meshconfig.googleapis.com/v1alpha1/projects/${ENVIRON_PROJECT_ID}:initialize
Configura l'installazione:
kpt pkg get \ https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.10-asm asm ENVIRON_PROJECT_NUMBER=$(gcloud projects describe "${ENVIRON_PROJECT_ID}" --format="value(projectNumber)") CLUSTER_NAME="${HUB_MEMBERSHIP_ID}" CLUSTER_LOCATION="global" HUB_IDP_URL="$(kubectl get memberships.hub.gke.io membership -o=jsonpath='{.spec.identity_provider}')" kpt cfg set asm gcloud.core.project ${ENVIRON_PROJECT_ID} kpt cfg set asm gcloud.container.cluster ${CLUSTER_NAME} kpt cfg set asm gcloud.compute.location ${CLUSTER_LOCATION} kpt cfg set asm anthos.servicemesh.hub gcr.io/gke-release/asm kpt cfg set asm anthos.servicemesh.rev asm-1106-2 kpt cfg set asm anthos.servicemesh.tag 1.10.6-asm.2 kpt cfg set asm gcloud.project.environProjectNumber ${ENVIRON_PROJECT_NUMBER} kpt cfg set asm anthos.servicemesh.hubTrustDomain ${ENVIRON_PROJECT_ID}.svc.id.goog kpt cfg set asm anthos.servicemesh.hub-idp-url "${HUB_IDP_URL}"
Se necessario, passa alla directory
istio-1.10.6-asm.2
. Il clientistioctl
dipende dalla versione. Assicurati di utilizzare la versione presente nella directoryistio-1.10.6-asm.2/bin
.Esegui questo comando per installare Anthos Service Mesh.
bin/istioctl install \ -f asm/istio/istio-operator.yaml \ -f asm/istio/options/hub-meshca.yaml --revision=asm-1106-2
Se vuoi abilitare una funzionalità facoltativa supportata, includi
-f
e il nome del file YAML nella riga di comando seguente, dopo-f cluster.yaml
. Per saperne di più, consulta Attivazione delle funzionalità facoltative.
Installazione di Anthos Service Mesh con Istio CA
Questa sezione spiega come generare certificati e chiavi per la CA Istio utilizzata da Anthos Service Mesh on-prem per firmare i carichi di lavoro. Se hai già installato Anthos Service Mesh con Mesh CA, puoi passare direttamente a Impostare la rete predefinita.
Per la massima sicurezza, consigliamo vivamente di mantenere una CA radice offline e di utilizzare le CA subordinate per emettere certificati per ogni cluster. Per ulteriori informazioni, consulta la sezione Collegare certificati CA. In questa configurazione, tutti i carichi di lavoro nel mesh di servizi utilizzano la stessa autorità di certificazione (CA) radice. Ogni CA Anthos Service Mesh utilizza una chiave e un certificato di firma della CA intermedia, firmati dalla CA radice. Quando sono presenti più CA all'interno di un mesh, viene stabilita una gerarchia di attendibilità tra le CA. Puoi ripetere questi passaggi per eseguire il provisioning di certificati e chiavi per un numero qualsiasi di autorità di certificazione.
Crea una directory per i certificati e le chiavi:
mkdir -p certs && \ pushd certs
Genera un certificato radice e una chiave:
make -f ../tools/certs/Makefile.selfsigned.mk root-ca
Questo genera i seguenti file:
- root-cert.pem: il certificato radice
- root-key.pem: la chiave radice
- root-ca.conf: la configurazione di beginsl per generare il certificato radice
- root-cert.csr: la richiesta di firma del certificato per il certificato radice
Genera un certificato e una chiave intermedi:
make -f ../tools/certs/Makefile.selfsigned.mk cluster1-cacerts
Questo genera i seguenti file in una directory denominata
cluster1
:- ca-cert.pem: i certificati intermedi
- ca-key.pem: la chiave intermedia
- cert-chain.pem: la catena di certificati utilizzata da istiod
- root-cert.pem: il certificato radice
Se esegui questi passaggi utilizzando un computer offline, copia la directory generata su un computer con accesso ai cluster.
Crea un secret
cacerts
che includa tutti i file di inputca-cert.pem
,ca- key.pem
,root-cert.pem
ecert-chain.pem
:kubectl --context="${CTX_CLUSTER1}" create namespace istio-system kubectl --context="${CTX_CLUSTER1}" create secret generic cacerts -n istio-system \ --from-file=cluster1/ca-cert.pem \ --from-file=cluster1/ca-key.pem \ --from-file=cluster1/root-cert.pem \ --from-file=cluster1/cert-chain.pem
Anthos Service Mesh on-prem rileva la presenza di questi certificati/chiavi e li utilizza durante il processo di installazione nei passaggi successivi.
Torna alla directory precedente:
popd
Configurazione e installazione di Anthos Service Mesh con Istio CA
Questa sezione spiega come installare Anthos Service Mesh con i certificati CA Istio (precedentemente noti come Citadel) generati in precedenza. Se hai già installato Anthos Service Mesh con Mesh CA, puoi passare direttamente a Impostare la rete predefinita.
Crea una variabile di ambiente per l'ID progetto:
export PROJECT_ID=YOUR_PROJECT_ID
Crea una variabile di ambiente per il numero di progetto:
export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")
Crea una variabile di ambiente per l'identificatore mesh. Può essere qualsiasi stringa, ma deve essere in un formato coerente tra i cluster.
export MESH_ID="proj-${PROJECT_NUMBER}"
Crea la configurazione per il piano di controllo del cluster, che installerà Anthos Service Mesh utilizzando il profilo
asm-multicloud
. Se vuoi abilitare una funzionalità supportata facoltativa, includi-f
e il nome del file YAML nella riga di comando seguente. Per ulteriori informazioni, consulta Abilitazione delle funzionalità facoltative.Nell'esempio seguente:
Utilizza il criterio
MESH_ID
definito nei passaggi precedenti.NETWORK_ID
può essere qualsiasi stringa che identifichi la rete di un cluster. In questa configurazione on-premise, ogni cluster si trova sulla propria rete, quindi ogni cluster dovrebbe avere un valore diverso.NETWORK_ID
ha le stesse limitazioni di stringa di un'etichetta Kubernetes descritta in Sintassi e set di caratteri.
cat <<EOF > cluster.yaml apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: profile: asm-multicloud revision: asm-1106-2 values: global: meshID: ${MESH_ID} multiCluster: clusterName: CLUSTER_NAME network: NETWORK_ID EOF
Se necessario, passa alla directory
istio-1.10.6-asm.2
. Il clientistioctl
dipende dalla versione. Assicurati di utilizzare la versione presente nella directoryistio-1.10.6-asm.2/bin
.Esegui questo comando per installare Anthos Service Mesh. Se vuoi abilitare una funzionalità facoltativa supportata, includi
-f
e il nome del file YAML nella riga di comando seguente, dopo-f cluster.yaml
. Per ulteriori informazioni, consulta Attivazione delle funzionalità facoltative.bin/istioctl install \ --context="${CTX_CLUSTER1}" \ -f cluster.yaml
Impostazione della rete predefinita
Imposta la rete predefinita nello spazio dei nomi istio-system
.
kubectl --context="${CTX_CLUSTER1}" label \ namespace istio-system topology.istio.io/network=NETWORK_ID
Configurazione del webhook di convalida
Quando installi Anthos Service Mesh, imposti un'etichetta di revisione su istiod
. Devi
impostare la stessa revisione sul webhook di convalida.
Copia il seguente file YAML in un file denominato
istiod-service.yaml
:cat <<EOF > istiod-service.yaml apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1106-2 app: istiod istio: pilot release: istio spec: ports: - port: 15010 name: grpc-xds # plaintext protocol: TCP - port: 15012 name: https-dns # mTLS with k8s-signed cert protocol: TCP - port: 443 name: https-webhook # validation and injection targetPort: 15017 protocol: TCP - port: 15014 name: http-monitoring # prometheus stats protocol: TCP selector: app: istiod istio.io/rev: asm-1106-2 EOF
Configura il webhook di convalida in modo che possa individuare il servizio
istiod
con l'etichetta di revisione:kubectl --context="${CTX_CLUSTER1}" apply -f istiod-service.yaml
Questo comando crea una voce di servizio che consente al webhook di convalida di controllare automaticamente le configurazioni prima che vengano applicate.
Il TLS (mTLS automatico) automatico è abilitato per impostazione predefinita. Con la crittografia automatica mTLS, un proxy sidecar client rileva automaticamente se il server ha un file collaterale. Il client collaterale invia mTLS ai carichi di lavoro con file collaterali e invia traffico di testo normale ai carichi di lavoro senza file collaterali.
Controllo dei componenti del piano di controllo
Verifica che i pod del piano di controllo in istio-system
siano in esecuzione:
kubectl --context="${CTX_CLUSTER1}" get pod -n istio-system
L'output previsto è simile al seguente:
NAME READY STATUS RESTARTS AGE istio-ingressgateway-74cc894bfd-786rg 1/1 Running 0 7m19s istiod-78cdbbbdb-d7tps 1/1 Running 0 7m36s promsd-576b8db4d6-lqf64 2/2 Running 1 7m19s
Inserimento di proxy sidecar
Anthos Service Mesh utilizza i proxy sidecar per migliorare la sicurezza, l'affidabilità e l'osservabilità della rete. Con Anthos Service Mesh, queste funzioni vengono astratte dal container principale dell'applicazione e implementate in un proxy out-of-process comune, fornito come container separato nello stesso pod.
L'installazione non è completa finché non attivi l'inserimento automatico del proxy sidecar (inserimento automatico) e riavvii i pod per qualsiasi carico di lavoro in esecuzione sul tuo cluster prima dell'installazione di Anthos Service Mesh.
Per abilitare l'inserimento automatico, etichetta gli spazi dei nomi con l'etichetta di revisione
che è stata impostata il giorno istiod
al momento dell'installazione di Anthos Service Mesh. L'etichetta di revisione viene utilizzata dal webhook iniettore sidecar per associare i file collaterali inseriti a una determinata revisione istiod
. Dopo aver aggiunto l'etichetta, tutti i pod esistenti nello spazio dei nomi devono essere riavviati per poter inserire i file collaterali.
Prima di eseguire il deployment di nuovi carichi di lavoro in un nuovo spazio dei nomi, assicurati di configurare l'inserimento automatico in modo che Anthos Service Mesh possa monitorare e proteggere il traffico.
Per abilitare l'inserimento automatico:
Utilizza il seguente comando per individuare l'etichetta di revisione su
istiod
:kubectl --context=${CTX_CLUSTER1} \ -n istio-system get pods -l app=istiod --show-labels
L'output è simile al seguente:
NAME READY STATUS RESTARTS AGE LABELS istiod-asm-1106-2-5788d57586-bljj4 1/1 Running 0 23h app=istiod,istio.io/rev=asm-1106-2,istio=istiod,pod-template-hash=5788d57586 istiod-asm-1106-2-5788d57586-vsklm 1/1 Running 1 23h app=istiod,istio.io/rev=asm-1106-2,istio=istiod,pod-template-hash=5788d57586
Nell'output, sotto la colonna
LABELS
, prendi nota del valore dell'etichetta di revisioneistiod
, che segue il prefissoistio.io/rev=
. In questo esempio, il valore èasm-1106-2
.Applica l'etichetta di revisione e rimuovi l'etichetta
istio-injection
, se esistente. Nel seguente comando,NAMESPACE
è il nome dello spazio dei nomi in cui vuoi abilitare l'inserimento automatico eREVISION
è l'etichetta di revisione che hai annotato nel passaggio precedente.kubectl --context=${CTX_CLUSTER1} \ label namespace NAMESPACE istio-injection- istio.io/rev=REVISION --overwrite
Puoi ignorare il messaggio
"istio-injection not found"
nell'output. Ciò significa che lo spazio dei nomi non aveva in precedenza l'etichettaistio-injection
, cosa che dovresti aspettarti nelle nuove installazioni di Anthos Service Mesh o nei nuovi deployment. Poiché l'inserimento automatica non riesce se uno spazio dei nomi contiene sia l'etichettaistio-injection
sia l'etichetta di revisione, tutti i comandikubectl label
nella documentazione di Anthos Service Mesh comprendono la rimozione dell'etichettaistio-injection
.Se i carichi di lavoro erano in esecuzione sul tuo cluster prima dell'installazione di Anthos Service Mesh, riavvia i pod per attivare la reiniezione.
La modalità di riavvio dei pod dipende dall'applicazione e dall'ambiente in cui si trova il cluster. Ad esempio, nell'ambiente di gestione temporanea potresti semplicemente eliminare tutti i pod, il che comporta il riavvio. Tuttavia, nell'ambiente di produzione potresti avere un processo che implementa un deployment blu/verde in modo da poter riavviare i pod in modo sicuro ed evitare interruzioni del traffico.
Puoi utilizzare
kubectl
per eseguire un riavvio in sequenza:kubectl --context=${CTX_CLUSTER1} \ rollout restart deployment -n NAMESPACE
Verifica che i pod siano configurati in modo da puntare alla nuova versione di
istiod
.kubectl --context=${CTX_CLUSTER1} \ get pods -n NAMESPACE -l istio.io/rev=REVISION
Che cosa succede dopo?
Se prevedi di utilizzare più cluster per il mesh di servizi on-prem, consulta Installazione di Anthos Service Mesh on-premise su più cluster e reti.
In caso contrario, devi configurare indirizzi IP esterni.