Étape 3 : Installer ASM

Installer ASM

Apigee hybride utilise la distribution Istio fournie avec Anthos Service Mesh (ASM). Pour installer ASM dans votre cluster, procédez comme suit :

Versions ASM compatibles

Pour connaître les versions d'ASM compatibles avec la version d'hybrid 1.7, consultez la page Apigee hybrid : plates-formes compatibles.

Réaliser les étapes d'installation et de configuration d'ASM

Pour effectuer l'installation d'ASM, vous devez d'abord suivre les étapes d'installation et de configuration spécifiques à cet outil dans la documentation ASM. Ensuite, vous devez revenir sur cette page pour terminer la configuration spécifique hybride avant d'appliquer la configuration au cluster.

Les instructions d'installation et de configuration d'ASM varient en fonction de votre plate-forme. Les plates-formes sont réparties dans les catégories suivantes :

  • GKE : clusters Google Kubernetes Engine s'exécutant sur Google Cloud.
  • En dehors de Google Cloud : clusters Anthos s'exécutant sur :
    • Anthos clusters on VMware (GKE On-Prem)
    • Anthos sur solution Bare Metal
    • Anthos clusters on AWS
    • Amazon EKS
  • Autres plates-formes Kubernetes : clusters conformes, créés et exécutés sur :
    • AKS
    • EKS
    • OpenShift

GKE

Préparer l'installation d'ASM

  1. Vérifiez les variables d'environnement dont vous aurez besoin pour les étapes suivantes, et définissez-les si nécessaire :
    echo $PROJECT_ID
    echo $CLUSTER_NAME
    echo $CLUSTER_LOCATION
  2. Créez un fichier de superposition nommé overlay.yaml avec le contenu suivant :
    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 est la valeur par défaut du sélecteur de nœud. Il s'agit du pool de nœuds apigee-runtime que vous avez créé à l'Étape 1 : Créer un cluster. Si vous utilisez un autre sélecteur de nœud ou si vous n'en utilisez pas, modifiez ou omettez la propriété nodeSelector.
    • STATIC_IP est l'adresse IP de votre équilibreur de charge. Si vous n'en avez pas, omettez la propriété loadBalancerIP, mais conservez les propriétés type et ports.
  3. Suivez les instructions pour préparer l'installation d'ASM :
    1. Conditions préalables d'Anthos
    2. Autorisations requises pour installer Anthos Service Mesh
    3. Planifier une installation
  4. Installez asmcli et tous les outils requis tels que git, kubectl et jq, en suivant les instructions de la section Installer les outils requis.
  5. Suivez la procédure permettant d'attribuer des autorisations d'administrateur de cluster et arrêtez-la. N'effectuez pas l'étape "Valider le projet et le cluster".
  6. Installez ASM avec les fonctionnalités facultatives. Spécifiez l'ancienne passerelle d'entrée avec --option legacy-default-ingressgateway. par exemple :
    ./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 est le répertoire de sortie dans lequel vous souhaitez que asmcli configure l'installation d'ASM, y compris tous les sous-répertoires.
    • overlay.yaml est le fichier de superposition que vous avez créé lors des étapes précédentes.

    Utilisez ces paramètres en suivant les instructions de la section Installer avec les fonctionnalités facultatives.

Dépannage

Si vous rencontrez une erreur faisant référence à gcloud container hub memberships register, vous avez peut-être dépassé le nombre maximal de clusters enregistrés avec GKE Hub. Par exemple :

asmcli_1.12: [WARNING]:  Command 'run_command gcloud
container hub memberships register my-hybrid-example
...' failed.

Suivez les étapes ci-dessous pour corriger cette erreur, puis exécutez à nouveau asmcli install :

  1. Répertoriez les membres de GKE Hub pour votre projet :
    gcloud container hub memberships list --project=$PROJECT_ID
  2. Supprimez les membres de GKE Hub :
    gcloud container hub memberships delete "membership" --project=$PROJECT_ID

Pour en savoir plus sur les limites de GKE Hub, consultez la page Quotas et limites.

En dehors de Google Cloud

Ces instructions concernent l'installation et la configuration d'ASM pour les instances Apigee hybrid utilisant Anthos pour s'exécuter sur les plates-formes suivantes :

  • Anthos clusters on VMware (GKE On-Prem)
  • Anthos sur solution Bare Metal
  • Anthos clusters on AWS
  • Amazon EKS

Préparer l'installation d'ASM

  1. Vérifiez les variables d'environnement dont vous aurez besoin pour les étapes suivantes, et définissez-les si nécessaire :
    echo ${PROJECT_ID}
    echo ${CLUSTER_NAME}
    echo ${CLUSTER_LOCATION}
  2. Notez les valeurs dont vous aurez besoin avec ASMCLI. Vous serez invité à fournir ces valeurs lorsque vous suivrez les étapes de la documentation ASM :
    • FLEET_PROJECT_ID correspond au nom du projet auquel vos clusters seront associés. Utilisez le projet que vous avez créé pour cette installation, stocké dans la variable d'environnement ${PROJECT_ID}.
    • KUBECONFIG_FILE est le chemin d'accès complet au fichier kubeconfig. Le chemin par défaut est $HOME/.kube/config. Pour en savoir plus, consultez la page Organiser l'accès au cluster à l'aide de fichiers kubeconfig dans la documentation de Kubernetes.
    • DIR_PATH est le répertoire de sortie pour ASMCLI. Il s'agit du chemin où les fichiers de configuration Istio seront créés. Exemple : ./asm.
    • GATEWAY_NAMESPACE est l'espace de noms de votre passerelle d'entrée Istio, par exemple : istio.
    • REVISION est le libellé de révision pour cette version d'ASM. Utilisez asm-1129-3.
    • CONTEXT est le contexte Kubernetes. À l'aide de la commande suivante, vérifiez que Kubernetes utilise le contexte pour votre cluster :
      kubectl config get-contexts

      Si votre cluster actuel ne correspond pas au contexte actuel, vous pouvez le définir à l'aide de la commande suivante :

      kubectl config use-context CONTEXT
    • USER_ACCOUNT est le compte disposant des autorisations d'administrateur de cluster que vous utilisez pour gérer le cluster.
  3. Définissez le contexte de votre projet et de votre région à l'aide des commandes suivantes :

    Définissez votre ID de projet par défaut :

    gcloud config set project ${PROJECT_ID}

    Si vous utilisez des clusters régionaux, définissez votre région de calcul par défaut :

    gcloud config set compute/region ${CLUSTER_LOCATION}
  4. Obtenez les identifiants à l'aide de la commande suivante :
    gcloud container clusters get-credentials ${CLUSTER_NAME} --region ${CLUSTER_LOCATION} --project ${PROJECT_ID}
  5. Créez un fichier de superposition nommé overlay.yaml avec le contenu suivant :
    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 est la valeur par défaut du sélecteur de nœud. Il s'agit du pool de nœuds apigee-runtime que vous avez créé à l'Étape 1 : Créer un cluster. Si vous utilisez un autre sélecteur de nœud ou si vous n'en utilisez pas, modifiez ou omettez la propriété nodeSelector.
    • STATIC_IP est l'adresse IP de votre équilibreur de charge. Si vous n'en avez pas, omettez la propriété loadBalancerIP, mais conservez les propriétés type et ports.
  6. Suivez les instructions pour préparer l'installation d'ASM :
    1. Conditions préalables d'Anthos
    2. Autorisations requises pour installer Anthos Service Mesh
    3. Planifier une installation
  7. Installez asmcli et tous les outils requis tels que git, kubectl et jq, en suivant les instructions de la section Installer les outils requis.
  8. Suivez la procédure permettant d'attribuer des autorisations d'administrateur de cluster et arrêtez-la. N'effectuez pas l'étape "Valider le projet et le cluster".
  9. Installez ASM avec les fonctionnalités facultatives. Spécifiez l'ancienne passerelle d'entrée avec --option legacy-default-ingressgateway. par exemple :
    ./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 est le répertoire de sortie dans lequel vous souhaitez que asmcli configure l'installation d'ASM, y compris tous les sous-répertoires.
    • overlay.yaml est le fichier de superposition que vous avez créé lors des étapes précédentes.

    Utilisez ces paramètres en suivant les instructions de la section Installer avec les fonctionnalités facultatives.

Dépannage

Si vous rencontrez une erreur faisant référence à gcloud container hub memberships register, vous avez peut-être dépassé le nombre maximal de clusters enregistrés avec GKE Hub. Par exemple :

asmcli_1.12: [WARNING]:  Command 'run_command gcloud
container hub memberships register my-hybrid-example
...' failed.

Suivez les étapes ci-dessous pour corriger cette erreur, puis exécutez à nouveau asmcli install :

  1. Répertoriez les membres de GKE Hub pour votre projet :
    gcloud container hub memberships list --project=$PROJECT_ID
  2. Supprimez les membres de GKE Hub :
    gcloud container hub memberships delete "membership" --project=$PROJECT_ID

Pour en savoir plus sur les limites de GKE Hub, consultez la page Quotas et limites.

Autres plates-formes Kubernetes

AKS

Configurer et télécharger ASM

Lisez attentivement la procédure ci-dessous avant de commencer. Nous vous demanderons d'effectuer certaines des étapes répertoriées dans la documentation ASM, puis de revenir sur cette page pour terminer l'installation.

Ce guide explique comment effectuer une installation correcte d'Anthos Service Mesh (ASM) en version  1.12.9-asm.3 sur des clusters associés à Anthos. Utilisez ce guide pour installer Anthos Service Mesh dans les environnements suivants :

  • Amazon Elastic Kubernetes Service (Amazon EKS) sur Kubernetes
  • Microsoft Azure Kubernetes Service (Microsoft AKS) sur Kubernetes
  • Red Hat OpenShift

Préparer l'installation d'Anthos Service Mesh

    Linux

  1. Téléchargez le fichier d'installation d'Anthos Service Mesh dans votre répertoire de travail actuel :
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
  2. Téléchargez le fichier de signature et utilisez openssl pour valider la signature :
    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. Extrayez le contenu du fichier vers n’importe quel emplacement de votre système de fichiers. Par exemple, pour extraire le contenu vers le répertoire de travail actuel :
    tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz

    Cette commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé istio-1.12.9-asm.3, qui contient les éléments suivants :

    • Des exemples d'applications dans le répertoire samples
    • L'outil de ligne de commande istioctl que vous utilisez pour installer Anthos Service Mesh et qui se trouve dans le répertoire bin
    • Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire manifests/profiles
  4. Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
    cd istio-1.12.9-asm.3
  5. Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH :
    export PATH=$PWD/bin:$PATH
  6. macOS

  7. Téléchargez le fichier d'installation d'Anthos Service Mesh dans votre répertoire de travail actuel :
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
  8. Téléchargez le fichier de signature et utilisez openssl pour valider la signature :
    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. Extrayez le contenu du fichier vers n’importe quel emplacement de votre système de fichiers. Par exemple, pour extraire le contenu vers le répertoire de travail actuel :
    tar xzf istio-1.12.9-asm.3-osx.tar.gz

    Cette commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé istio-1.12.9-asm.3, qui contient les éléments suivants :

    • Des exemples d'applications dans le répertoire samples
    • L'outil de ligne de commande istioctl que vous utilisez pour installer Anthos Service Mesh et qui se trouve dans le répertoire bin
    • Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire manifests/profiles
  10. Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
    cd istio-1.12.9-asm.3
  11. Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH :
    export PATH=$PWD/bin:$PATH
  12. Windows

  13. Téléchargez le fichier d'installation d'Anthos Service Mesh dans votre répertoire de travail actuel :
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
  14. Téléchargez le fichier de signature et utilisez openssl pour valider la signature :
    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. Extrayez le contenu du fichier vers n’importe quel emplacement de votre système de fichiers. Par exemple, pour extraire le contenu vers le répertoire de travail actuel :
    tar xzf istio-1.12.9-asm.3-win.zip

    Cette commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé istio-1.12.9-asm.3, qui contient les éléments suivants :

    • Des exemples d'applications dans le répertoire samples
    • L'outil de ligne de commande istioctl que vous utilisez pour installer Anthos Service Mesh et qui se trouve dans le répertoire bin
    • Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire manifests\profiles
  16. Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
    cd istio-1.12.9-asm.3
  17. Pour plus de simplicité, ajoutez les outils du répertoire \bin à votre PATH :
    set PATH=%CD%\bin:%PATH%
  18. Maintenant qu'ASM Istio est installé, vérifiez la version d'istioctl :
    istioctl version
  19. Créez un espace de noms appelé istio-system pour les composants du plan de contrôle :
    kubectl create namespace istio-system

Installer Anthos Service Mesh

  1. Créez un fichier nommé overlay.yaml avec le contenu suivant :
    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. Installez Anthos Service Mesh avec istioctl à l'aide du profil asm-multicloud :
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1129-3" \
        --filename overlay.yaml

    L'argument --set revision ajoute un libellé de révision au format istio.io/rev=asm-1129-3 à istiod. Le libellé de révision est utilisé par le webhook d'injecteur side-car automatique pour associer les side-cars injectés à une révision particulière d'istiod. Pour activer l'injection automatique side-car pour un espace de noms, vous devez lui attribuer un libellé de révision correspondant au libellé d'istiod.

  3. Vérifiez que les pods istiod s'exécutent avec kubectl get pods :
    kubectl get pods -n istio-system

    Le résultat doit se présenter sous la forme suivante :

    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. Vérifiez que votre installation est terminée :
    kubectl get svc -n istio-system

    Le résultat doit se présenter sous la forme suivante :

    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

Configurer et télécharger ASM

Lisez attentivement la procédure ci-dessous avant de commencer. Nous vous demanderons d'effectuer certaines des étapes répertoriées dans la documentation ASM, puis de revenir sur cette page pour terminer l'installation.

Ce guide explique comment effectuer une installation correcte d'Anthos Service Mesh (ASM) en version  1.12.9-asm.3 sur des clusters associés à Anthos. Utilisez ce guide pour installer Anthos Service Mesh dans les environnements suivants :

  • Amazon Elastic Kubernetes Service (Amazon EKS) sur Kubernetes
  • Microsoft Azure Kubernetes Service (Microsoft AKS) sur Kubernetes
  • Red Hat OpenShift

Préparer l'installation d'Anthos Service Mesh

    Linux

  1. Téléchargez le fichier d'installation d'Anthos Service Mesh dans votre répertoire de travail actuel :
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
  2. Téléchargez le fichier de signature et utilisez openssl pour valider la signature :
    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. Extrayez le contenu du fichier vers n’importe quel emplacement de votre système de fichiers. Par exemple, pour extraire le contenu vers le répertoire de travail actuel :
    tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz

    Cette commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé istio-1.12.9-asm.3, qui contient les éléments suivants :

    • Des exemples d'applications dans le répertoire samples
    • L'outil de ligne de commande istioctl que vous utilisez pour installer Anthos Service Mesh et qui se trouve dans le répertoire bin
    • Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire manifests/profiles
  4. Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
    cd istio-1.12.9-asm.3
  5. Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH :
    export PATH=$PWD/bin:$PATH
  6. macOS

  7. Téléchargez le fichier d'installation d'Anthos Service Mesh dans votre répertoire de travail actuel :
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
  8. Téléchargez le fichier de signature et utilisez openssl pour valider la signature :
    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. Extrayez le contenu du fichier vers n’importe quel emplacement de votre système de fichiers. Par exemple, pour extraire le contenu vers le répertoire de travail actuel :
    tar xzf istio-1.12.9-asm.3-osx.tar.gz

    Cette commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé istio-1.12.9-asm.3, qui contient les éléments suivants :

    • Des exemples d'applications dans le répertoire samples
    • L'outil de ligne de commande istioctl que vous utilisez pour installer Anthos Service Mesh et qui se trouve dans le répertoire bin
    • Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire manifests/profiles
  10. Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
    cd istio-1.12.9-asm.3
  11. Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH :
    export PATH=$PWD/bin:$PATH
  12. Windows

  13. Téléchargez le fichier d'installation d'Anthos Service Mesh dans votre répertoire de travail actuel :
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
  14. Téléchargez le fichier de signature et utilisez openssl pour valider la signature :
    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. Extrayez le contenu du fichier vers n’importe quel emplacement de votre système de fichiers. Par exemple, pour extraire le contenu vers le répertoire de travail actuel :
    tar xzf istio-1.12.9-asm.3-win.zip

    Cette commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé istio-1.12.9-asm.3, qui contient les éléments suivants :

    • Des exemples d'applications dans le répertoire samples
    • L'outil de ligne de commande istioctl que vous utilisez pour installer Anthos Service Mesh et qui se trouve dans le répertoire bin
    • Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire manifests\profiles
  16. Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
    cd istio-1.12.9-asm.3
  17. Pour plus de simplicité, ajoutez les outils du répertoire \bin à votre PATH :
    set PATH=%CD%\bin:%PATH%
  18. Maintenant qu'ASM Istio est installé, vérifiez la version d'istioctl :
    istioctl version
  19. Créez un espace de noms appelé istio-system pour les composants du plan de contrôle :
    kubectl create namespace istio-system

Installer Anthos Service Mesh

  1. Créez un fichier nommé overlay.yaml avec le contenu suivant :
    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. Installez Anthos Service Mesh avec istioctl à l'aide du profil asm-multicloud :
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1129-3" \
        --filename overlay.yaml

    L'argument --set revision ajoute un libellé de révision au format istio.io/rev=asm-1129-3 à istiod. Le libellé de révision est utilisé par le webhook d'injecteur side-car automatique pour associer les side-cars injectés à une révision particulière d'istiod. Pour activer l'injection automatique side-car pour un espace de noms, vous devez lui attribuer un libellé de révision correspondant au libellé d'istiod.

  3. Vérifiez que les pods istiod s'exécutent avec kubectl get pods :
    kubectl get pods -n istio-system

    Le résultat doit se présenter sous la forme suivante :

    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. Vérifiez que votre installation est terminée :
    kubectl get svc -n istio-system

    Le résultat doit se présenter sous la forme suivante :

    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

Configurer et télécharger ASM

Lisez attentivement la procédure ci-dessous avant de commencer. Nous vous demanderons d'effectuer certaines des étapes répertoriées dans la documentation ASM, puis de revenir sur cette page pour terminer l'installation.

Ce guide explique comment effectuer une installation correcte d'Anthos Service Mesh (ASM) en version  1.12.9-asm.3 sur des clusters associés à Anthos. Utilisez ce guide pour installer Anthos Service Mesh dans les environnements suivants :

  • Amazon Elastic Kubernetes Service (Amazon EKS) sur Kubernetes
  • Microsoft Azure Kubernetes Service (Microsoft AKS) sur Kubernetes
  • Red Hat OpenShift

Préparer l'installation d'Anthos Service Mesh

    Linux

  1. Attribuez la contrainte de contexte de sécurité (SCC) anyuid au système istio avec la commande oc suivante :
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  2. Téléchargez le fichier d'installation d'Anthos Service Mesh dans votre répertoire de travail actuel :
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
  3. Téléchargez le fichier de signature et utilisez openssl pour valider la signature :
    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. Extrayez le contenu du fichier vers n’importe quel emplacement de votre système de fichiers. Par exemple, pour extraire le contenu vers le répertoire de travail actuel :
    tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz

    Cette commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé istio-1.12.9-asm.3, qui contient les éléments suivants :

    • Des exemples d'applications dans le répertoire samples
    • L'outil de ligne de commande istioctl que vous utilisez pour installer Anthos Service Mesh et qui se trouve dans le répertoire bin
    • Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire manifests/profiles
  5. Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
    cd istio-1.12.9-asm.3
  6. Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH :
    export PATH=$PWD/bin:$PATH
  7. macOS

  8. Attribuez la contrainte de contexte de sécurité (SCC) anyuid au système istio avec la commande oc suivante :
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  9. Téléchargez le fichier d'installation d'Anthos Service Mesh dans votre répertoire de travail actuel :
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
  10. Téléchargez le fichier de signature et utilisez openssl pour valider la signature :
    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. Extrayez le contenu du fichier vers n’importe quel emplacement de votre système de fichiers. Par exemple, pour extraire le contenu vers le répertoire de travail actuel :
    tar xzf istio-1.12.9-asm.3-osx.tar.gz

    Cette commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé istio-1.12.9-asm.3, qui contient les éléments suivants :

    • Des exemples d'applications dans le répertoire samples
    • L'outil de ligne de commande istioctl que vous utilisez pour installer Anthos Service Mesh et qui se trouve dans le répertoire bin
    • Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire manifests/profiles
  12. Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
    cd istio-1.12.9-asm.3
  13. Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH :
    export PATH=$PWD/bin:$PATH
  14. Windows

  15. Attribuez la contrainte de contexte de sécurité (SCC) anyuid au système istio avec la commande suivante de la CLI OpenShift (oc) :
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
  16. Téléchargez le fichier d'installation d'Anthos Service Mesh dans votre répertoire de travail actuel :
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
  17. Téléchargez le fichier de signature et utilisez openssl pour valider la signature :
    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. Extrayez le contenu du fichier vers n’importe quel emplacement de votre système de fichiers. Par exemple, pour extraire le contenu vers le répertoire de travail actuel :
    tar xzf istio-1.12.9-asm.3-win.zip

    Cette commande crée un répertoire d'installation dans votre répertoire de travail actuel, nommé istio-1.12.9-asm.3, qui contient les éléments suivants :

    • Des exemples d'applications dans le répertoire samples
    • L'outil de ligne de commande istioctl que vous utilisez pour installer Anthos Service Mesh et qui se trouve dans le répertoire bin
    • Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire manifests\profiles
  19. Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
    cd istio-1.12.9-asm.3
  20. Pour plus de simplicité, ajoutez les outils du répertoire \bin à votre PATH :
    set PATH=%CD%\bin:%PATH%
  21. Maintenant qu'ASM Istio est installé, vérifiez la version d'istioctl :
    istioctl version
  22. Créez un espace de noms appelé istio-system pour les composants du plan de contrôle :
    kubectl create namespace istio-system

Installer Anthos Service Mesh

  1. Créez un fichier nommé overlay.yaml avec le contenu suivant :
    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. Installez Anthos Service Mesh avec istioctl à l'aide du profil asm-multicloud :
    istioctl install \
        --set profile=asm-multicloud \
        --set revision="asm-1129-3" \
        --filename overlay.yaml

    L'argument --set revision ajoute un libellé de révision au format istio.io/rev=asm-1129-3 à istiod. Le libellé de révision est utilisé par le webhook d'injecteur side-car automatique pour associer les side-cars injectés à une révision particulière d'istiod. Pour activer l'injection automatique side-car pour un espace de noms, vous devez lui attribuer un libellé de révision correspondant au libellé d'istiod.

  3. Vérifiez que les pods istiod s'exécutent avec kubectl get pods :
    kubectl get pods -n istio-system

    Le résultat doit se présenter sous la forme suivante :

    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. Vérifiez que votre installation est terminée :
    kubectl get svc -n istio-system

    Le résultat doit se présenter sous la forme suivante :

    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

Personnaliser l'installation d'ASM

L'installation d'ASM que vous venez d'effectuer est une installation minimale, suffisante pour tester et utiliser Apigee hybrid dans des cas d'utilisation de base. Pour en savoir plus sur la gestion de cas d'utilisation plus avancés, tels que l'ajout, la suppression ou la modification de numéros de port de l'équilibreur de charge, consultez la page Activer les fonctionnalités facultatives.

Résumé

Maintenant, cert-manager et ASM sont installés, et vous êtes prêt à installer l'outil de ligne de commande Apigee hybrid sur votre ordinateur local.

1 2 3 (SUIVANT) Étape 4 : Installer apigeectl 5 6 7 8 9