Passaggio 3: installazione di ASM

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 la pagina Apigee hybrid: piattaforme supportate per le versioni ASM supportate nella versione ibrida 1.7.

Esegui i passaggi per l'impostazione e la configurazione di ASM

Per completare l'installazione di ASM, devi prima seguire la configurazione e la configurazione specifiche di ASM i passaggi nella documentazione di ASM. Devi quindi tornare qui per completare la procedura la configurazione prima di applicarla al cluster.

Le istruzioni per installare e configurare ASM variano in base alla piattaforma. La piattaforme sono suddivise nelle seguenti categorie:

  • GKE: cluster di 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

  1. Controlla le variabili di ambiente necessarie per i passaggi seguenti e impostale se devi:
    echo $PROJECT_ID
    echo $CLUSTER_NAME
    echo $CLUSTER_LOCATION
  2. Crea un file di 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. Questo è il apigee-runtime pool di nodi creato nel passaggio 1. Crea un cluster. Se utilizzi un selettore di nodi diverso o non ne utilizzi uno, modifica oppure ometti il campo nodeSelector proprietà.
    • STATIC_IP è l'indirizzo IP del tuo bilanciatore del carico. Se non ne hai impostato uno, ometti la proprietà loadBalancerIP, ma mantieni i valori type e ports proprietà.
  3. Segui le istruzioni per prepararti a installare ASM:
    1. Anthos prerequisiti per l'implementazione.
    2. Autorizzazioni richieste per installare Anthos Service Mesh.
    3. Pianifica un'installazione.
  4. Installa asmcli ed eventuali strumenti necessari come git, kubectl e jq, seguendo le istruzioni in Installa strumenti richiesti.
  5. Procedi con il passaggio per Concedi autorizzazioni di amministratore del cluster e interrompi. Non eseguire la convalida del progetto e del cluster passaggio.
  6. 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 configurare asmcli l'installazione di ASM, incluse tutte le sottodirectory.
    • overlay.yaml è il file dell'overlay che hai creato nei passaggi precedenti.

    Utilizza queste impostazioni quando segui le istruzioni fornite in Installa con funzionalità facoltative.

Risoluzione dei problemi

Se si verifica un errore in si riferisce a gcloud container hub memberships register, potresti aver 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 correggere l'errore, quindi esegui di nuovo asmcli install:

  1. Elenca le appartenenze a GKE Hub per il tuo progetto:
    gcloud container hub memberships list --project=$PROJECT_ID
  2. 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 riguardano l'installazione e la configurazione di ASM per le istanze ibride di Apigee utilizzando Anthos da eseguire su:

  • Cluster Anthos su VMware (GKE On-Prem)
  • Anthos su Bare Metal
  • Cluster Anthos su AWS
  • Amazon EKS

Preparati a installare ASM

  1. Controlla le variabili di ambiente necessarie per i passaggi seguenti e impostale se devi:
    echo ${PROJECT_ID}
    echo ${CLUSTER_NAME}
    echo ${CLUSTER_LOCATION}
  2. Prendi nota dei valori che ti serviranno con ASMCLI. Questi sono i valori che verrà chiesto di fornire quando segue i passaggi della documentazione di ASM:
    • FLEET_PROJECT_ID il nome del progetto a cui verranno associati i tuoi cluster. Usa il progetto che hai creato per questa installazione, archiviato in ${PROJECT_ID} variabile di ambiente.
    • KUBECONFIG_FILE Il percorso completo del file kubeconfig. Il percorso predefinito è $HOME/.kube/config. Per ulteriori informazioni, vedi Organizzazione Accesso ai cluster con i file kubeconfig nella documentazione di Kubernetes.
    • DIR_PATH la directory di output per ASMCLI. Questo è il percorso in cui i file di configurazione Istio. Ad esempio: ./asm.
    • GATEWAY_NAMESPACE lo spazio dei nomi per il gateway in entrata Istio, ad esempio: istio.
    • REVISION l'etichetta di revisione per questa release di ASM. Utilizza le funzionalità di asm-1129-3
    • CONTEXT il contesto di Kubernetes. Verifica che Kubernetes stia utilizzando il contesto con il comando seguente:
      kubectl config get-contexts

      Se il cluster attuale non è il contesto attuale, puoi impostarlo con il seguente codice :

      kubectl config use-context CONTEXT
    • USER_ACCOUNT l'account con le autorizzazioni di amministratore del cluster che stai utilizzando per gestire il cluster.
  3. Imposta il contesto sul progetto e sulla regione con i seguenti comandi:

    Imposta l'ID progetto predefinito:

    gcloud config set project ${PROJECT_ID}

    Se utilizzi cluster a livello di regione, imposta la regione di computing predefinita:

    gcloud config set compute/region ${CLUSTER_LOCATION}
  4. Utilizza il comando seguente per ottenere le credenziali:
    gcloud container clusters get-credentials ${CLUSTER_NAME} --region ${CLUSTER_LOCATION} --project ${PROJECT_ID}
  5. Crea un file di 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. Questo è il apigee-runtime pool di nodi creato nel passaggio 1. Crea un cluster. Se utilizzi un selettore di nodi diverso o non ne utilizzi uno, modifica oppure ometti il campo nodeSelector proprietà.
    • STATIC_IP è l'indirizzo IP del tuo bilanciatore del carico. Se non ne hai impostato uno, ometti la proprietà loadBalancerIP, ma mantieni i valori type e ports proprietà.
  6. Segui le istruzioni per prepararti a installare ASM:
    1. Anthos prerequisiti per l'implementazione.
    2. Autorizzazioni richieste per installare Anthos Service Mesh.
    3. Pianifica un'installazione.
  7. Installa asmcli ed eventuali strumenti necessari come git, kubectl e jq, seguendo le istruzioni nella sezione Installare strumenti richiesti.
  8. Procedi con il passaggio per Concedi autorizzazioni di amministratore del cluster e interrompi. Non eseguire la convalida del progetto e del cluster passaggio.
  9. 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 configurare asmcli l'installazione di ASM, incluse tutte le sottodirectory.
    • overlay.yaml è il file dell'overlay che hai creato nei passaggi precedenti.

    Utilizza queste impostazioni quando segui le istruzioni fornite in Installa con funzionalità facoltative.

Risoluzione dei problemi

Se si verifica un errore in si riferisce a gcloud container hub memberships register, potresti aver 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 correggere l'errore, quindi esegui di nuovo asmcli install:

  1. Elenca le appartenenze a GKE Hub per il tuo progetto:
    gcloud container hub memberships list --project=$PROJECT_ID
  2. 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

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 torneremo qui per per completare l'installazione.

Questa guida spiega come eseguire un'installazione pulita della versione di Anthos Service Mesh (ASM) 1.12.9-asm.3 su 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

    Linux

  1. 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.12.9-asm.3-linux-amd64.tar.gz
  2. Scarica il file della firma e utilizza Opensl 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
    
  3. Estrai i contenuti del file in qualsiasi posizione nel tuo file system. Ad esempio: per estrarre il contenuto della 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 Il mesh si trova nella directory bin.
    • I profili di configurazione di Anthos Service Mesh si trovano Directory manifests/profiles.
  4. Assicurati di essere nella directory root dell'installazione di Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  5. Per praticità, aggiungi gli strumenti della directory /bin al tuo PATH:
    export PATH=$PWD/bin:$PATH
  6. Mac OS

  7. 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.12.9-asm.3-osx.tar.gz
  8. Scarica il file della firma e utilizza Opensl 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
    
  9. Estrai i contenuti del file in qualsiasi posizione nel tuo file system. Ad esempio: per estrarre il contenuto della 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 Il mesh si trova nella directory bin.
    • I profili di configurazione di Anthos Service Mesh si trovano Directory manifests/profiles.
  10. Assicurati di essere nella directory root dell'installazione di Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  11. Per praticità, aggiungi gli strumenti della directory /bin al tuo PATH:
    export PATH=$PWD/bin:$PATH
  12. Windows

  13. 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.12.9-asm.3-win.zip
  14. Scarica il file della firma e utilizza opensl 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
    
  15. Estrai i contenuti del file in qualsiasi posizione nel tuo file system. Ad esempio: per estrarre il contenuto della 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 Il mesh si trova nella directory bin.
    • I profili di configurazione di Anthos Service Mesh si trovano Directory manifests\profiles.
  16. Assicurati di essere nella directory root dell'installazione di Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  17. Per praticità, aggiungi gli strumenti della directory \bin al tuo PATH:
    set PATH=%CD%\bin:%PATH%
  18. Ora che ASM Istio è installato, controlla la versione di istioctl:
    istioctl version
  19. Crea uno spazio dei nomi denominato istio-system per i componenti del piano di controllo:
    kubectl create namespace istio-system

Installazione di Anthos Service Mesh

  1. crea un file denominato overlay.yaml con il seguente contenuto:
    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
    
  2. Installa Anthos Service Mesh con istioctl utilizzando il profilo asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1129-3" \
        --filename overlay.yaml

    L'argomento --set revision aggiunge un'etichetta di revisione nel formato Da istio.io/rev=asm-1129-3 a istiod. L'etichetta di revisione viene utilizzata webhook di iniezione di sidecar automatico per associare i sidecar iniettati a un particolare istiod revisione. Per abilitare l'inserimento automatico del file collaterale per uno spazio dei nomi, devi etichettarlo con una revisione che corrisponde all'etichetta sullo standard.

  3. Verifica che i pod istiod siano in esecuzione con kubectl 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
    
  4. 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
    

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 torneremo qui per per completare l'installazione.

Questa guida spiega come eseguire un'installazione pulita della versione di Anthos Service Mesh (ASM) 1.12.9-asm.3 su 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

    Linux

  1. 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.12.9-asm.3-linux-amd64.tar.gz
  2. Scarica il file della firma e utilizza opensl 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
    
  3. Estrai i contenuti del file in qualsiasi posizione nel tuo file system. Ad esempio: per estrarre il contenuto della 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 Il mesh si trova nella directory bin.
    • I profili di configurazione di Anthos Service Mesh si trovano Directory manifests/profiles.
  4. Assicurati di essere nella directory root dell'installazione di Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  5. Per praticità, aggiungi gli strumenti della directory /bin al tuo PATH:
    export PATH=$PWD/bin:$PATH
  6. Mac OS

  7. 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.12.9-asm.3-osx.tar.gz
  8. Scarica il file della firma e utilizza opensl 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
    
  9. Estrai i contenuti del file in qualsiasi posizione nel tuo file system. Ad esempio: per estrarre il contenuto della 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 Il mesh si trova nella directory bin.
    • I profili di configurazione di Anthos Service Mesh si trovano Directory manifests/profiles.
  10. Assicurati di essere nella directory root dell'installazione di Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  11. Per praticità, aggiungi gli strumenti della directory /bin al tuo PATH:
    export PATH=$PWD/bin:$PATH
  12. Windows

  13. 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.12.9-asm.3-win.zip
  14. Scarica il file della firma e utilizza opensl 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
    
  15. Estrai i contenuti del file in qualsiasi posizione nel tuo file system. Ad esempio: per estrarre il contenuto della 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 Il mesh si trova nella directory bin.
    • I profili di configurazione di Anthos Service Mesh si trovano Directory manifests\profiles.
  16. Assicurati di essere nella directory root dell'installazione di Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  17. Per praticità, aggiungi gli strumenti della directory \bin al tuo PATH:
    set PATH=%CD%\bin:%PATH%
  18. Ora che ASM Istio è installato, controlla la versione di istioctl:
    istioctl version
  19. Crea uno spazio dei nomi denominato istio-system per i componenti del piano di controllo:
    kubectl create namespace istio-system

Installazione di Anthos Service Mesh

  1. crea un file denominato overlay.yaml con il seguente contenuto:
    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
    
  2. Installa Anthos Service Mesh con istioctl utilizzando il profilo asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1129-3" \
        --filename overlay.yaml

    L'argomento --set revision aggiunge un'etichetta di revisione nel formato Da istio.io/rev=asm-1129-3 a istiod. L'etichetta di revisione viene utilizzata webhook di iniezione di sidecar automatico per associare i sidecar iniettati a un particolare istiod revisione. Per abilitare l'inserimento automatico del file collaterale per uno spazio dei nomi, devi etichettarlo con una revisione che corrisponde all'etichetta sullo standard.

  3. Verifica che i pod istiod siano in esecuzione con kubectl 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
    
  4. 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
    

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 torneremo qui per per completare l'installazione.

Questa guida spiega come eseguire un'installazione pulita della versione di Anthos Service Mesh (ASM) 1.12.9-asm.3 su 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

    Linux

  1. Concedi il vincolo di contesto di sicurezza (SCC) anyuid al sistema istio con il seguente comando oc:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  2. 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.12.9-asm.3-linux-amd64.tar.gz
  3. Scarica il file della firma e utilizza opensl 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
    
  4. Estrai i contenuti del file in qualsiasi posizione nel tuo file system. Ad esempio: per estrarre il contenuto della 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 Il mesh si trova nella directory bin.
    • I profili di configurazione di Anthos Service Mesh si trovano Directory manifests/profiles.
  5. Assicurati di essere nella directory root dell'installazione di Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  6. Per praticità, aggiungi gli strumenti della directory /bin al tuo PATH:
    export PATH=$PWD/bin:$PATH
  7. Mac OS

  8. Concedi il vincolo di contesto di sicurezza (SCC) anyuid al sistema istio con il seguente comando oc:
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  9. 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.12.9-asm.3-osx.tar.gz
  10. Scarica il file della firma e utilizza Opensl 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
    
  11. Estrai i contenuti del file in qualsiasi posizione nel tuo file system. Ad esempio: per estrarre il contenuto della 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 Il mesh si trova nella directory bin.
    • I profili di configurazione di Anthos Service Mesh si trovano Directory manifests/profiles.
  12. Assicurati di essere nella directory root dell'installazione di Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  13. Per praticità, aggiungi gli strumenti della directory /bin al tuo PATH:
    export PATH=$PWD/bin:$PATH
  14. Windows

  15. Concedi il vincolo di contesto di sicurezza (SCC) anyuid al sistema istio con il seguente comando OpenShift CLI (oc):
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  16. 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.12.9-asm.3-win.zip
  17. Scarica il file della firma e utilizza Opensl 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
    
  18. Estrai i contenuti del file in qualsiasi posizione nel tuo file system. Ad esempio: per estrarre il contenuto della 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 Il mesh si trova nella directory bin.
    • I profili di configurazione di Anthos Service Mesh si trovano Directory manifests\profiles.
  19. Assicurati di essere nella directory root dell'installazione di Anthos Service Mesh:
    cd istio-1.12.9-asm.3
  20. Per praticità, aggiungi gli strumenti della directory \bin al tuo PATH:
    set PATH=%CD%\bin:%PATH%
  21. Ora che ASM Istio è installato, controlla la versione di istioctl:
    istioctl version
  22. Crea uno spazio dei nomi denominato istio-system per i componenti del piano di controllo:
    kubectl create namespace istio-system

Installazione di Anthos Service Mesh

  1. 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
    
  2. Installa Anthos Service Mesh con istioctl utilizzando il profilo asm-multicloud:
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1129-3" \
        --filename overlay.yaml

    L'argomento --set revision aggiunge un'etichetta di revisione nel formato Da istio.io/rev=asm-1129-3 a istiod. L'etichetta di revisione viene utilizzata webhook di iniezione di sidecar automatico per associare i sidecar iniettati a un particolare istiod revisione. Per abilitare l'inserimento automatico del file collaterale per uno spazio dei nomi, devi etichettarlo con una revisione che corrisponde all'etichetta sullo standard.

  3. Verifica che i pod istiod siano in esecuzione con kubectl 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
    
  4. 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
    

Personalizzazione dell'installazione di ASM

L'installazione di ASM appena eseguita è un'installazione minima, sufficiente per eseguire test e utilizzare Apigee hybrid per casi d'uso di base. Per informazioni su come affrontare casi d'uso più avanzati, come Aggiungere, rimuovere o modificare i numeri di porta del bilanciatore del carico, consulta Attivazione della funzionalità facoltativa funzionalità.

Riepilogo

Ora che cert-manager e ASM sono installati e puoi installare Strumento a riga di comando ibrido Apigee sulla tua macchina locale.

1 2 3 (SUCCESSIVO) Passaggio 4: installa apigeectl 5 6 7 8 9