Découvrir GKE Enterprise


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.

  1. 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.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  5. 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.

Activer 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 :

  1. 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.

  2. Clonez le dépôt GitHub de Bank of Anthos dans Cloud Shell :

    git clone https://github.com/GoogleCloudPlatform/bank-of-anthos.git
    
  3. 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.

  4. Accédez au répertoire qui héberge les scripts d'installation :

    cd bank-of-anthos/iac/tf-anthos-gke
    
  5. Initialisez Terraform. Pour utiliser la dernière version du fournisseur Google, ajoutez l'option -upgrade :

    terraform init -upgrade
    
  6. (Facultatif) Examinez les ressources qui seront créées :

    terraform plan
    
  7. 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

  1. Dans la console Google Kubernetes Engine, accédez à la page Clusters.

    Accéder à la page "Clusters"

  2. 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.

  3. 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.

  1. Dans la console Google Kubernetes Engine, accédez à la page Services et entrées.

    Accéder à la page "Services et entrées"

  2. 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.

  3. 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 :

  1. 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.

  2. 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.

    Capture d'écran de la vue des services connectés d'Anthos Service Mesh

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.

Capture d'écran de la vue Topologie d'Anthos Service Mesh

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 :

  1. Accédez au répertoire qui héberge les scripts d'installation :

    cd bank-of-anthos/iac/tf-anthos-gke
    
  2. Supprimez l'exemple et le cluster :

    terraform destroy
    
  3. 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