Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Implémentez les diagnostics et le dépannage de Kubernetes basés sur l'IA grâce à l'intégration de K8sGPT et Amazon Bedrock
Ishwar Chauthaiwale, Muskan., et Prafful Gupta, Amazon Web Services
Récapitulatif
Ce modèle montre comment implémenter les diagnostics et le dépannage de Kubernetes basés sur l'IA en intégrant K8sGPT au modèle Anthropic Claude v2 disponible sur Amazon Bedrock. La solution fournit une analyse en langage naturel et des étapes de résolution des problèmes liés au cluster Kubernetes via une architecture hôte Bastion sécurisée. En combinant l'expertise de K8sGPT Kubernetes avec les capacités linguistiques avancées d'Amazon Bedrock DevOps , les équipes peuvent identifier et résoudre rapidement les problèmes liés aux clusters. Grâce à ces fonctionnalités, il est possible de réduire le temps moyen de résolution (MTTR) jusqu'à 50 %.
Ce modèle cloud natif tire parti d'Amazon Elastic Kubernetes Service (Amazon EKS) pour la gestion de Kubernetes. Le modèle met en œuvre les meilleures pratiques de sécurité grâce à des rôles AWS Identity and Access Management (IAM) appropriés et à l'isolation du réseau. Cette solution est particulièrement utile pour les entreprises qui souhaitent rationaliser leurs opérations Kubernetes et améliorer leurs capacités de résolution des problèmes grâce à l'assistance de l'IA.
Conditions préalables et limitations
Prérequis
Un actif Compte AWS avec les autorisations appropriées
Un cluster Amazon EKS
Accès au modèle Anthropic Claude 2 sur Amazon Bedrock
Un hôte bastion avec les paramètres de groupe de sécurité requis
Limites
L'analyse K8sGpt est limitée par la taille de la fenêtre contextuelle du modèle Claude v2.
Les limites tarifaires de l'API Amazon Bedrock s'appliquent en fonction des quotas de votre compte.
Certains Services AWS ne sont pas disponibles du tout Régions AWS. Pour connaître la disponibilité par région, consultez la section AWS Services par région
. Pour des points de terminaison spécifiques, consultez Points de terminaison de service et quotas, puis choisissez le lien correspondant au service.
Versions du produit
Amazon EKS version 1.31 ou ultérieure
Modèle Claude 2 sur Amazon Bedrock
Architecture
Le schéma suivant montre l'architecture des diagnostics Kubernetes basés sur l'IA à l'aide de K8sGPT intégré à Amazon Bedrock dans le. AWS Cloud

L'architecture présente le flux de travail suivant :
Les développeurs accèdent à l'environnement via une connexion sécurisée à l'hôte Bastion. Cette EC2 instance Amazon sert de point d'entrée sécurisé et contient l'installation de l'interface de ligne de commande (CLI) K8SGPT et les configurations requises.
L'hôte Bastion, configuré avec des rôles IAM spécifiques, établit des connexions sécurisées au cluster Amazon EKS et aux points de terminaison Amazon Bedrock. K8sGPT est installé et configuré sur l'hôte Bastion pour effectuer une analyse du cluster Kubernetes.
Amazon EKS gère le plan de contrôle Kubernetes et les nœuds de travail, fournissant ainsi l'environnement cible pour l'analyse K8sGPT. Le service s'exécute sur plusieurs zones de disponibilité au sein d'un cloud privé virtuel (VPC), ce qui contribue à garantir une disponibilité et une résilience élevées. Amazon EKS fournit des données opérationnelles via l'API Kubernetes, ce qui permet une analyse complète des clusters.
K8sGPT envoie des données d'analyse à Amazon Bedrock, qui fournit le modèle de base Claude v2 (FM) pour le traitement du langage naturel. Le service traite l'analyse K8sGPT pour générer des explications lisibles par l'homme et propose des suggestions de correction détaillées en fonction des problèmes identifiés. Amazon Bedrock fonctionne comme un service d'IA sans serveur offrant une disponibilité et une évolutivité élevées.
Note
Tout au long de ce flux de travail, IAM contrôle l'accès entre les composants par le biais de rôles et de politiques, en gérant l'authentification pour les interactions entre l'hôte Bastion, Amazon EKS et Amazon Bedrock. L'IAM met en œuvre le principe du moindre privilège et permet une communication interservices sécurisée dans l'ensemble de l'architecture.
Automatisation et évolutivité
Les opérations K8sGPT peuvent être automatisées et mises à l'échelle sur plusieurs clusters Amazon EKS à l'aide de divers outils et outils. Services AWS Cette solution prend en charge l'intégration continue et l'intégration du déploiement continu (CI/CD) à l'aide de Jenkins
Outils
Services AWS
AWS Command Line Interface (AWS CLI) est un outil open source qui vous permet d'interagir Services AWS par le biais de commandes dans votre interface de ligne de commande.
Amazon Elastic Kubernetes Service (Amazon EKS) vous permet d'exécuter AWS Kubernetes sans avoir à installer ou à gérer votre propre plan de contrôle ou vos propres nœuds Kubernetes.
AWS Identity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos AWS ressources en contrôlant qui est authentifié et autorisé à les utiliser.
Autres outils
K8sGPT
est un outil open source basé sur l'IA qui transforme la gestion de Kubernetes. Il agit en tant qu'expert en ingénierie de fiabilité des sites virtuels (SRE), analysant, diagnostiquant et résolvant automatiquement les problèmes liés au cluster Kubernetes. Les administrateurs peuvent interagir avec K8sGPT en langage naturel et obtenir des informations claires et exploitables sur l'état du cluster, les pannes de pods et les défaillances de service. Les analyseurs intégrés de l'outil détectent un large éventail de problèmes, des composants mal configurés aux contraintes de ressources, et fournissent des easy-to-understand explications et des solutions.
Bonnes pratiques
Mettez en œuvre des contrôles d'accès sécurisés en utilisant AWS Systems Manager Session Manager for Bastion Host Access.
Assurez-vous que l'authentification K8sGPT utilise des rôles IAM dédiés dotés des autorisations de moindre privilège pour les interactions avec Amazon Bedrock et Amazon EKS. Pour plus d'informations, consultez les sections Accorder le moindre privilège et Bonnes pratiques en matière de sécurité dans la documentation IAM.
Configurez le balisage des ressources, activez la CloudWatch journalisation Amazon pour les pistes d'audit et implémentez l'anonymisation des données
pour les informations sensibles. Maintenez des sauvegardes régulières des configurations K8sGPT tout en configurant des programmes de numérisation automatisés pendant les heures creuses afin de minimiser l'impact opérationnel.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Définissez Amazon Bedrock comme fournisseur de backend AI pour K8sGPT. | Pour définir Amazon Bedrock comme fournisseur de backend
L'exemple de commande utilise Pour vérifier qu'il
Voici un exemple du résultat attendu de cette commande :
| AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Consultez la liste des filtres disponibles. | Pour voir la liste de tous les filtres disponibles, utilisez la AWS CLI commande suivante :
Voici un exemple du résultat attendu de cette commande :
| AWS DevOps |
Scannez un pod dans un espace de noms spécifique à l'aide d'un filtre. | Cette commande est utile pour le débogage ciblé de problèmes de pod spécifiques au sein d'un cluster Kubernetes, en utilisant les fonctionnalités d'Amazon Bedrock AI pour analyser et expliquer les problèmes détectés. Pour scanner un pod dans un espace de noms spécifique à l'aide d'un filtre, utilisez la AWS CLI commande suivante :
Voici un exemple du résultat attendu de cette commande :
| AWS DevOps |
Analysez un déploiement dans un espace de noms spécifique à l'aide d'un filtre. | Cette commande est utile pour identifier et résoudre les problèmes spécifiques au déploiement, en particulier lorsque l'état réel ne correspond pas à l'état souhaité. Pour analyser un déploiement dans un espace de noms spécifique à l'aide d'un filtre, utilisez la AWS CLI commande suivante :
Voici un exemple du résultat attendu de cette commande :
| AWS DevOps |
Scannez un nœud dans un espace de noms spécifique à l'aide d'un filtre. | Pour scanner un nœud dans un espace de noms spécifique à l'aide d'un filtre, utilisez la AWS CLI commande suivante :
Voici un exemple du résultat attendu de cette commande :
| AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Obtenez des résultats détaillés. | Pour obtenir des résultats détaillés, utilisez la AWS CLI commande suivante :
Voici un exemple du résultat attendu de cette commande :
| AWS DevOps |
Vérifiez les pods problématiques. | Pour vérifier la présence de pods problématiques spécifiques, utilisez la AWS CLI commande suivante :
Voici un exemple du résultat attendu de cette commande :
| AWS DevOps |
Obtenez des informations spécifiques aux applications. | Cette commande est particulièrement utile lorsque :
Pour obtenir des informations spécifiques à l'application, utilisez la commande suivante :
Voici un exemple du résultat attendu de cette commande :
|
Ressources connexes
Blogues AWS
AWS documentation
Autres ressources