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.5, 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
- 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}
- 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
apigee-runtime
est la valeur par défaut du sélecteur de nœud. Il s'agit du pool de nœudsapigee-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éstype
etports
.
- Suivez les instructions pour préparer l'installation d'ASM :
- Installez
asmcli
et tous les outils requis tels que git, kubectl et jq, en suivant les instructions de la section Installer les outils requis. - 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".
- 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.
- dir_path est le répertoire de sortie dans lequel vous souhaitez que
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
:
- Répertoriez les membres de GKE Hub pour votre projet :
gcloud container hub memberships list --project=$PROJECT_ID
- 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
- 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}
- 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œudsapigee-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éstype
etports
.
- Suivez les instructions pour préparer l'installation d'ASM :
- Installez
asmcli
et tous les outils requis tels que git, kubectl et jq, en suivant les instructions de la section Installer les outils requis. - 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".
- 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.
- dir_path est le répertoire de sortie dans lequel vous souhaitez que
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
:
- Répertoriez les membres de GKE Hub pour votre projet :
gcloud container hub memberships list --project=$PROJECT_ID
- 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.
GKE sur d'autres plates-formes
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 :
- GKE On-Prem (Anthos)
- Anthos sur solution Bare Metal
- GKE sur AWS
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.
- Téléchargez et décompressez
istioctl
conformément aux instructions de la documentation ASM : Télécharger le fichier d'installation. - Selon l'autorité de certification que vous prévoyez d'utiliser, installez ASM en suivant les instructions de l'une des sections suivantes :
- Utiliser Mesh CA : Installer Anthos Service Mesh avec l'autorité de certification Mesh
- Fournir vos propres certificats avec Istio CA : Installer Anthos Service Mesh avec l'autorité de certification Istio
- Configurez le webhook de validation en suivant les instructions de la section Configurer le webhook de validation.
- Vérifiez les composants du plan de contrôle à l'aide des instructions de la section Vérifier les composants du plan de contrôle.
Ne poursuivez pas avec l'opération "Injecter des proxys side-car".
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
- 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
- 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 - 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épertoirebin
- Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire
manifests/profiles
- Des exemples d'applications dans le répertoire
- Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
cd istio-1.12.9-asm.3
- Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH :
export PATH=$PWD/bin:$PATH
- 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
- 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 - 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épertoirebin
- Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire
manifests/profiles
- Des exemples d'applications dans le répertoire
- Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
cd istio-1.12.9-asm.3
- Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH :
export PATH=$PWD/bin:$PATH
- 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
- 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 - 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épertoirebin
- Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire
manifests\profiles
- Des exemples d'applications dans le répertoire
- Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
cd istio-1.12.9-asm.3
- Pour plus de simplicité, ajoutez les outils du répertoire \bin à votre PATH :
set PATH=%CD%\bin:%PATH%
- Maintenant qu'ASM Istio est installé, vérifiez la version d'
istioctl
:istioctl version
- Créez un espace de noms appelé istio-system pour les composants du plan de contrôle :
kubectl create namespace istio-system
Linux
macOS
Windows
Installer Anthos Service Mesh
- Installez Anthos Service Mesh avec
istioctl
à l'aide du profilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3"
L'argument
--set revision
ajoute un libellé de révision au formatistio.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. - Vérifiez que les pods
istiod
s'exécutent aveckubectl 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
- 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
Configurer le webhook de validation
Lorsque vous installez Anthos Service Mesh, vous définissez un libellé de révision sur istiod. Vous devez définir la même révision sur le webhook de validation.
- Créez un fichier nommé
istiod-service.yaml
avec le contenu suivant :apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1129-3 app: istiod istio: pilot release: istio spec: ports: - port: 15010 name: grpc-xds # plaintext protocol: TCP - port: 15012 name: https-dns # mTLS with k8s-signed cert protocol: TCP - port: 443 name: https-webhook # validation and injection targetPort: 15017 protocol: TCP - port: 15014 name: http-monitoring # prometheus stats protocol: TCP selector: app: istiod istio.io/rev: asm-1129-3 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Utilisez
kubectl
pour appliquer la configuration du webhook de validation :kubectl apply -f istiod-service.yaml
- Vérifiez que la configuration a bien été appliquée :
kubectl get svc -n istio-system
La réponse devrait ressembler à ceci :
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
EKS
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
- 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
- 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 - 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épertoirebin
- Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire
manifests/profiles
- Des exemples d'applications dans le répertoire
- Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
cd istio-1.12.9-asm.3
- Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH :
export PATH=$PWD/bin:$PATH
- 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
- 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 - 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épertoirebin
- Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire
manifests/profiles
- Des exemples d'applications dans le répertoire
- Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
cd istio-1.12.9-asm.3
- Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH :
export PATH=$PWD/bin:$PATH
- 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
- 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 - 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épertoirebin
- Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire
manifests\profiles
- Des exemples d'applications dans le répertoire
- Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
cd istio-1.12.9-asm.3
- Pour plus de simplicité, ajoutez les outils du répertoire \bin à votre PATH :
set PATH=%CD%\bin:%PATH%
- Maintenant qu'ASM Istio est installé, vérifiez la version d'
istioctl
:istioctl version
- Créez un espace de noms appelé istio-system pour les composants du plan de contrôle :
kubectl create namespace istio-system
Linux
macOS
Windows
Installer Anthos Service Mesh
- Installez Anthos Service Mesh avec
istioctl
à l'aide du profilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3"
L'argument
--set revision
ajoute un libellé de révision au formatistio.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. - Vérifiez que les pods
istiod
s'exécutent aveckubectl 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
- 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
Configurer le webhook de validation
Lorsque vous installez Anthos Service Mesh, vous définissez un libellé de révision sur istiod. Vous devez définir la même révision sur le webhook de validation.
- Créez un fichier nommé
istiod-service.yaml
avec le contenu suivant :apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1129-3 app: istiod istio: pilot release: istio spec: ports: - port: 15010 name: grpc-xds # plaintext protocol: TCP - port: 15012 name: https-dns # mTLS with k8s-signed cert protocol: TCP - port: 443 name: https-webhook # validation and injection targetPort: 15017 protocol: TCP - port: 15014 name: http-monitoring # prometheus stats protocol: TCP selector: app: istiod istio.io/rev: asm-1129-3 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Utilisez
kubectl
pour appliquer la configuration du webhook de validation :kubectl apply -f istiod-service.yaml
- Vérifiez que la configuration a bien été appliquée :
kubectl get svc -n istio-system
La réponse devrait ressembler à ceci :
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
OpenShift
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
- Attribuez la contrainte de contexte de sécurité (SCC)
anyuid
au système istio avec la commandeoc
suivante :oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- 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
- 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 - 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épertoirebin
- Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire
manifests/profiles
- Des exemples d'applications dans le répertoire
- Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
cd istio-1.12.9-asm.3
- Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH :
export PATH=$PWD/bin:$PATH
- Attribuez la contrainte de contexte de sécurité (SCC)
anyuid
au système istio avec la commandeoc
suivante :oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- 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
- 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 - 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épertoirebin
- Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire
manifests/profiles
- Des exemples d'applications dans le répertoire
- Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
cd istio-1.12.9-asm.3
- Pour plus de simplicité, ajoutez les outils du répertoire /bin à votre PATH :
export PATH=$PWD/bin:$PATH
- 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
- 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
- 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 - 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épertoirebin
- Les profils de configuration d'Anthos Service Mesh qui se trouvent dans le répertoire
manifests\profiles
- Des exemples d'applications dans le répertoire
- Assurez-vous d'être dans le répertoire racine de l'installation Anthos Service Mesh :
cd istio-1.12.9-asm.3
- Pour plus de simplicité, ajoutez les outils du répertoire \bin à votre PATH :
set PATH=%CD%\bin:%PATH%
- Maintenant qu'ASM Istio est installé, vérifiez la version d'
istioctl
:istioctl version
- Créez un espace de noms appelé istio-system pour les composants du plan de contrôle :
kubectl create namespace istio-system
Linux
macOS
Windows
Installer Anthos Service Mesh
- Installez Anthos Service Mesh avec
istioctl
à l'aide du profilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3"
L'argument
--set revision
ajoute un libellé de révision au formatistio.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. - Vérifiez que les pods
istiod
s'exécutent aveckubectl 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
- 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
Configurer le webhook de validation
Lorsque vous installez Anthos Service Mesh, vous définissez un libellé de révision sur istiod. Vous devez définir la même révision sur le webhook de validation.
- Créez un fichier nommé
istiod-service.yaml
avec le contenu suivant :apiVersion: v1 kind: Service metadata: name: istiod namespace: istio-system labels: istio.io/rev: asm-1129-3 app: istiod istio: pilot release: istio spec: ports: - port: 15010 name: grpc-xds # plaintext protocol: TCP - port: 15012 name: https-dns # mTLS with k8s-signed cert protocol: TCP - port: 443 name: https-webhook # validation and injection targetPort: 15017 protocol: TCP - port: 15014 name: http-monitoring # prometheus stats protocol: TCP selector: app: istiod istio.io/rev: asm-1129-3 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
- Utilisez
kubectl
pour appliquer la configuration du webhook de validation :kubectl apply -f istiod-service.yaml
- Vérifiez que la configuration a bien été appliquée :
kubectl get svc -n istio-system
La réponse devrait ressembler à ceci :
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 22s
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