Istio et Weave Cloud peuvent travailler ensemble pour atteindre plusieurs objectifs:

  • Utilisez Weave Cloud Explore pour visualiser Istio en action. Cela signifie que vous pourrez voir comment Istio déploie les sidecars pour chacun de vos conteneurs d'applications et vous pouvez vérifier comment tout le trafic des applications passe par ces sidecars. Vous pourrez voir avant et après les changements apportés par kube-inject d'Istio à votre application en temps réel, ce qui permet de visualiser, de comprendre et d'apprendre le fonctionnement d'Istio.
  • Demandez à Weave Cloud Monitor de gérer le stockage à long terme des métriques Prometheus, ainsi que de fournir une interface graphique plus agréable pour explorer les métriques disponibles. Cela signifie que vous n'avez pas à vous soucier de l'évolutivité de votre instance Prometheus, ni de la gestion du stockage au sein de votre cluster Kubernetes. Vous pouvez configurer le même tableau de bord Grafana qu'Istio fournit directement pour interroger Weave Cloud.

Petit rappel sur Istio

Quel apport d'Istio ? Améliore la connexion, la sécurité, l’observation et le contrôle des services tout en réduisant la complexité des déploiements hybrides et multi-cloud de très grande envergure.

Concrètement, Istio élimine le besoin de mettre en place les mécanismes opérationnels nécessaires à la gestion de microservices dans le code de l’application. Au lieu de cela, il établit une couche de connexion entre les modules individuels, servant ainsi le même objectif mais sans apporter de modifications majeures au code.

Elle donne en outre la possibilité de créer un réseau de services, comme l’équilibrage de charges (load balancing), l’authentification de service à service, le monitoring, le reporting ou la télémétrie.

La plateforme Istio se situe au niveau du réseau et communique avec un proxy pour détecter les communications réseaux entre les microservices.

Schéma d'architecture type - Istio

Istio vise à proposer une solution de maillage de services (Service Mesh en anglais)pour favoriser la communication ainsi que les interactions dynamiques entre services dans un environnement moderne de micro-services. Bref Istio souhaite former une tour de contrôle pour développer et contrôler des architectures de micro-services.

Déployer sur GKE

Instructions de démarrage rapide pour installer et exécuter Istio dans Google Kubernetes Engine (GKE) à l'aide de Google Cloud Deployment Manager.  

Ce démarrage rapide crée un nouveau cluster zonal GKE, installe la version actuelle d'Istio, puis déploie l'exemple d'application Bookinfo (si vous le souhaitez). Il utilise le gestionnaire de déploiement pour automatiser les étapes détaillées dans les instructions de configuration d'Istio sur Kubernetes pour Kubernetes Engine.

Conditions préalables

Cet exemple nécessite un projet Google Cloud Platform valide avec la facturation activée. Si vous n'êtes pas un utilisateur GCP existant, vous pourrez peut-être vous inscrire à un crédit d'essai gratuit de 300 USD.  

Assurez-vous que l'API Google Kubernetes Engine est activée pour votre projet (également en accédant à «API et services» -> «Tableau de bord» dans la barre de navigation). Si vous ne voyez pas “API activée”, vous pouvez alors activer l'API en cliquant sur le bouton “Activer cette API”.  

Vous devez installer et configurer l'outil de ligne de commande gcloud et inclure le composant kubectl (les composants gcloud installent kubectl). Si vous ne souhaitez pas installer le client gcloud sur votre propre ordinateur, vous pouvez utiliser gcloud via Google Cloud Shell pour effectuer les mêmes tâches.  

Attention :

Vous devez configurer votre compte de compute service par défaut pour inclure:

  • roles / conteneur.admin (Admin du moteur Kubernetes)
  • Editeur (activé par défaut)

Pour ce faire, accédez à la section IAM de la console Cloud comme indiqué ci-dessous et recherchez votre compte de service GCE / GKE par défaut sous la forme suivante: projectNumber-compute@developer.gserviceaccount.com: par défaut, il ne devrait s'agir que du rôle Editeur. . Ensuite, dans la liste déroulante Roles de ce compte, recherchez le groupe Kubernetes Engine et sélectionnez le rôle Admin Kubernetes Engine. La liste des rôles de votre compte passera à multiple.

Ajoutez ensuite le rôle d’administrateur de Kubernetes Engine:

Installation

Lancer le gestionnaire de déploiement

Une fois que vous avez activé un compte et un projet, cliquez sur le lien suivant pour ouvrir le gestionnaire de déploiement.  

Gestionnaire de déploiement Istio GKE Nous vous recommandons de conserver les paramètres par défaut, car le reste de ce didacticiel explique comment accéder aux fonctionnalités installées. Par défaut, l'outil crée un cluster alpha GKE avec les paramètres spécifiés, puis installe le plan de contrôle Istio, l'exemple d'application Bookinfo, Grafana avec Prometheus, ServiceGraph et le traçage. Vous en apprendrez plus sur la façon d'accéder à tous ces éléments ci-dessous. Ce script activera l'injection automatique d'Istio sur l'espace de noms par défaut uniquement.  Cliquez sur Déployer:

Attendez que Istio soit complètement déployé. Notez que cela peut prendre jusqu'à cinq minutes.

Ce qui donne depuis le terminal :

Une fois le déploiement terminé, procédez comme suit sur le poste de travail sur lequel vous avez installé gcloud:  

1- Amorcez kubectl pour le cluster que vous venez de créer et confirmez que le cluster est en cours d'exécution et qu'Istio est activé

MBP-de-admin:~ admin$ sudo gcloud container clusters list
Password:
NAME           LOCATION        MASTER_VERSION  MASTER_IP     MACHINE_TYPE   NODE_VERSION  NUM_NODES  STATUS
istio-cluster  europe-west1-c  1.10.9-gke.5    35.205.50.60  custom-2-6144  1.10.9-gke.5  3          RUNNING