Affiner les services GKE avec l'aide de Gemini


Cette page explique comment affiner vos déploiements Google Kubernetes Engine (GKE) pour optimiser les performances et la fiabilité à l'aide de Gemini Cloud Assist, un collaborateur optimisé par l'IA pour Google Cloud. L'assistance Gemini peut inclure des recommandations, la génération de code et le dépannage.

Gemini Cloud Assist peut vous aider à accomplir les tâches suivantes, entre autres :

  • Réduisez les coûts : identifiez les ressources inactives, adaptez la taille de vos déploiements et optimisez les configurations d'autoscaling pour minimiser les dépenses inutiles.
  • Améliorer la fiabilité et la stabilité : identifiez de manière proactive les problèmes potentiels, comme l'asymétrie de version ou l'absence de budgets de perturbation des pods, pour éviter les temps d'arrêt et assurer la résilience des applications.
  • Optimiser les charges de travail d'IA/de ML : obtenez de l'aide pour déployer, gérer et optimiser les charges de travail d'IA/de ML sur GKE.
  • Simplifiez le dépannage : analysez rapidement les journaux et identifiez la cause première des erreurs, ce qui vous fait gagner du temps et des efforts.

Cette page s'adresse aux utilisateurs GKE existants, ainsi qu'aux opérateurs et aux développeurs qui provisionnent et configurent des ressources cloud, et déploient des applications et des services. Pour en savoir plus sur les rôles courants et les exemples de tâches mentionnés dans le contenu Google Cloud , consultez Rôles utilisateur et tâches courantes de GKE Enterprise.

Découvrez comment et quand Gemini pour Google Cloud utilise vos données.

Coûts

  • Gemini : pendant la phase de preview, l'utilisation de Gemini Cloud Assist est gratuite.

  • GKE : l'utilisation de Gemini Cloud Assist dans GKE n'entraîne aucun coût supplémentaire.

Avant de commencer

Pour commencer à utiliser Gemini avec GKE, remplissez les conditions préalables suivantes.

Ce guide suppose que vous disposez d'un cluster GKE et, de préférence, de certains déploiements en cours d'exécution.

Poser des questions à Gemini Cloud Assist

Vous pouvez appeler Gemini Cloud Assist depuis la console Google Cloud . Gemini Cloud Assist vous permet d'utiliser des requêtes en langage naturel pour obtenir de l'aide rapidement et efficacement.

Pour ouvrir Cloud Assist à partir d'une page GKE :

  1. Dans la console Google Cloud , sur la page de sélection du projet, sélectionnez un projetGoogle Cloud dans lequel vous avez activé Gemini Cloud Assist.

    Accéder au sélecteur de projet

  2. Dans la console Google Cloud , accédez à une page spécifique de la console Kubernetes Engine.

    Par exemple, accédez à la page Présentation de Kubernetes Engine.

    Accéder à la présentation de Kubernetes Engine

    Si vous avez des questions sur une ressource spécifique, accédez d'abord à la page correspondante. Par exemple, sur la page Clusters, Gemini Cloud Assist peut vous conseiller sur la gestion de vos clusters, la surveillance de leur état et la résolution des problèmes liés aux clusters. Utiliser Gemini sur une page spécifique de la console Google Cloud permet de fournir du contexte pour vos questions. Gemini peut ensuite utiliser ce contexte, ainsi que le projet global dans lequel vous vous trouvez, pour générer une assistance plus personnalisée et précise.

  3. Pour ouvrir le volet Gemini Cloud Assist, cliquez sur spark Ouvrir ou fermer le chat Gemini AI dans la barre d'outils.

  4. Si vous y êtes invité et que vous acceptez les conditions, cliquez sur Accepter.

  5. Saisissez une requête dans le volet Gemini. Consultez la section suivante pour découvrir un exemple de workflow d'utilisation de Gemini pour résoudre les problèmes.

Pour en savoir plus sur l'utilisation de Gemini dans la console Google Cloud , consultez Utiliser Gemini Cloud Assist.

Exemple d'utilisation de Gemini pour résoudre un problème

Gemini peut vous aider à résoudre les problèmes liés à vos services GKE.

  1. Accédez à la page Charges de travail dans la console Google Cloud .

    Accéder à la page Charges de travail

  2. Sélectionnez la charge de travail que vous souhaitez dépanner.

  3. Cliquez sur l'onglet Journaux.

  4. Cliquez sur spark Ouvrir ou fermer le chat Gemini AI dans la barre d'outils.

  5. Saisissez une requête pour décrire le problème que vous rencontrez. Par exemple, "Mon application de base de données accounts-db présente une latence élevée". Gemini peut vous demander plus de contexte, comme le type de base de données ou l'étendue de l'impact (opérations et utilisateurs concernés par la latence, par exemple).

  6. Gemini peut ensuite vous guider pour analyser vous-même les journaux et vous proposer des suggestions de dépannage.

  7. Examinez les suggestions et suivez-les pour résoudre le problème.

Exemples de requêtes pour Gemini Cloud Assist

Cette section présente des cas d'utilisation concrets et suggère les requêtes que vous pouvez essayer de poser à Gemini. Les réponses que vous recevez peuvent être génériques, ou personnalisées et exploitables en fonction de l'état unique de votre environnementGoogle Cloud . Les réponses peuvent inclure des liens vers la console Google Cloud pour examiner et gérer vos ressources cloud, ainsi que des liens vers la documentation correspondante pour obtenir plus d'informations.

Réduisez les coûts

Le tableau suivant décrit les requêtes que vous pouvez utiliser pour réduire les coûts.

Requête Type de réponse
"Comment puis-je réduire les coûts de mes clusters GKE sans compromettre les performances ?"
  • Recommandations qui identifient et suggèrent la suppression des ressources sous-utilisées, comme les clusters inactifs.
  • Conseils sur l'activation ou l'ajustement des mécanismes d'autoscaling.
  • Suggestions qui mettent en évidence les économies potentielles grâce à des examens de configuration, comme les règles de conservation des journaux.
"Je souhaite mettre à niveau mon cluster GKE my-docker-cluster. Des recommandations ?" Suggestions pour implémenter des configurations et des bonnes pratiques Kubernetes spécifiques, par exemple :
  • Définir les demandes et les limites de ressources pour les pods afin de garantir une allocation prévisible des ressources.
  • Utilisez des espaces de noms dédiés pour isoler les charges de travail.
  • Implémenter des budgets d'interruption de pods pour s'assurer qu'un nombre minimal de répliques de pods sont disponibles lors d'interruptions volontaires, comme la maintenance ou les mises à niveau des nœuds.
  • Planifier des intervalles de maintenance pour gérer les interruptions planifiées et minimiser les temps d'arrêt inattendus.
  • Enregistrement des clusters dans les canaux de publication pour gérer les mises à niveau de version GKE.
"Je prévois un pic de trafic important dans quelques semaines sur le cluster my-docker-cluster. Des recommandations ?"
  • Stratégies pour faire évoluer le nombre de pods d'application à l'aide de l'autoscaler horizontal de pods.
  • Stratégies permettant d'augmenter les ressources (processeur, mémoire) par pod à l'aide de l'autoscaler de pods vertical.
"Quelles sont mes charges de travail GKE pour lesquelles AHP n'est pas activé ?" Liste des charges de travail pour lesquelles l'autoscaler horizontal des pods n'est pas activé.

Améliorer la fiabilité et la stabilité

Le tableau suivant décrit les requêtes que vous pouvez utiliser pour améliorer la fiabilité et la stabilité de vos charges de travail GKE.

Requête Type de réponse
"Comment puis-je rendre mes clusters GKE plus fiables et éviter les temps d'arrêt ?"
  • Identifie les différences de version dans les clusters et suggère des actions pour maintenir la compatibilité des versions de Kubernetes.
  • Fournit des recommandations pour implémenter l'isolation des ressources.
  • Fournit des recommandations pour configurer des budgets d'interruptions de pods afin de maintenir un nombre minimal de pods dupliqués en cours d'exécution lors de mises à niveau ou de tâches de maintenance planifiées.
"Montre-moi comment déplacer mes charges de travail depuis l'espace de noms Default sur my-cluster." Voici comment procéder :
  • Préparez un cluster cible.
  • Migrez les applications et les données vers le cluster cible.
  • Basculer les services avec un temps d'arrêt minimal
"Comment garantir une haute disponibilité pour mes pods en cours d'exécution ?"
  • Procédure détaillée qui spécifie un déploiement utilisant podAntiAffinity et plusieurs répliques pour la redondance.
  • Suggestions pour définir les demandes et les limites de ressources, et utiliser l'autoscaling horizontal des pods.

Optimiser GKE pour les charges de travail d'IA/de ML

Le tableau suivant décrit les requêtes que vous pouvez utiliser pour obtenir de l'aide concernant le déploiement, la gestion et l'optimisation des charges de travail d'IA/ML sur GKE.

Requête Type de réponse
"Quelles sont les configurations de pool de nœuds recommandées pour exécuter un entraînement TensorFlow distribué à grande échelle sur GKE avec des GPU ?" Voici quelques recommandations pour optimiser l'entraînement distribué de ML TensorFlow sur GKE :
  • Sélectionnez les bons types de GPU et de machines.
  • Activer l'autoscaling
  • Optimisation de la connectivité réseau.
  • Exploiter les frameworks d'entraînement distribué.
  • Mettre en œuvre des mesures de réduction des coûts.
"Comment utiliser des GPU sur GKE pour l'entraînement ?" Présentation des étapes et des points à prendre en compte pour configurer un cluster et des charges de travail afin d'utiliser des GPU.
"Donne-moi un exemple de déploiement d'un conteneur de diffusion de modèle sur GKE." Exemple avec un exemple de code permettant de déployer un conteneur de diffusion de modèle sur GKE. L'exemple peut intégrer des bonnes pratiques et contribuer à garantir l'évolutivité.
"Quelles métriques dois-je suivre pour évaluer l'efficacité de ma configuration d'équilibrage de charge pour l'inférence ?" La liste des métriques (comme la distribution du trafic, la latence, les taux d'erreur, l'utilisation du processeur et de la mémoire) pour obtenir des insights sur les performances et l'état de la configuration de l'équilibrage de charge.

Simplifier le dépannage

Le tableau suivant décrit les requêtes que vous pouvez utiliser pour analyser rapidement les journaux et identifier la cause première des erreurs, ce qui vous permet de gagner du temps et de l'énergie.

Requête Type de réponse
"Qu'est-ce que cette erreur signifie ?
Readiness probe failed: Get "https://10…./abcd": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"
Indique que le kubelet n'a pas réussi à exécuter la vérification de l'état de préparation du conteneur pendant la période de délai d'attente définie, et suggère des causes potentielles et des actions de dépannage.
"Pourquoi mon déploiement nettools plante-t-il avec l'erreur ping: socket: Operation not permitted ?" Explique que la commande ping nécessite la capacité de contexte de sécurité CAP_NET_RAW et que, par défaut, les conteneurs dans Kubernetes s'exécutent avec un ensemble limité de capacités pour des raisons de sécurité.
"Que signifie le message d'erreur Cannot schedule pods: No preemption victims found for incoming pod. indiquant que mon pod n'est pas programmable ?" Explique le fonctionnement de la planification et de la préemption des pods dans Kubernetes. Indique les étapes à suivre pour résoudre le problème lié à l'absence de victime de préemption.

Étapes suivantes