Installa ASM
Apigee hybrid utilizza la distribuzione Istio fornita con Anthos Service Mesh (ASM). Segui questi passaggi per installare ASM nel cluster.
Versioni di ASM supportate
Consulta Apigee hybrid: piattaforme supportate per le versioni di ASM supportate nella versione ibrida 1.5.
Esegui i passaggi di impostazione e configurazione di ASM
Per completare l'installazione di ASM, devi prima seguire i passaggi di impostazione e configurazione specifici di ASM nella documentazione di ASM. Quindi, devi tornare qui per completare la configurazione specifica per l'ibrido prima di applicare la configurazione al cluster.
Le istruzioni per installare e configurare ASM variano a seconda della piattaforma. Le piattaforme si dividono nelle seguenti categorie:
- GKE: cluster Google Kubernetes Engine in esecuzione su Google Cloud.
- All'esterno di Google Cloud: cluster Anthos in esecuzione su:
- Cluster Anthos su VMware (GKE on-prem)
- Anthos su Bare Metal
- Cluster Anthos su AWS
- Amazon EKS
- Altre piattaforme Kubernetes: cluster conformi creati e in esecuzione su:
- AKS
- EKS
- OpenShift
GKE
Preparati a installare ASM
- Controlla le variabili di ambiente necessarie per i seguenti passaggi e impostale se
devi:
echo ${PROJECT_ID}
echo ${CLUSTER_NAME}
echo ${CLUSTER_LOCATION}
- Crea un file overlay denominato
overlay.yaml
con il seguente contenuto:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
apigee-runtime
è il valore predefinito per il selettore di nodi. Questo è il pool di nodiapigee-runtime
che hai creato nel Passaggio 1: crea un cluster. Se utilizzi un selettore di nodi diverso o non ne usi uno, modifica o ometti la proprietànodeSelector
.- STATIC_IP è l'indirizzo IP del bilanciatore del carico. Se non ne hai impostata una,
ometti la proprietà
loadBalancerIP
, ma mantieni le proprietàtype
eports
.
- Segui le istruzioni per prepararti a installare ASM:
- Installa
asmcli
e tutti gli strumenti necessari come git, kubectl e jq, seguendo le istruzioni riportate in Installare gli strumenti richiesti. - Procedi con il passaggio per concedere le autorizzazioni di amministrazione del cluster e arresta. Non eseguire il passaggio "Convalida progetto e cluster".
- Installa ASM con funzionalità facoltative.
Specifica il gateway in entrata legacy con
--option legacy-default-ingressgateway
. ad esempio:./asmcli install \ --verbose \ --project_id $PROJECT_ID \ --cluster_name $CLUSTER_NAME \ --cluster_location $CLUSTER_LOCATION \ --output_dir dir_path \ --custom_overlay overlay.yaml \ --enable_all \ --option legacy-default-ingressgateway
- dir_path è la directory di output in cui vuoi che
asmcli
configuri l'installazione ASM, incluse tutte le sottodirectory. - overlay.yaml è il file dell'overlay che hai creato nei passaggi precedenti.
Utilizza queste impostazioni quando segui le istruzioni riportate in Eseguire l'installazione con funzionalità facoltative.
- dir_path è la directory di output in cui vuoi che
Risoluzione dei problemi
Se si verifica un errore in fa riferimento a gcloud container hub memberships register
, potresti aver superato il numero massimo di cluster registrati con GKE Hub. Ad esempio:
asmcli_1.12: [WARNING]: Command 'run_command gcloud container hub memberships register my-hybrid-example ...' failed.
Prova a procedere nel seguente modo per risolvere l'errore, quindi esegui di nuovo asmcli install
:
- Elenca le appartenenze a GKE Hub per il tuo progetto:
gcloud container hub memberships list --project=$PROJECT_ID
- Elimina le appartenenze a GKE Hub:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
Per maggiori informazioni sui limiti di GKE Hub, consulta Quote e limiti.
Al di fuori di Google Cloud
Queste istruzioni riguardano l'installazione e la configurazione di ASM per istanze ibride di Apigee tramite Anthos sull'esecuzione:
- Cluster Anthos su VMware (GKE on-prem)
- Anthos su Bare Metal
- Cluster Anthos su AWS
- Amazon EKS
Preparati a installare ASM
- Controlla le variabili di ambiente necessarie per i seguenti passaggi e impostale se
devi:
echo ${PROJECT_ID}
echo ${CLUSTER_NAME}
echo ${CLUSTER_LOCATION}
- Crea un file overlay denominato
overlay.yaml
con il seguente contenuto:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP: STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
apigee-runtime
è il valore predefinito per il selettore di nodi. Questo è il pool di nodiapigee-runtime
che hai creato nel Passaggio 1: crea un cluster. Se utilizzi un selettore di nodi diverso o non ne usi uno, modifica o ometti la proprietànodeSelector
.- STATIC_IP è l'indirizzo IP del bilanciatore del carico. Se non ne hai impostata una,
ometti la proprietà
loadBalancerIP
, ma mantieni le proprietàtype
eports
.
- Segui le istruzioni per prepararti a installare ASM:
- Installa
asmcli
e tutti gli strumenti necessari come git, kubectl e jq, seguendo le istruzioni riportate in Installare gli strumenti richiesti. - Procedi con il passaggio per concedere le autorizzazioni di amministrazione del cluster e arresta. Non eseguire il passaggio "Convalida progetto e cluster".
- Installa ASM con funzionalità facoltative.
Specifica il gateway in entrata legacy con
--option legacy-default-ingressgateway
. ad esempio:./asmcli install \ --verbose \ --project_id $PROJECT_ID \ --cluster_name $CLUSTER_NAME \ --cluster_location $CLUSTER_LOCATION \ --output_dir dir_path \ --custom_overlay overlay.yaml \ --enable_all \ --option legacy-default-ingressgateway
- dir_path è la directory di output in cui vuoi che
asmcli
configuri l'installazione ASM, incluse tutte le sottodirectory. - overlay.yaml è il file dell'overlay che hai creato nei passaggi precedenti.
Utilizza queste impostazioni quando segui le istruzioni riportate in Eseguire l'installazione con funzionalità facoltative.
- dir_path è la directory di output in cui vuoi che
Risoluzione dei problemi
Se si verifica un errore in fa riferimento a gcloud container hub memberships register
, potresti aver superato il numero massimo di cluster registrati con GKE Hub. Ad esempio:
asmcli_1.12: [WARNING]: Command 'run_command gcloud container hub memberships register my-hybrid-example ...' failed.
Prova a procedere nel seguente modo per risolvere l'errore, quindi esegui di nuovo asmcli install
:
- Elenca le appartenenze a GKE Hub per il tuo progetto:
gcloud container hub memberships list --project=$PROJECT_ID
- Elimina le appartenenze a GKE Hub:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
Per maggiori informazioni sui limiti di GKE Hub, consulta Quote e limiti.
GKE su altre piattaforme
Queste istruzioni riguardano l'installazione e la configurazione di ASM per istanze ibride di Apigee tramite Anthos sull'esecuzione:
- GKE on-prem (Anthos)
- Anthos su Bare Metal
- GKE su AWS
Leggi attentamente i seguenti passaggi prima di iniziare. Ti chiederemo di eseguire alcuni dei passaggi elencati nella documentazione di ASM, quindi di tornare qui per completare l'installazione.
- Scarica e decomprimi
istioctl
in base alle istruzioni nella documentazione di ASM: Download del file di installazione. - A seconda dell'autorità di certificazione che intendi utilizzare, installa ASM seguendo le istruzioni in una delle seguenti sezioni:
- Utilizzo di Mesh CA: Installazione di Anthos Service Mesh con Mesh CA
- Fornitura dei tuoi certificati con Istio CA: Installazione di Anthos Service Mesh con Istio CA
- Configura il webhook di convalida con le istruzioni riportate in Configurare il webhook di convalida.
- Controlla i componenti del piano di controllo con le istruzioni in Verifica dei componenti del piano di controllo.
Non continuare con "Inserimento di proxy collaterali".
Altre piattaforme Kubernetes
AKS
Configurare e scaricare ASM
Leggi attentamente i seguenti passaggi prima di iniziare. Ti chiederemo di eseguire alcuni dei passaggi elencati nella documentazione di ASM, quindi di tornare qui per completare l'installazione.
Questa guida spiega come eseguire un'installazione pulita della versione di Anthos Service Mesh (ASM) 1.12.9-asm.3 sui cluster collegati ad Anthos. Utilizza questa guida per installare Anthos Service Mesh nei seguenti ambienti:
- Amazon Elastic Kubernetes Service (Amazon EKS) su Kubernetes
- Servizio Microsoft Azure Kubernetes (Microsoft AKS) su Kubernetes
- Red Hat OpenShift
Preparazione dell'installazione di Anthos Service Mesh
- 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.12.9-asm.3-linux-amd64.tar.gz
- Scarica il file della firma e utilizza OpenID per verificare la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione nel file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro attuale:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Il comando crea una directory di installazione nella directory di lavoro attuale denominata
istio-1.12.9-asm.3
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 root dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PERCORSO:
export PATH=$PWD/bin:$PATH
- 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.12.9-asm.3-osx.tar.gz
- Scarica il file della firma e utilizza OpenID per verificare la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione nel file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro attuale:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Il comando crea una directory di installazione nella directory di lavoro attuale denominata
istio-1.12.9-asm.3
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 root dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PERCORSO:
export PATH=$PWD/bin:$PATH
- 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.12.9-asm.3-win.zip
- Scarica il file della firma e utilizza OpenID per verificare la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione nel file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro attuale:
tar xzf istio-1.12.9-asm.3-win.zip
Il comando crea una directory di installazione nella directory di lavoro attuale denominata
istio-1.12.9-asm.3
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 root dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per praticità, aggiungi gli strumenti nella directory \bin al tuo PERCORSO:
set PATH=%CD%\bin:%PATH%
- Ora che ASM Istio è installato, controlla la versione di
istioctl
:istioctl version
- Crea uno spazio dei nomi denominato istio-system per i componenti del piano di controllo:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Installazione di Anthos Service Mesh
- Installa Anthos Service Mesh con
istioctl
utilizzando il profiloasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3"
L'argomento
--set revision
aggiunge un'etichetta di revisione nel formatoistio.io/rev=asm-1129-3
a istiod. L'etichetta della revisione viene utilizzata dal webhook iniettore sidecar automatico per associare i file collaterali inseriti a una determinata revisione istiod. Per abilitare l'inserimento automatico collaterale per uno spazio dei nomi, devi etichettarlo con una revisione che corrisponda all'etichetta su Istio. - Controlla che i pod
istiod
siano in esecuzione conkubectl get pods
:kubectl get pods -n istio-system
L'output dovrebbe essere simile al seguente:
NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1129-3-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- Verifica che l'installazione sia stata completata:
kubectl get svc -n istio-system
L'output dovrebbe essere simile al seguente:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Configura il webhook di convalida
Quando installi Anthos Service Mesh, imposti un'etichetta di revisione su Istio. Devi impostare la stessa revisione sul webhook di convalida.
- Crea un file denominato
istiod-service.yaml
con i seguenti contenuti:apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1129-3 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-1129-3 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Utilizza
kubectl
per applicare la configurazione del webhook di convalida:kubectl apply -f istiod-service.yaml
- Verifica che la configurazione sia stata applicata:
kubectl get svc -n istio-system
La risposta dovrebbe essere simile a:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
EKS
Configurare e scaricare ASM
Leggi attentamente i seguenti passaggi prima di iniziare. Ti chiederemo di eseguire alcuni dei passaggi elencati nella documentazione di ASM, quindi di tornare qui per completare l'installazione.
Questa guida spiega come eseguire un'installazione pulita della versione di Anthos Service Mesh (ASM) 1.12.9-asm.3 sui cluster collegati ad Anthos. Utilizza questa guida per installare Anthos Service Mesh nei seguenti ambienti:
- Amazon Elastic Kubernetes Service (Amazon EKS) su Kubernetes
- Servizio Microsoft Azure Kubernetes (Microsoft AKS) su Kubernetes
- Red Hat OpenShift
Preparazione dell'installazione di Anthos Service Mesh
- 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.12.9-asm.3-linux-amd64.tar.gz
- Scarica il file della firma e utilizza OpenID per verificare la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione nel file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro attuale:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Il comando crea una directory di installazione nella directory di lavoro attuale denominata
istio-1.12.9-asm.3
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 root dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PERCORSO:
export PATH=$PWD/bin:$PATH
- 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.12.9-asm.3-osx.tar.gz
- Scarica il file della firma e utilizza OpenID per verificare la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione nel file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro attuale:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Il comando crea una directory di installazione nella directory di lavoro attuale denominata
istio-1.12.9-asm.3
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 root dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PERCORSO:
export PATH=$PWD/bin:$PATH
- 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.12.9-asm.3-win.zip
- Scarica il file della firma e utilizza OpenID per verificare la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione nel file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro attuale:
tar xzf istio-1.12.9-asm.3-win.zip
Il comando crea una directory di installazione nella directory di lavoro attuale denominata
istio-1.12.9-asm.3
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 root dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per praticità, aggiungi gli strumenti nella directory \bin al tuo PERCORSO:
set PATH=%CD%\bin:%PATH%
- Ora che ASM Istio è installato, controlla la versione di
istioctl
:istioctl version
- Crea uno spazio dei nomi denominato istio-system per i componenti del piano di controllo:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Installazione di Anthos Service Mesh
- Installa Anthos Service Mesh con
istioctl
utilizzando il profiloasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3"
L'argomento
--set revision
aggiunge un'etichetta di revisione nel formatoistio.io/rev=asm-1129-3
a istiod. L'etichetta della revisione viene utilizzata dal webhook iniettore sidecar automatico per associare i file collaterali inseriti a una determinata revisione istiod. Per abilitare l'inserimento automatico collaterale per uno spazio dei nomi, devi etichettarlo con una revisione che corrisponda all'etichetta su Istio. - Controlla che i pod
istiod
siano in esecuzione conkubectl get pods
:kubectl get pods -n istio-system
L'output dovrebbe essere simile al seguente:
NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1129-3-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- Verifica che l'installazione sia stata completata:
kubectl get svc -n istio-system
L'output dovrebbe essere simile al seguente:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Configura il webhook di convalida
Quando installi Anthos Service Mesh, imposti un'etichetta di revisione su Istio. Devi impostare la stessa revisione sul webhook di convalida.
- Crea un file denominato
istiod-service.yaml
con i seguenti contenuti:apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1129-3 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-1129-3 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Utilizza
kubectl
per applicare la configurazione del webhook di convalida:kubectl apply -f istiod-service.yaml
- Verifica che la configurazione sia stata applicata:
kubectl get svc -n istio-system
La risposta dovrebbe essere simile a:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
OpenShift
Configurare e scaricare ASM
Leggi attentamente i seguenti passaggi prima di iniziare. Ti chiederemo di eseguire alcuni dei passaggi elencati nella documentazione di ASM, quindi di tornare qui per completare l'installazione.
Questa guida spiega come eseguire un'installazione pulita della versione di Anthos Service Mesh (ASM) 1.12.9-asm.3 sui cluster collegati ad Anthos. Utilizza questa guida per installare Anthos Service Mesh nei seguenti ambienti:
- Amazon Elastic Kubernetes Service (Amazon EKS) su Kubernetes
- Servizio Microsoft Azure Kubernetes (Microsoft AKS) su Kubernetes
- Red Hat OpenShift
Preparazione dell'installazione di Anthos Service Mesh
- Concedi il vincolo del contesto di sicurezza (SCC)
anyuid
a istio-system con il seguente comandooc
:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- 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.12.9-asm.3-linux-amd64.tar.gz
- Scarica il file della firma e utilizza OpenID per verificare la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3-linux-amd64.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione nel file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro attuale:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Il comando crea una directory di installazione nella directory di lavoro attuale denominata
istio-1.12.9-asm.3
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 root dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PERCORSO:
export PATH=$PWD/bin:$PATH
- Concedi il vincolo del contesto di sicurezza (SCC)
anyuid
a istio-system con il seguente comandooc
:oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- 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.12.9-asm.3-osx.tar.gz
- Scarica il file della firma e utilizza OpenID per verificare la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3-osx.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione nel file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro attuale:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Il comando crea una directory di installazione nella directory di lavoro attuale denominata
istio-1.12.9-asm.3
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 root dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PERCORSO:
export PATH=$PWD/bin:$PATH
- Concedi il vincolo del contesto di sicurezza (SCC)
anyuid
a istio-system con il seguente comando dell'interfaccia a riga di comando di OpenShift (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- 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.12.9-asm.3-win.zip
- Scarica il file della firma e utilizza OpenID per verificare la firma:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3-win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Estrai i contenuti del file in qualsiasi posizione nel file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro attuale:
tar xzf istio-1.12.9-asm.3-win.zip
Il comando crea una directory di installazione nella directory di lavoro attuale denominata
istio-1.12.9-asm.3
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 root dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per praticità, aggiungi gli strumenti nella directory \bin al tuo PERCORSO:
set PATH=%CD%\bin:%PATH%
- Ora che ASM Istio è installato, controlla la versione di
istioctl
:istioctl version
- Crea uno spazio dei nomi denominato istio-system per i componenti del piano di controllo:
kubectl create namespace istio-system
Linux
Mac OS
Windows
Installazione di Anthos Service Mesh
- Installa Anthos Service Mesh con
istioctl
utilizzando il profiloasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3"
L'argomento
--set revision
aggiunge un'etichetta di revisione nel formatoistio.io/rev=asm-1129-3
a istiod. L'etichetta della revisione viene utilizzata dal webhook iniettore sidecar automatico per associare i file collaterali inseriti a una determinata revisione istiod. Per abilitare l'inserimento automatico collaterale per uno spazio dei nomi, devi etichettarlo con una revisione che corrisponda all'etichetta su Istio. - Controlla che i pod
istiod
siano in esecuzione conkubectl get pods
:kubectl get pods -n istio-system
L'output dovrebbe essere simile al seguente:
NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1129-3-dbfb7c7b6-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-dbfb7c7b6-fnj8c 1/1 Running 1 3m21s
- Verifica che l'installazione sia stata completata:
kubectl get svc -n istio-system
L'output dovrebbe essere simile al seguente:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Configura il webhook di convalida
Quando installi Anthos Service Mesh, imposti un'etichetta di revisione su Istio. Devi impostare la stessa revisione sul webhook di convalida.
- Crea un file denominato
istiod-service.yaml
con i seguenti contenuti:apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1129-3 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-1129-3 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Utilizza
kubectl
per applicare la configurazione del webhook di convalida:kubectl apply -f istiod-service.yaml
- Verifica che la configurazione sia stata applicata:
kubectl get svc -n istio-system
La risposta dovrebbe essere simile a:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
Personalizzazione dell'installazione di ASM
L'installazione di ASM che hai appena eseguito è un'installazione minima, sufficiente per testare e utilizzare Apigee hybrid per i casi d'uso di base. Per informazioni su come gestire i casi d'uso più avanzati, come l'aggiunta, la rimozione o la modifica dei numeri di porta del bilanciatore del carico, consulta Abilitare le funzionalità facoltative.
Riepilogo
A questo punto hai installato cert-manager e ASM e tutto è pronto per installare lo strumento a riga di comando ibrido Apigee sulla tua macchina locale.
1 2 3 (AVANTI) Passaggio 4: installazione di apigeectl 5 5 { 2{/8