Découvrir GKE Enterprise


Découvrez l'édition Google Kubernetes Engine (GKE) Enterprise en déployant un exemple d'application à l'aide de Terraform. Elle déploie un environnement pratique 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 témoignage de la banque sur 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, vous n'avez pas besoin 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 principes de base de Kubernetes, la documentation de Google Kubernetes Engine (GKE) et la page 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 réussir votre migration vers Google Cloud afin d'atteindre vos objectifs d'expansion.

Objectifs

Dans ce tutoriel, vous allez découvrir certaines des principales fonctionnalités de GKE Enterprise à travers les tâches suivantes:

  • Déployez votre environnement GKE Enterprise avec un cluster, une application et des fonctionnalités d'entreprise: Anthos Service Mesh, Config Sync et Policy Controller.

  • Utilisez 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 exécuté 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 les règles de configuration et 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 en ligne qui utilise un certain nombre de microservices écrits dans divers langages de programmation, y compris Java, Python et JavaScript.

Coûts

Le déploiement de l'application Bank of Anthos entraînera des frais facturés à l'usage pour GKE Enterprise sur Google Cloud, comme indiqué sur notre page Tarifs, sauf si vous avez déjà souscrit un abonnement.

Vous êtes également responsable des autres coûts Google Cloud encourus lors de l'exécution de l'application Bank of Anthos, tels que les frais liés aux VM Compute Engine et aux équilibreurs de charge.

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

Pour ce tutoriel, vous pouvez utiliser un projet existant ou en créer un.

  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 sur votre 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. S'il n'est pas déjà défini, 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 Bank of Anthos dans votre environnement Cloud Shell:

    git clone https://github.com/GoogleCloudPlatform/bank-of-anthos.git
    
  3. Définissez la variable d'environnement TF_VAR_project sur 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, incluez l'indicateur -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 Résoudre les problèmes.

Utiliser la présentation de GKE Enterprise

Les fonctionnalités de GKE Enterprise s'articulent autour du concept de parc: un regroupement logique de clusters Kubernetes qui peuvent être gérés ensemble. La page Présentation de GKE Enterprise dans la console Google Cloud vous offre une vue d'ensemble de l'ensemble de votre parc.

Accéder à la présentation de GKE Enterprise

La page Overview (Aperçu) affiche les informations suivantes:

  • Le nombre de clusters dans votre parc et leur état Dans cet exemple (à condition que vous n'ayez pas d'autres clusters membres du parc), la section Clusters de 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ée par parc et par cluster.
  • Tous les problèmes de sécurité identifiés pour votre parc, la couverture de Policy Controller sur l'ensemble 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 de votre projet. Le parc des clusters enregistrés dans un parc s'affiche 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 que vous venez de déployer. Sur la page des 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 tous les nœuds de calcul de votre cluster. Vous pouvez afficher des données plus détaillées pour voir les pods de charge de travail en cours d'exécution sur chaque nœud, ainsi qu'un résumé des ressources du nœud (processeur, mémoire, espace de stockage).

Pour en savoir plus sur les clusters et les nœuds GKE, consultez la documentation de GKE.

Charges de travail

La console GKE comporte une vue Charges de travail qui présente une vue agrégée des charges de travail exécutées sur tous 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 une liste des charges de travail et des espaces de noms du cluster GKE. Vous pouvez filtrer par espace de noms pour voir quelles charges de travail s'exécutent 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 objet Ingress gère l'accès externe aux services d'un cluster. Toutefois, plutôt qu'une entrée Kubernetes standard, 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 voir cela en action lorsque vous utiliserez les fonctionnalités d'observabilité du maillage de services plus loin dans 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 trouver la passerelle d'entrée Bank of Anthos, faites défiler la liste des services disponibles et recherchez celui portant le nom frontend. Une passerelle d'entrée gère le trafic entrant pour le maillage de services de votre application. Dans ce cas, nous pouvons donc utiliser ses informations pour accéder à l'interface Web de la banque.

  3. Cliquez sur le point de terminaison de l'adresse IP pour le service frontend. L'interface Web de la banque de GKE Enterprise s'ouvre.

Observer les services

Dans GKE Enterprise, la gestion des services et l'observabilité sont assurées par Anthos Service Mesh, une suite d'outils basée sur Istio qui permet de surveiller et de 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 n'êtes pas familier avec l'utilisation de microservices avec des conteneurs ni ce qu'ils peuvent faire pour vous, consultez la page Préparer une application pour Anthos Service Mesh.

Dans notre exemple, l'application exemple Bank of Anthos basée sur des microservices est exécutée sur le cluster de l'exemple de déploiement. 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 Service Mesh de GKE 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 les vues Liste et Topologie côte à côte, qui présentent tous les microservices de votre projet, y compris les services système. Le remplissage des données sur la page Service Mesh peut prendre un certain temps. Si vous voyez un schéma partiel ou inexistant dans la vue Topologie, essayez de redémarrer les pods du cluster. Vous pouvez également passer à la section suivante et revenir plus tard.

Utiliser la vue Liste

Chaque ligne de la liste est l'un des services qui constituent 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.

Chaque fiche de service affiche des métriques à jour, telles que le taux d'erreur du serveur et le nombre de requêtes par seconde. Ces métriques sont collectées 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. Vous pouvez voir ici 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 à ce sujet, 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 voir dans la légende, le graphique représente 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 Activer/Désactiver 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 maintenez le pointeur sur un nœud de charge de travail pour afficher plus de détails, y compris le nombre d'instances d'une charge de travail en cours d'exécution.

Explorer GKE Enterprise plus en détail

Bien que ce tutoriel vous ait montré de nombreuses fonctionnalités de GKE Enterprise, il vous reste encore beaucoup à découvrir et à faire avec notre déploiement. Consultez notre tutoriel de suivi pour essayer des tâches pratiques avec GKE Enterprise, ou continuez à explorer l'exemple par vous-même avant de effectuer un nettoyage.

Résoudre les problèmes

Reportez-vous aux 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 l'indique l'erreur, attendez quelques minutes pour qu'une API soit complètement activée, puis exécutez à nouveau le déploiement à l'aide de terraform apply.

La page du 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 que la page Service Mesh affiche les microservices de votre projet. Si la page Service Mesh n'affiche pas certains ou tous les services, même après quelques minutes, cela signifie que certains proxys d'Anthos Service Mesh n'ont peut-être pas démarré 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
    

Les microservices de votre projet devraient apparaître sur la page Service Mesh en quelques minutes.

Effectuer un nettoyage

Une fois que vous avez fini d'explorer l'application Bank of Anthos, vous pouvez nettoyer les ressources que vous avez créées sur 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 n° 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'éviter que des frais ne vous soient facturés consiste à 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 redéploiement, vérifiez que toutes les conditions requises sont remplies, comme décrit dans la section Avant de commencer.

Étapes suivantes