Déploiement de l'exemple d'application de la boutique en ligne sur Anthos Service Mesh

Ce guide explique comment installer l'exemple d'application Online Boutique consacré à Anthos Service Mesh.

Prérequis

Ce guide suppose que vous disposez des éléments suivants :

Télécharger et déployer l'exemple

  1. Téléchargez l'exemple à l'aide de kpt :

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/microservices-demo.git/release \
    online-boutique
    
  2. Créez un espace de noms pour l'application :

    kubectl create namespace demo
    
  3. Activez l'injection side-car automatique (injection automatique). Exécutez la commande suivante pour localiser le libellé sur le service istiod, qui contient la valeur du libellé de révision à utiliser lors des étapes suivantes.

    kubectl -n istio-system get pods -l app=istiod --show-labels
    

    La sortie ressemble à ceci :

    NAME                                READY   STATUS    RESTARTS   AGE   LABELS
    istiod-asm-186-8-5788d57586-bljj4   1/1     Running   0          23h   app=istiod,istio.io/rev=asm-186-8,istio=istiod,pod-template-hash=5788d57586
    istiod-asm-186-8-5788d57586-vsklm   1/1     Running   1          23h   app=istiod,istio.io/rev=asm-186-8,istio=istiod,pod-template-hash=5788d57586

    Dans le résultat, sous la colonne LABELS, notez la valeur du libellé de révision istiod, qui suit le préfixe istio.io/rev=. Dans cet exemple, la valeur est asm-186-8.

  4. Appliquez le libellé de révision à l'espace de noms. Dans la commande suivante, REVISION correspond à la valeur du libellé de révision istiod que vous avez notée à l'étape précédente.

    kubectl label namespace demo istio-injection- istio.io/rev=REVISION --overwrite
    

    Vous pouvez ignorer le message "istio-injection not found" dans le résultat. Cela signifie que l'espace de noms ne portait pas précédemment le libellé istio-injection, auquel on s'attend dans de nouvelles installations d'Anthos Service Mesh ou de nouveaux déploiements. Étant donné que l'injection automatique échoue si un espace de noms possède à la fois le istio-injection et le libellé de révision, toutes les commandes kubectl label de la documentation Anthos Service Mesh incluent la suppression du libellé istio-injection.

  5. Déployez l'exemple sur le cluster :

    kubectl apply -n demo -f online-boutique
    
  6. Recherchez l'adresse IP externe de votre application :

    kubectl get service frontend-external -n demo
    
  7. Accédez à l'application dans votre navigateur pour confirmer l'installation :

    http://EXTERNAL_IP/
    

Vous pouvez explorer les fonctionnalités d'observabilité d'Anthos Service Mesh pour GKE dans la console Google Cloud. Notez que l'affichage des services de votre maillage dans le graphique de topologie peut prendre jusqu'à 10 minutes.

Lorsque vous avez terminé votre exploration, supprimez l'exemple Online Boutique :

kubectl delete namespaces demo