Tutoriel: Gérer les services avec GKE Enterprise


Anthos Service Mesh fournit aux utilisateurs de GKE Enterprise des outils pour surveiller et gérer des applications fiables basées sur des microservices. Ce tutoriel utilise l'exemple de déploiement Bank of Anthos sur Google Cloud pour vous présenter certaines des fonctionnalités de gestion des services d'Anthos Service Mesh en vous montrant comment définir un objectif de niveau de service (SLO). L'exemple déploie un environnement pratique GKE Enterprise réel avec un cluster GKE, un maillage de services et une application Bank of Anthos avec plusieurs microservices.

Qu'est-ce qu'un SLO ?

Selon le manuel d'ingénierie en fiabilité des sites (SRE, Site Reliability Engineering) de Google :

Il est impossible de gérer un service correctement, et encore moins parfaitement, sans comprendre quels comportements sont vraiment importants pour ce service et sans savoir comment les mesurer et les évaluer. C'est pourquoi nous devons définir et fournir un certain niveau de service à nos utilisateurs, qu'ils utilisent une API interne ou un produit public.

Les équipes SRE de Google utilisent des indicateurs de niveau de service (SLI), des objectifs de niveau de service (SLO) et des contrats de niveau de service (SLA) pour structurer et guider les métriques qui informent leur travail. Un SLI est une mesure quantitative de certains aspects des performances de votre service, telles que sa latence ou sa disponibilité, tandis qu'un SLO correspond à une valeur cible ("cela devrait se produire x % du temps") pour un niveau de service mesuré par un SLI. Anthos Service Mesh permet de définir et d'affiner facilement des SLO pour vos propres services. Il vous fournit les informations dont vous avez besoin pour identifier les SLI et les SLO appropriés et vous avertit lorsque votre service ne respecte pas ses SLO.

Pour en savoir plus sur les SLO et les SLI dans Anthos Service Mesh, consultez les pages Présentation des SLO et Concevoir des SLO.

Objectifs

Dans ce tutoriel, vous allez apprendre à gérer des services avec Anthos Service Mesh dans GKE Enterprise grâce aux tâches suivantes:

  • identifier un indicateur de niveau de service (SLI) pour un service ;

  • utiliser un objectif de niveau de service (SLO) afin de surveiller un comportement inattendu.

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 des 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

Ce tutoriel fait suite au tutoriel d'exploration de GKE Enterprise. Avant de commencer ce tutoriel, suivez les instructions de cette page pour configurer votre projet et déployer Bank of Anthos.

Identifier des SLI

Anthos Service Mesh rend la collecte des SLI et la définition des SLO simple et intuitive. Dans notre exemple, vous décidez de définir d'abord un SLO pour le service ledgerwriter de la Banque d'Anthos.

Commencez par utiliser Anthos Service Mesh pour rechercher des informations permettant d'identifier un SLI du service.

  1. Accédez à la page Anthos Service Mesh du projet dans lequel vous avez installé Bank of Anthos.

    Accéder à la page Anthos Service Mesh

    La partie supérieure de cette vue indique l'état actuel des services de votre application, ainsi que des indicateurs pour les alertes et les SLO, y compris le nombre de services sans SLO. Actuellement, tous les services se trouvent dans la rubrique Aucun SLO défini. De plus, dans la colonne État, tous les services sont signalés par un indicateur noir en forme de cercle. Si vous maintenez le pointeur sur cet indicateur pour un service donné, vous êtes informé qu'aucun SLO n'est défini pour celui-ci.

  2. Notez la valeur en ms correspondant à une latence de 99 % pour ledgerwriter (vous devrez peut-être faire défiler la page vers le bas pour la voir). Cette métrique signifie qu'une requête sur 100 subit ce niveau de retard. Vous utiliserez cette valeur dans la section suivante.

Créer un SLO

Créez maintenant un SLO sur un SLI de latence pour le service. Pour voir ce qu'il se passe lorsqu'un service dépasse sa marge d'erreur, définissez un seuil volontairement bas, en fonction des informations que vous avez vues dans la section précédente. Pour un véritable service de production, vous chercheriez à définir un seuil de valeur de latence qui ne soit pas inférieur à celui nécessaire pour que vos utilisateurs profitent d'une bonne expérience avec votre application.

  1. Dans la vue Tableau d'Anthos Service Mesh, cliquez sur ledgerwriter pour accéder à la page de présentation du service.

  2. Sous État du service, cliquez sur Créer un SLO.

  3. Dans la liste Type de SLI, sélectionnez Latence.

  4. Conservez la méthode d'évaluation basée sur les requêtes par défaut, puis cliquez sur Continuer.

  5. Définissez le Seuil de latence sur une valeur arbitrairement faible, telle que 10 ms (une valeur nettement inférieure à la valeur de latence de 99 % observée plus tôt), puis cliquez à nouveau sur Continuer.

  6. Dans le champ Période de conformité, définissez le Type de période sur Rolling et la Durée de la période sur 1 Day.

  7. Dans Objectif SLO, définissez Cible de conformité sur 90%. Anthos Service Mesh utilise cette valeur pour calculer la marge d'erreur dont vous disposez pour ce SLO, c'est-à-dire le pourcentage maximal de requêtes devant dépasser le seuil de latence spécifié. Un aperçu vous montre quelles auraient été les performances de votre SLO au cours de la période d'un jour la plus récente. Cliquez sur Continuer.

  8. La section Nommer votre SLO suggère un nom par défaut pour votre nouveau SLO : vous pouvez accepter la valeur par défaut recommandée ou spécifier un nouveau nom. Pour créer le SLO et accéder à la page État de santé de ledgerwriter, cliquez sur Créer un SLO.

Cliquez sur la flèche du menu déroulant pour afficher plus de détails sur votre SLO. Vous pouvez voir que le SLO se trouve dans Out of Error Budget (Au-delà de la marge d'erreur) en fonction de vos paramètres. Vous pouvez également modifier ou supprimer le SLO à partir de cette vue.

Capture d'écran de l'affichage de l'état du service Anthos Service Mesh

Vérifier à nouveau le SLO et les indicateurs d'alerte

  1. Sur la page de présentation du service, cliquez sur la flèche de retour pour revenir à la vue Tableau. Vous pouvez maintenant constater que le nombre de services pour Aucun SLO défini a été réduit d'un unité et que le nombre de SLO au-delà de la marge d'erreur n'est plus à 0.

  2. Si vous faites défiler la page vers le bas jusqu'à ledgerwriter, notez que l'indicateur adjacent est devenu un triangle d'avertissement orange. Si vous maintenez le pointeur sur cet indicateur, vous êtes invité à examiner la fiabilité du service. Cliquez sur celui-ci pour revenir à la page "État" du service afin de vérifier les informations du SLO. Le même indicateur apparaît également pour votre service dans la vue Topologie.

Capture d'écran de la liste des services Anthos Service Mesh avec avertissement SLO

Explorer le déploiement plus en détail

GKE Enterprise vous offre encore beaucoup de possibilités pour notre déploiement. N'hésitez pas à essayer un autre tutoriel ou à continuer à explorer le déploiement Bank of Anthos sur Google Cloud avant de suivre les instructions de nettoyage de la section suivante.

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

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

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 de redéployer la solution, vérifiez que toutes les conditions sont remplies comme décrit dans la section Avant de commencer.

Étapes suivantes

Pour découvrir d'autres ressources, consultez notre documentation GKE Enterprise.

Découvrez d'autres tutoriels

  • Découvrez les fonctionnalités de sécurité de GKE Enterprise avec Bank of Anthos dans GKE Enterprise.

  • Découvrez des architectures de référence, des schémas et des bonnes pratiques concernant Google Cloud. Consultez notre Centre d'architecture cloud.

En savoir plus sur GKE Enterprise