Installa ASM
Apigee Hybrid utilizza la distribuzione di Istio fornita con Anthos Service Mesh (ASM). Per installare ASM nel cluster, segui questi passaggi.
Versioni di ASM supportate
Consulta Apigee hybrid: piattaforme supportate per le versioni ASM supportate nella versione ibrida 1.7.
Esegui i passaggi di configurazione e impostazione di ASM
Per completare l'installazione di ASM, devi prima seguire i passaggi di configurazione e impostazione specifici di ASM riportati nella documentazione di ASM. Poi, devi tornare qui per completare la configurazione specifica per l'ambiente ibrida prima di applicarla al cluster.
Le istruzioni per installare e configurare ASM variano a seconda della piattaforma. Le piattaforme sono suddivise nelle seguenti categorie:
- GKE: cluster Google Kubernetes Engine in esecuzione su Google Cloud.
- Al di fuori di Google Cloud: cluster Anthos in esecuzione su:
- Cluster Anthos su VMware (GKE on-prem)
- Anthos on bare metal
- Anthos clusters on AWS
- Amazon EKS
- Altre piattaforme Kubernetes: cluster conformi creati ed eseguiti su:
- AKS
- EKS
- OpenShift
GKE
Prepararsi per installare ASM
- Controlla le variabili di ambiente di cui avrai bisogno per i passaggi successivi e impostale se necessario:
echo $PROJECT_ID
echo $CLUSTER_NAME
echo $CLUSTER_LOCATION
- Crea un file overlay denominato
overlay.yaml
con i seguenti contenuti: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. Si tratta del pool di nodiapigee-runtime
che hai creato nel Passaggio 1: crea un cluster. Se utilizzi un selettore di nodi diverso o non ne utilizzi uno, modifica o ometti la proprietànodeSelector
.- STATIC_IP è l'indirizzo IP del bilanciatore del carico. Se non ne hai impostato uno,
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 Installa gli strumenti necessari. - Procedi con il passaggio per concedere le autorizzazioni di amministratore del cluster e interrompi. Non eseguire il passaggio "Convalida progetto e cluster".
- Installa ASM con le funzionalità facoltative.
Specifica il gateway di ingresso 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 di ASM, incluse tutte le sottodirectory. - overlay.yaml è il file di overlay che hai creato nei passaggi precedenti.
Utilizza queste impostazioni quando segui le istruzioni riportate in Installare con funzionalità facoltative.
- dir_path è la directory di output in cui vuoi che
Risoluzione dei problemi
Se riscontri un errore che fa riferimento a gcloud container hub memberships register
,
è possibile che tu abbia superato il numero massimo di cluster registrati in GKE Hub. Ad esempio:
asmcli_1.12: [WARNING]: Command 'run_command gcloud container hub memberships register my-hybrid-example ...' failed.
Prova a seguire questi passaggi per risolvere l'errore e poi esegui di nuovo asmcli install
:
- Elenca gli abbonamenti a GKE Hub per il tuo progetto:
gcloud container hub memberships list --project=$PROJECT_ID
- Elimina le iscrizioni a GKE Hub:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
Per ulteriori informazioni sui limiti di GKE Hub, consulta Quote e limiti.
Al di fuori di Google Cloud
Queste istruzioni sono per l'installazione e la configurazione di ASM per le istanze Apigee hybrid che utilizzano Anthos come piattaforma di esecuzione:
- Cluster Anthos su VMware (GKE on-prem)
- Anthos on bare metal
- Anthos clusters on AWS
- Amazon EKS
Prepararsi per installare ASM
- Controlla le variabili di ambiente di cui avrai bisogno per i passaggi successivi e impostale se necessario:
echo ${PROJECT_ID}
echo ${CLUSTER_NAME}
echo ${CLUSTER_LOCATION}
- Prendi nota dei valori di cui avrai bisogno con
ASMCLI
. Di seguito sono riportati i valori che ti verrà chiesto di fornire quando seguirai i passaggi descritti nella documentazione di ASM:- FLEET_PROJECT_ID il nome del progetto a cui verranno associati i cluster.
Utilizza il progetto che hai creato per questa installazione, memorizzato nella variabile di ambiente
${PROJECT_ID}
. - KUBECONFIG_FILE Il percorso completo del file kubeconfig. Il percorso predefinito è
$HOME/.kube/config
. Per ulteriori informazioni, consulta la sezione Organizzare l'accesso al cluster utilizzando i file kubeconfig nella documentazione di Kubernetes. - DIR_PATH la directory di output per ASMCLI. Questo è il percorso in cui verranno
creati i file di configurazione di Istio. Ad esempio:
./asm
. - GATEWAY_NAMESPACE lo spazio dei nomi per il gateway di ingresso Istio, ad esempio:
istio
. - REVISION l'etichetta di revisione per questa release di ASM. Utilizza
asm-1129-3
- CONTEXT il contesto Kubernetes. Verifica che Kubernetes utilizzi il contesto per il tuo cluster con il seguente comando:
kubectl config get-contexts
Se il cluster corrente non è il contesto corrente, puoi impostarlo con il seguente comando:
kubectl config use-context CONTEXT
- USER_ACCOUNT l'account con le autorizzazioni di amministratore del cluster che utilizzi per gestire il cluster.
- FLEET_PROJECT_ID il nome del progetto a cui verranno associati i cluster.
Utilizza il progetto che hai creato per questa installazione, memorizzato nella variabile di ambiente
- Imposta il contesto del progetto e della regione con i seguenti comandi:
Imposta l'ID progetto predefinito:
gcloud config set project ${PROJECT_ID}
Se utilizzi cluster regionali, imposta la regione di calcolo predefinita:
gcloud config set compute/region ${CLUSTER_LOCATION}
- Recupera le credenziali con il seguente comando:
gcloud container clusters get-credentials ${CLUSTER_NAME} --region ${CLUSTER_LOCATION} --project ${PROJECT_ID}
- Crea un file overlay denominato
overlay.yaml
con i seguenti contenuti: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. Si tratta del pool di nodiapigee-runtime
che hai creato nel Passaggio 1: crea un cluster. Se utilizzi un selettore di nodi diverso o non ne utilizzi uno, modifica o ometti la proprietànodeSelector
.- STATIC_IP è l'indirizzo IP del bilanciatore del carico. Se non ne hai impostato uno,
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 Installa gli strumenti necessari. - Procedi con il passaggio per concedere le autorizzazioni di amministratore del cluster e interrompi. Non eseguire il passaggio "Convalida progetto e cluster".
- Installa ASM con le funzionalità facoltative.
Specifica il gateway di ingresso 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 di ASM, incluse tutte le sottodirectory. - overlay.yaml è il file di overlay che hai creato nei passaggi precedenti.
Utilizza queste impostazioni quando segui le istruzioni riportate in Installare con funzionalità facoltative.
- dir_path è la directory di output in cui vuoi che
Risoluzione dei problemi
Se riscontri un errore che fa riferimento a gcloud container hub memberships register
,
è possibile che tu abbia superato il numero massimo di cluster registrati in GKE Hub. Ad esempio:
asmcli_1.12: [WARNING]: Command 'run_command gcloud container hub memberships register my-hybrid-example ...' failed.
Prova a seguire questi passaggi per risolvere l'errore e poi esegui di nuovo asmcli install
:
- Elenca gli abbonamenti a GKE Hub per il tuo progetto:
gcloud container hub memberships list --project=$PROJECT_ID
- Elimina le iscrizioni a GKE Hub:
gcloud container hub memberships delete "membership" --project=$PROJECT_ID
Per ulteriori informazioni sui limiti di GKE Hub, consulta Quote e limiti.
Altre piattaforme Kubernetes
AKS
Configura e scarica ASM
Leggi attentamente i passaggi che seguono prima di iniziare. Ti chiederemo di eseguire alcuni dei passaggi elencati nella documentazione di ASM, quindi torna qui per completare l'installazione.
Questa guida spiega come eseguire un'installazione pulita della versione 1.12.9-asm.3 di Anthos Service Mesh (ASM) sui cluster collegati ad Anthos. Utilizza questa guida per installare Anthos Service Mesh nei seguenti ambienti:
- Amazon Elastic Kubernetes Service (Amazon EKS) su Kubernetes
- Microsoft Azure Kubernetes Service (Microsoft AKS) su Kubernetes
- Red Hat OpenShift
Preparazione all'installazione di Anthos Service Mesh
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro corrente:
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 openssl per verificarla:
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 del file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Il comando crea una directory di installazione nella directory di lavoro corrente 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 principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PATH:
export PATH=$PWD/bin:$PATH
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro corrente:
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 openssl per verificarla:
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 del file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Il comando crea una directory di installazione nella directory di lavoro corrente 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 principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PATH:
export PATH=$PWD/bin:$PATH
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro corrente:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Scarica il file della firma e utilizza openssl per verificarla:
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 del file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-win.zip
Il comando crea una directory di installazione nella directory di lavoro corrente 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 principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory \bin al tuo PATH:
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
- Crea un file denominato
overlay.yaml
con i seguenti contenuti:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true 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)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Installa Anthos Service Mesh con
istioctl
utilizzando il profiloasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3" \ --filename overlay.yaml
L'argomento
--set revision
aggiunge a istiod un'etichetta di revisione nel formatoistio.io/rev=asm-1129-3
. L'etichetta di revisione viene utilizzata dall'webhook dell'iniettore di sidecar automatico per associare i sidecar iniettati a una determinata revisione dell'istiod. Per attivare l'iniezione automatica di sidecar per uno spazio dei nomi, devi etichettarlo con una revisione corrispondente all'etichetta su istiod. - Verifica che i pod
istiod
siano in esecuzione conkubectl get pods
:kubectl get pods -n istio-system
L'output dovrebbe avere il seguente aspetto:
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 avere il seguente aspetto:
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
EKS
Configura e scarica ASM
Leggi attentamente i passaggi che seguono prima di iniziare. Ti chiederemo di eseguire alcuni dei passaggi elencati nella documentazione di ASM, quindi torna qui per completare l'installazione.
Questa guida spiega come eseguire un'installazione pulita della versione 1.12.9-asm.3 di Anthos Service Mesh (ASM) sui cluster collegati ad Anthos. Utilizza questa guida per installare Anthos Service Mesh nei seguenti ambienti:
- Amazon Elastic Kubernetes Service (Amazon EKS) su Kubernetes
- Microsoft Azure Kubernetes Service (Microsoft AKS) su Kubernetes
- Red Hat OpenShift
Preparazione all'installazione di Anthos Service Mesh
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro corrente:
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 openssl per verificarla:
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 del file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Il comando crea una directory di installazione nella directory di lavoro corrente 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 principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PATH:
export PATH=$PWD/bin:$PATH
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro corrente:
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 openssl per verificarla:
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 del file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Il comando crea una directory di installazione nella directory di lavoro corrente 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 principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PATH:
export PATH=$PWD/bin:$PATH
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro corrente:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Scarica il file della firma e utilizza openssl per verificarla:
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 del file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-win.zip
Il comando crea una directory di installazione nella directory di lavoro corrente 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 principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory \bin al tuo PATH:
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
- Crea un file denominato
overlay.yaml
con i seguenti contenuti:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true 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)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Installa Anthos Service Mesh con
istioctl
utilizzando il profiloasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3" \ --filename overlay.yaml
L'argomento
--set revision
aggiunge a istiod un'etichetta di revisione nel formatoistio.io/rev=asm-1129-3
. L'etichetta di revisione viene utilizzata dall'webhook dell'iniettore di sidecar automatico per associare i sidecar iniettati a una determinata revisione dell'istiod. Per attivare l'iniezione automatica di sidecar per uno spazio dei nomi, devi etichettarlo con una revisione corrispondente all'etichetta su istiod. - Verifica che i pod
istiod
siano in esecuzione conkubectl get pods
:kubectl get pods -n istio-system
L'output dovrebbe avere il seguente aspetto:
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 avere il seguente aspetto:
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
OpenShift
Configura e scarica ASM
Leggi attentamente i passaggi che seguono prima di iniziare. Ti chiederemo di eseguire alcuni dei passaggi elencati nella documentazione di ASM, quindi torna qui per completare l'installazione.
Questa guida spiega come eseguire un'installazione pulita della versione 1.12.9-asm.3 di Anthos Service Mesh (ASM) sui cluster collegati ad Anthos. Utilizza questa guida per installare Anthos Service Mesh nei seguenti ambienti:
- Amazon Elastic Kubernetes Service (Amazon EKS) su Kubernetes
- Microsoft Azure Kubernetes Service (Microsoft AKS) su Kubernetes
- Red Hat OpenShift
Preparazione all'installazione di Anthos Service Mesh
- Concedi la
anyuid
limitazione del contesto di sicurezza (SCC) 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 directory di lavoro corrente:
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 openssl per verificarla:
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 del file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
Il comando crea una directory di installazione nella directory di lavoro corrente 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 principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PATH:
export PATH=$PWD/bin:$PATH
- Concedi la
anyuid
limitazione del contesto di sicurezza (SCC) 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 directory di lavoro corrente:
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 openssl per verificarla:
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 del file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
Il comando crea una directory di installazione nella directory di lavoro corrente 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 principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory /bin al tuo PATH:
export PATH=$PWD/bin:$PATH
- Concedi la limitazione del contesto di sicurezza
anyuid
(SCC) a istio-system con il seguente comando OpenShift CLI (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Scarica il file di installazione di Anthos Service Mesh nella directory di lavoro corrente:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Scarica il file della firma e utilizza openssl per verificarla:
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 del file system. Ad esempio,
per estrarre i contenuti nella directory di lavoro corrente:
tar xzf istio-1.12.9-asm.3-win.zip
Il comando crea una directory di installazione nella directory di lavoro corrente 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 principale dell'installazione di Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Per comodità, aggiungi gli strumenti nella directory \bin al tuo PATH:
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
- Crea un file denominato
overlay.yaml
con i seguenti contenuti:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true 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)%"}' components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Installa Anthos Service Mesh con
istioctl
utilizzando il profiloasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3" \ --filename overlay.yaml
L'argomento
--set revision
aggiunge a istiod un'etichetta di revisione nel formatoistio.io/rev=asm-1129-3
. L'etichetta di revisione viene utilizzata dall'webhook dell'iniettore di sidecar automatico per associare i sidecar iniettati a una determinata revisione dell'istiod. Per attivare l'iniezione automatica di sidecar per uno spazio dei nomi, devi etichettarlo con una revisione corrispondente all'etichetta su istiod. - Verifica che i pod
istiod
siano in esecuzione conkubectl get pods
:kubectl get pods -n istio-system
L'output dovrebbe avere il seguente aspetto:
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 avere il seguente aspetto:
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
Personalizzazione dell'installazione di ASM
L'installazione di ASM che hai appena eseguito è un'installazione minima, sufficiente per testare e utilizzare Apigee hybrid per casi d'uso di base. Per informazioni su come gestire casi d'uso più avanzati, come l'aggiunta, la rimozione o la modifica dei numeri di porta del bilanciatore del carico, consulta Attivare le funzionalità facoltative.
Riepilogo
Ora che hai installato cert-manager e ASM, puoi installare lo strumento a riga di comando Apigee hybrid sulla tua macchina locale.
1 2 3 (AVANTI) Passaggio 4: installa apigeectl 5 6 7 8 9