Découvrez l'édition Google Kubernetes Engine (GKE) Enterprise en déployant un exemple d'application à l'aide de Terraform. Il déploie un véritable environnement interactif avec un cluster GKE, Anthos Service Mesh et une application comportant plusieurs microservices. Ce tutoriel vous présente ces fonctionnalités et vous permet de découvrir GKE Enterprise déployé sur Google Cloud avec une banque fictive. Vous pouvez ensuite explorer les fonctionnalités de GKE Enterprise qui vous intéressent en suivant le parcours de la banque avec GKE Enterprise dans notre tutoriel de suivi.
Si vous souhaitez en savoir plus sur les fonctionnalités de GKE Enterprise, consultez notre présentation technique. Toutefois, il n'est pas nécessaire de connaître GKE Enterprise ou Terraform pour suivre ce tutoriel. Vous devez connaître les concepts de base de Kubernetes, tels que les clusters. Si ce n'est pas le cas, consultez les pages Principes de base de Kubernetes, Documentation de Google Kubernetes Engine (GKE) et Préparer une application pour Anthos Service Mesh.
Lorsque vous êtes prêt à procéder à une installation en production réelle, consultez la page Configurer Anthos.
Votre parcours
Vous êtes responsable de la plate-forme de la Banque d'Anthos. À ses débuts, il y a une dizaine d'années, la Banque d'Anthos était une petite entreprise spécialisée dans le traitement des paiements sur deux serveurs. Depuis, elle est devenue une banque commerciale performante. Elle compte des milliers d'employés et développe son organisation technique. La Banque d'Anthos souhaite à présent développer davantage son activité.
Tout au long de cette période, votre équipe et vous avez constaté que vous consacriez plus de temps et d'argent à gérer l'infrastructure qu'à générer de la valeur commerciale. Vous avez acquis dix années d'expérience cumulative dans votre pile existante. Cependant, vous savez que ce n'est pas la technologie appropriée pour faire face à l'ampleur du déploiement mondial dont la banque a besoin à mesure qu'elle se développe.
Vous avez adopté GKE Enterprise pour moderniser votre application et migrer vers Google Cloud en vue d'atteindre vos objectifs de développement.
Objectifs
Dans ce tutoriel, vous allez découvrir certaines des principales fonctionnalités de GKE Enterprise en effectuant les tâches suivantes :
Déployer votre environnement GKE Enterprise avec un cluster, une application et des fonctionnalités d'entreprise : Anthos Service Mesh, Config Sync et Policy Controller.
Utiliser la console Google Cloud pour explorer les ressources GKE utilisées par votre application.
Surveiller les services de l'application à l'aide d'Anthos Service Mesh
Éléments déployés
Le déploiement de Bank of Anthos sur Google Cloud provisionne votre projet avec les éléments suivants :
Un cluster GKE s'exécutant sur Google Cloud :
anthos-sample-cluster1
.Anthos Service Mesh installé sur le cluster. Vous utilisez Anthos Service Mesh pour gérer le maillage de services sur
anthos-sample-cluster1
.Config Sync et Policy Controller pour gérer la configuration et les règles de sécurité sur
anthos-sample-cluster1
.Application de la Banque d'Anthos exécutée sur le cluster. Il s'agit d'une application bancaire basée sur le Web, qui utilise un certain nombre de microservices écrits dans différents langages de programmation, y compris Java, Python et JavaScript.
Coûts
Le déploiement de l'application Bank of Anthos entraîne des frais à l'usage pour GKE Enterprise sur Google Cloud, comme indiqué sur la page Tarifs, sauf si vous avez déjà souscrit un abonnement.
Vous êtes également responsable des autres coûts Google Cloud engendrés par l'exécution de l'application Bank of Anthos, tels que les frais pour les VM et les équilibreurs de charge Compute Engine.
Nous vous recommandons d'effectuer un nettoyage une fois le tutoriel terminé ou d'explorer le déploiement pour éviter des frais supplémentaires.
Avant de commencer
Assurez-vous de remplir les conditions préalables suivantes.
Sélectionner ou créer un projet
Vous pouvez utiliser un projet existant ou en créer un pour ce tutoriel.
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
Activer Cloud Shell
Cloud Shell est un environnement shell interactif pour Google Cloud qui vous permet de gérer vos projets et vos ressources depuis un navigateur Web.
Dans la console Google Cloud, activez Cloud Shell.
Accorder des rôles IAM
Si vous utilisez un projet existant, assurez-vous que votre compte Google Cloud dispose des rôles IAM requis pour ce tutoriel.
Attribuez des rôles à votre compte Google. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants : roles/resourcemanager.projectIamAdmin, roles/iam.serviceAccountAdmin, roles/iam.serviceAccountUser, roles/iam.securityAdmin, roles/serviceusage.serviceUsageAdmin, roles/container.admin, roles/logging.logWriter, roles/gkehub.admin, roles/viewer, roles/monitoring.viewer
$ gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- en remplaçant
PROJECT_ID
par l'ID de votre projet : - Remplacez
EMAIL_ADDRESS
par votre adresse e-mail. - Remplacez
ROLE
par chaque rôle individuel.
Déployer Bank of Anthos à l'aide de Terraform
Une fois toutes les conditions préalables remplies, exécutez les commandes suivantes dans Cloud Shell pour déployer Bank of Anthos :
Assurez-vous que votre projet par défaut est défini sur l'ID du projet dans lequel vous souhaitez déployer l'application. Si ce n'est pas déjà fait, exécutez la commande suivante dans Cloud Shell :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_ID
par l'ID de votre projet Google Cloud.Clonez le dépôt GitHub de Bank of Anthos dans Cloud Shell :
git clone https://github.com/GoogleCloudPlatform/bank-of-anthos.git
Pour la variable d'environnement
TF_VAR_project
, indiquez l'ID de votre projet :export TF_VAR_project=PROJECT_ID
Remplacez
PROJECT_ID
par l'ID de votre projet Google Cloud.Accédez au répertoire qui héberge les scripts d'installation :
cd bank-of-anthos/iac/tf-anthos-gke
Initialisez Terraform. Pour utiliser la dernière version du fournisseur Google, ajoutez l'option
-upgrade
:terraform init -upgrade
(Facultatif) Examinez les ressources qui seront créées :
terraform plan
Appliquez la configuration Terraform pour créer les ressources nécessaires et déployer Bank of Anthos :
terraform apply
Si la commande précédente aboutit, l'application Bank of Anthos et les ressources sur lesquelles elle s'exécute sont déployées dans votre projet. Si vous rencontrez des erreurs de déploiement, consultez la page Résoudre les problèmes.
Utiliser la présentation de GKE Enterprise
Les fonctionnalités de GKE Enterprise sont basées sur le concept de parc, qui consiste en un regroupement logique de clusters Kubernetes pouvant être gérés ensemble. La page Présentation de GKE Enterprise dans la console Google Cloud vous offre une vue d'ensemble de votre parc.
Accéder à la présentation de GKE Enterprise
La page Présentation affiche les informations suivantes :
- Nombre de clusters présents dans votre parc et s'ils sont opérationnels. Dans cet exemple (à condition que vous n'ayez pas déjà d'autres clusters membres du parc), la section Clusters dans ce parc vous indique que vous disposez d'un cluster GKE.
- Utilisation des ressources de votre parc, y compris l'utilisation du processeur, de la mémoire et du disque, agrégées par parc et par cluster.
- Les problèmes de sécurité identifiés pour votre parc, la couverture de Policy Controller à l'échelle de votre parc, et l'état de synchronisation de vos packages Config Sync.
Explorer les ressources GKE
La page Clusters GKE affiche tous les clusters dans votre projet. Le parc des clusters enregistrés dans un parc est affiché dans la colonne Parc.
Dans cette section, vous allez examiner de plus près les ressources GKE de la Banque d'Anthos.
Clusters
Dans la console Google Kubernetes Engine, accédez à la page Clusters.
Cliquez sur le cluster anthos-sample-cluster1 qui vient d'être déployé. Sur la page "Détails du cluster" qui s'affiche, vous pouvez afficher les détails de base du cluster, ainsi que ses configurations réseau et de sécurité. Vous pouvez également voir quelles fonctionnalités GKE sont activées dans ce cluster dans la section Fonctionnalités.
Cliquez sur l'onglet Nœuds pour afficher toutes les machines de calcul du cluster. Vous pouvez consulter davantage d'informations, tels que les Pods de charge de travail exécutés sur chaque nœud et un résumé des ressources du nœud (processeur, mémoire, stockage).
Pour en savoir plus sur les clusters et les nœuds GKE, consultez la documentation de GKE.
Charges de travail
La console GKE dispose d'une vue Charges de travail qui présente de manière agrégée les charges de travail exécutées sur l'ensemble de vos clusters GKE.
Dans la console Google Kubernetes Engine, accédez à la page Charges de travail.
Accéder à la page "Charges de travail"
L'onglet Présentation affiche la liste des charges de travail et des espaces de noms du cluster GKE. Vous pouvez filtrer par espace de noms pour afficher les charges de travail en cours d'exécution dans chaque espace de noms.
Services & Ingress
La vue Services et entrées affiche les ressources "Service" et "Entrée" du projet. Un Service expose un ensemble de pods en tant que service réseau avec un point de terminaison, tandis qu'un Ingress gère l'accès externe aux services dans un cluster. Toutefois, plutôt que d'utiliser un Ingress Kubernetes classique, Bank of Anthos utilise un service de passerelle d'entrée Istio pour le trafic vers la banque, que les utilisateurs d'Anthos Service Mesh peuvent utiliser pour ajouter un routage de trafic plus complexe au trafic entrant de leurs maillages. Vous pouvez expérimenter cela par vous-même lorsque vous utilisez les fonctionnalités d'observabilité du maillage de services dans la suite de ce tutoriel.
Dans la console Google Kubernetes Engine, accédez à la page Services et entrées.
Pour rechercher la passerelle d'entrée de Bank of Anthos, faites défiler la liste des services disponibles jusqu'à atteindre le service nommé
frontend
. Une passerelle d'entrée gère le trafic entrant du maillage de services de votre application. Dans ce cas, nous pouvons donc utiliser ses informations pour consulter l'interface Web de la banque.Cliquez sur le point de terminaison de l'adresse IP du service
frontend
. L'interface Web de Banque GKE Enterprise s'ouvre.
Observer les services
Dans GKE Enterprise, la gestion des services et l'observabilité sont fournies par Anthos Service Mesh, une suite d'outils fonctionnant avec Istio qui vous aide à surveiller et à gérer un maillage de services fiable. Pour en savoir plus sur Anthos Service Mesh et sur la façon dont ce service vous aide à gérer les microservices, consultez la documentation d'Anthos Service Mesh. Si vous ne savez pas comment utiliser des microservices avec des conteneurs et ce qu'ils peuvent vous permettre de faire, consultez la page Préparer une application pour Anthos Service Mesh.
Dans notre exemple, le cluster de l'exemple de déploiement exécute l'exemple d'application Bank of Anthos reposant sur des microservices. L'application inclut également un utilitaire loadgenerator qui simule une petite charge sur le cluster afin que vous puissiez afficher les métriques et le trafic dans le tableau de bord.
Dans cette section, vous allez utiliser la page Maillage de services pour examiner les services et le trafic de cette application.
Dans la console Google Kubernetes Engine, accédez à la page Maillage de services.
Accéder à la page "Maillage de services"
La page affiche la vue Liste et la vue Topologie côte à côte, faisant apparaître tous les microservices de votre projet, y compris les services système. Le remplissage des données de la page Maillage de services peut prendre un certain temps. Si la vue Topologie ne présente qu'un schéma partiel ou aucun schéma, essayez de redémarrer les pods dans le cluster, ou passez à la section suivante et revérifiez ultérieurement.
Utiliser la vue Liste
Chaque ligne de la liste correspond à l'un des services inclus dans l'application Bank of Anthos. Par exemple, le service frontend
affiche l'interface utilisateur Web de l'application, et le service userservice
gère les comptes utilisateur et l'authentification.
La liste affiche les métriques à jour, telles que le taux d'erreur du serveur et le nombre de requêtes par seconde, de chaque service. Ces métriques sont prêtes à l'emploi pour les services déployés sur GKE Enterprise. Vous n'avez pas besoin d'écrire le code d'application pour consulter ces statistiques.
Vous pouvez afficher le détail dans cette vue pour obtenir plus d'informations sur chaque service.
Par exemple, pour en savoir plus sur le service transactionhistory
, procédez comme suit :
Cliquez sur transactionhistory dans la liste des services. La page d'informations sur le service affiche toutes les données de télémétrie disponibles pour ce service.
Sur la page transactionhistory, sélectionnez Services connectés dans le menu de gauche. Dans cette section, vous pouvez afficher les connexions entrantes et sortantes du service. Une icône en forme de cadenas déverrouillé indique qu'une partie du trafic a été observée sur ce port qui n'est pas chiffré à l'aide du protocole TLS mutuel (mTLS). Pour en savoir plus sur son fonctionnement, consultez le tutoriel Sécuriser GKE Enterprise.
Utiliser la vue Topologie
La vue Topologie vous aide à vous concentrer sur l'interaction des services. Comme vous pouvez le constater dans la légende, le graphique affiche les services Anthos Service Mesh, les services Istio, les déploiements et les pods de l'application. Si vous souhaitez développer cette vue, cliquez sur
Afficher/Masquer le "Panneau de gauche" dans la vue Liste.Anthos Service Mesh observe automatiquement les services qui communiquent entre eux afin d'afficher les informations sur les connexions de service à service :
Passez le pointeur de la souris sur un élément pour afficher des informations supplémentaires, y compris le nombre de requêtes sortantes par seconde de chaque service.
Faites glisser les nœuds à l'aide de la souris pour améliorer l'affichage de parties spécifiques du graphique.
Cliquez sur les nœuds du service pour obtenir plus d'informations sur celui-ci.
Cliquez sur Développer lorsque vous passez le pointeur sur le nœud d'une charge de travail pour en afficher le détail, y compris le nombre d'instances d'une charge de travail en cours d'exécution.
Explorer davantage GKE Enterprise
Bien que ce tutoriel présente de nombreuses fonctionnalités de GKE Enterprise, il vous reste encore beaucoup d'informations à découvrir concernant votre déploiement. Consultez notre tutoriel de suivi pour tenter de réaliser des tâches pratiques avec GKE Enterprise, ou continuez à explorer vous-même l'exemple avant de procéder au nettoyage.
Résoudre les problèmes
Consultez les scénarios de dépannage suivants si vous rencontrez des problèmes lors du déploiement de l'application Bank of Anthos.
API Google Cloud non activées (code 403)
Vous pouvez rencontrer des erreurs semblables à celles-ci :
Error: Error creating Feature: failed to create a diff: failed to retrieve Feature resource: googleapi:
Error 403: GKE Hub API has not been used in project {project-number} before or it is disabled.
Enable it by visiting https://console.developers.google.com/apis/api/gkehub.googleapis.com/overview?project={project-number} then retry.
If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
Comme le suggère cette erreur, attendez quelques minutes pour que les API soit entièrement activées, puis exécutez à nouveau le déploiement à l'aide de terraform apply
.
La page Maillage de services n'affiche pas tous les services
Après avoir déployé l'application Bank of Anthos, vous devrez peut-être attendre quelques minutes avant que la page Maillage de services affiche les microservices de votre projet. Si la page Maillage de services n'affiche pas une partie ou la totalité des services même après quelques minutes, cela signifie que certains des proxys pour Anthos Service Mesh n'ont peut-être pas réussi à démarrer automatiquement avec les charges de travail de l'application.
Pour résoudre ce problème, redémarrez les pods du cluster anthos-sample-cluster1
:
Obtenez les identifiants du cluster :
gcloud container clusters get-credentials anthos-sample-cluster1 --zone us-central1
Supprimez les pods :
kubectl delete pod -n default --all
Vérifiez que les pods ont redémarré :
kubectl get pod -n default
La page Maillage de services devrait afficher les microservices de votre projet en quelques minutes.
Effectuer un nettoyage
Une fois que vous avez terminé d'explorer l'application Bank of Anthos, vous pouvez nettoyer les ressources que vous avez créées dans Google Cloud afin qu'elles ne soient plus comptabilisées dans votre quota et qu'elles ne vous soient plus facturées.
Option 1. Vous pouvez supprimer le projet. Toutefois, si vous souhaitez conserver le projet, vous pouvez supprimer le déploiement à l'aide de l'option 2.
Option 2. Si vous souhaitez conserver votre projet actuel, vous pouvez utiliser
terraform destroy
pour supprimer l'exemple d'application et le cluster.
Supprimer le projet (option 1)
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Supprimez un projet Google Cloud :
gcloud projects delete PROJECT_ID
Supprimer le déploiement (option 2)
Cette approche supprime l'application Bank of Anthos et le cluster, mais ne supprime pas le projet. Exécutez les commandes suivantes dans Cloud Shell :
Accédez au répertoire qui héberge les scripts d'installation :
cd bank-of-anthos/iac/tf-anthos-gke
Supprimez l'exemple et le cluster :
terraform destroy
Saisissez l'ID du projet lorsque vous y êtes invité.
Si vous envisagez d'effectuer un nouveau déploiement, vérifiez que toutes les conditions sont remplies, comme indiqué dans la section Avant de commencer.
Étapes suivantes
Pour en savoir plus sur GKE Enterprise, consultez notre présentation technique.
Découvrez comment Activer GKE Enterprise.
Pour en savoir plus sur les parcs, consultez la page Gestion des parcs.