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 Cloud de Confiance by S3NS. L'assistance de Gemini peut inclure des recommandations, la génération de code et le dépannage.

Parmi de nombreux autres avantages, Gemini Cloud Assist peut vous aider à atteindre les objectifs suivants :

  • Réduire 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, tels que les différences de version ou les budgets d'interruptions de pods manquants, pour éviter les temps d'arrêt et garantir 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.
  • Simplifier le dépannage : analysez rapidement les journaux et identifiez la cause première des erreurs, ce qui vous permet de gagner du temps et de réduire vos efforts.

Cette page est destinée 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 que nous citons dans Cloud de Confiance by S3NS le contenu, consultez Rôles utilisateur et tâches courantes de GKE.

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

Coûts

  • Gemini : l'utilisation de Gemini Cloud Assist n'engendre aucuns frais pendant la disponibilité en version Preview.

  • 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 part du principe que vous disposez d'un cluster GKE et, de préférence, de quelques déploiements en cours d'exécution.

Demandez à Gemini Cloud Assist.

Vous pouvez appeler Gemini Cloud Assist depuis la Cloud de Confiance console. Gemini Cloud Assist vous permet d'utiliser des prompts en langage naturel pour obtenir de l'aide sur les tâches rapidement et efficacement.

Pour ouvrir Cloud Assist à partir d'une page GKE, procédez comme suit :

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

    Accéder au sélecteur de projet

  2. Dans la Cloud de Confiance console, 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 une question 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. L'utilisation de Gemini sur une page de console spécifique Cloud de Confiance permet de fournir un contexte à 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 l'icône spark Ouvrir ou fermer le chat IA Gemini dans la barre d'outils.

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

  5. Saisissez un prompt dans le volet Gemini. Consultez un exemple de workflow d'utilisation de Gemini pour le dépannage dans la section suivante.

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

Exemple d'utilisation de Gemini pour le dépannage

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

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

    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 l' icône spark Ouvrir ou fermer le chat IA Gemini dans la barre d'outils.

  5. Saisissez un prompt 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, l'étendue de l'impact (par exemple, les opérations et les utilisateurs concernés par la latence).

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

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

Exemples de prompts pour Gemini Cloud Assist

Cette section présente quelques cas d'utilisation concrets et suggère les prompts que vous pouvez essayer de demander à 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 Cloud de Confiance by S3NS environnement. Les réponses peuvent inclure des liens vers la console Cloud de Confiance pour examiner et gérer vos ressources cloud, ainsi que des liens vers la documentation pertinente pour plus d'informations.

Réduire les coûts

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

Prompt Type de réponse
"Comment puis-je réduire les coûts de mes clusters GKE sans sacrifier les performances ?"
  • Recommandations qui identifient et suggèrent la suppression des ressources sous-utilisées, telles que 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, tels que 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 requêtes et les limites de ressources pour les pods afin de garantir une allocation prévisible des ressources.
  • Utiliser des espaces de noms dédiés pour isoler les charges de travail.
  • Implémenter des budgets d'interruptions de pods pour s'assurer qu'un nombre minimal de pods dupliqués sont disponibles lors d'interruptions volontaires, telles que 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.
  • Inscrire des clusters dans des canaux de publication pour gérer les mises à niveau de version de GKE.
"Je vais connaître 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 pour augmenter les ressources (processeur, mémoire) par pod à l'aide de l'autoscaler vertical de pods.
"Quelles sont mes charges de travail GKE pour lesquelles l'AHP n'est pas activé ?" Liste des charges de travail pour lesquelles l'autoscaler horizontal de pods n'est pas activé.

Améliorer la fiabilité et la stabilité

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

Prompt 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 la maintenance ou des mises à niveau planifiées.
"Montre-moi comment déplacer mes charges de travail de l'espace de noms Default sur my-cluster." Étapes à suivre :
  • Préparer un cluster cible.
  • Migrer les applications et les données vers le cluster cible.
  • Basculer les services avec un temps d'arrêt minimal.
"Comment puis-je 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 pods dupliqués pour la redondance.
  • Suggestions pour définir les requêtes et les limites de ressources, et utiliser l'autoscaler horizontal de pods.

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

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

Prompt 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 ?" Les recommandations pour optimiser l'entraînement ML TensorFlow distribué sur GKE peuvent inclure les éléments suivants :
  • Sélectionner les bons types de GPU et de machines.
  • Activer l'autoscaling.
  • Optimiser 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 considérations à 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 mise en service de modèle sur GKE. Exemple avec un exemple de code pour déployer un conteneur de mise en service de modèle sur GKE. L'exemple peut intégrer des bonnes pratiques et contribue à garantir l'évolutivité.
"Quelles métriques dois-je suivre pour évaluer l'efficacité de ma configuration d'équilibrage de charge pour l'inférence ?" Liste des métriques (telles que la répartition 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 d'équilibrage de charge.

Simplifier le dépannage

Le tableau suivant décrit les prompts 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 réduire vos efforts.

Prompt Type de réponse
"Qu'est-ce que cette erreur ?
Readiness probe failed: Get "https://10…./abcd": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"
Explique que le kubelet n'a pas pu exécuter la sonde de disponibilité pour le conteneur dans le délai défini, 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 fonctionnalité de contexte de sécurité CAP_NET_RAW et que, par défaut, les conteneurs de Kubernetes s'exécutent avec un ensemble de fonctionnalités limité pour des raisons de sécurité.
"Qu'est-ce que cela signifie lorsque mon pod n'est pas programmable en raison de l'erreur Cannot schedule pods: No preemption victims found for incoming pod. ?" Explique le fonctionnement de la programmation et de la préemption des pods dans Kubernetes. Liste les étapes à suivre pour résoudre le problème lié à l'absence de victime de préemption.

Étape suivante