

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Implementieren Sie KI-gestützte Kubernetes-Diagnose und -Fehlerbehebung mit der Integration von K8SGPT und Amazon Bedrock
<a name="implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration"></a>

*Ishwar Chauthaiwale, Muskan., und Prafful Gupta, Amazon Web Services*

## Zusammenfassung
<a name="implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration-summary"></a>

Dieses Muster zeigt, wie KI-gestützte Kubernetes-Diagnose und -Fehlerbehebung implementiert werden können, indem K8SGPT in das auf Amazon Bedrock verfügbare Anthropic Claude v2-Modell integriert wird. Die Lösung bietet mithilfe einer sicheren Bastion-Host-Architektur Analysen in natürlicher Sprache und Schritte zur Behebung von Problemen mit Kubernetes-Clustern. Durch die Kombination von K8SGPT Kubernetes-Expertise mit den erweiterten Sprachfunktionen von Amazon Bedrock können DevOps Teams Clusterprobleme schnell identifizieren und lösen. Mit diesen Funktionen ist es möglich, die mittlere Zeit bis zur Problemlösung (MTTR) um bis zu 50 Prozent zu reduzieren. 

Dieses cloudnative Muster nutzt Amazon Elastic Kubernetes Service (Amazon EKS) für das Kubernetes-Management. Das Muster implementiert bewährte Sicherheitsmethoden durch geeignete AWS Identity and Access Management (IAM-) Rollen und Netzwerkisolierung. Diese Lösung ist besonders wertvoll für Unternehmen, die ihren Kubernetes-Betrieb rationalisieren und ihre Fähigkeiten zur Fehlerbehebung mit KI-Unterstützung verbessern möchten.

## Voraussetzungen und Einschränkungen
<a name="implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration-prereqs"></a>

**Voraussetzungen**
+ Ein Aktiv mit entsprechenden Berechtigungen AWS-Konto 
+ AWS Command Line Interface (AWS CLI) [installiert](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) und [konfiguriert](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ Ein Amazon-EKS-Cluster
+ Zugriff auf das Modell Anthropic Claude 2 auf [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html)
+ Ein Bastion-Host mit den erforderlichen Sicherheitsgruppeneinstellungen
+ [K8SGPT ist installiert](https://docs.k8sgpt.ai/getting-started/installation/)

**Einschränkungen**
+ Die K8sGPT-Analyse ist durch die Größe des Kontextfensters des Claude v2-Modells begrenzt.
+ Amazon Bedrock API-Tariflimits gelten auf der Grundlage Ihrer Kontokontingente.
+ Einige AWS-Services sind nicht in allen AWS-Regionen verfügbar. Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie unter [AWS Dienste nach Regionen](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Informationen zu bestimmten Endpunkten finden Sie unter [Dienstendpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html). Wählen Sie dort den Link für den Dienst aus.

**Produktversionen**
+ Amazon EKS [Version 1.31 oder höher](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html)
+ [Modell Claude 2](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html) auf Amazon Bedrock
+ [k8SGPT v0.4.2 oder höher](https://github.com/k8sgpt-ai/k8sgpt/releases)

## Architektur
<a name="implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration-architecture"></a>

Das folgende Diagramm zeigt die Architektur für KI-gestützte Kubernetes-Diagnosen unter Verwendung von K8SGPT, das in Amazon Bedrock integriert ist. AWS Cloud

![\[Workflow für die Kubernetes-Diagnose mithilfe von K8SGPT, das in Amazon Bedrock integriert ist.\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/09bc08f6-e191-4cef-b26b-dcb6225b15cc/images/8789891d-4a90-44b0-a108-387f6d96496b.png)


Die Architektur zeigt den folgenden Workflow:

1. Entwickler greifen über eine sichere Verbindung zum Bastion-Host auf die Umgebung zu. Diese EC2 Amazon-Instance dient als sicherer Einstiegspunkt und enthält die Installation der K8SGPT-Befehlszeilenschnittstelle (CLI) und die erforderlichen Konfigurationen.

1. Der mit bestimmten IAM-Rollen konfigurierte Bastion-Host stellt sichere Verbindungen sowohl zum Amazon EKS-Cluster als auch zu den Amazon Bedrock-Endpunkten her. K8SGPT ist auf dem Bastion-Host installiert und konfiguriert, um die Kubernetes-Clusteranalyse durchzuführen.

1. Amazon EKS verwaltet die Kubernetes-Steuerebene und die Worker-Knoten und stellt die Zielumgebung für die K8SGPT-Analyse bereit. Der Service läuft über mehrere Availability Zones innerhalb einer Virtual Private Cloud (VPC), was zu hoher Verfügbarkeit und Ausfallsicherheit beiträgt. Amazon EKS stellt Betriebsdaten über die Kubernetes-API bereit und ermöglicht so eine umfassende Clusteranalyse.

1. K8sgpt sendet Analysedaten an Amazon Bedrock, das das Claude v2 Foundation Model (FM) für die Verarbeitung natürlicher Sprache bereitstellt. Der Service verarbeitet die K8SGPT-Analyse, um für Menschen lesbare Erklärungen zu generieren, und bietet detaillierte Lösungsvorschläge auf der Grundlage der identifizierten Probleme. Amazon Bedrock arbeitet als serverloser KI-Service mit hoher Verfügbarkeit und Skalierbarkeit.

**Anmerkung**  
Während dieses Workflows steuert IAM den Zugriff zwischen Komponenten über Rollen und Richtlinien und verwaltet die Authentifizierung für die Interaktionen mit dem Bastion-Host, Amazon EKS und Amazon Bedrock. IAM implementiert das Prinzip der geringsten Rechte und ermöglicht eine sichere dienstübergreifende Kommunikation in der gesamten Architektur.

**Automatisierung und Skalierung**

K8sGPT-Operationen können mithilfe verschiedener AND-Tools automatisiert und auf mehrere Amazon EKS-Cluster skaliert werden. AWS-Services [Diese Lösung unterstützt die Integration von Continuous Integration und Continuous Deployment (CI/CD) mithilfe von [Jenkins](https://www.jenkins.io/), Actions oder für geplante Analysen. GitHub [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html)](https://docs.github.com/en/actions/get-started/understand-github-actions) Der K8SGPT-Operator ermöglicht eine kontinuierliche Überwachung im Cluster mit automatisierten Funktionen zur Problemerkennung und Berichterstattung. Für Bereitstellungen auf Unternehmensebene können Sie [Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) verwenden, um Scans EventBridge zu planen und automatische Antworten mit benutzerdefinierten Skripten auszulösen. AWS Die SDK-Integration ermöglicht die programmatische Steuerung einer großen Clusterflotte.

## Tools
<a name="implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration-tools"></a>

**AWS-Services**
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) ist ein Open-Source-Tool, mit dem Sie AWS-Services über Befehle in Ihrer Befehlszeilen-Shell interagieren können.
+ Mit [Amazon Elastic Kubernetes Service (Amazon EKS)](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) können Sie Kubernetes ausführen, AWS ohne dass Sie Ihre eigene Kubernetes-Steuerebene oder Knoten installieren oder verwalten müssen.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.

**Andere Tools**
+ [k8SGPT](https://k8sgpt.ai/) ist ein KI-gestütztes Open-Source-Tool, das das Kubernetes-Management transformiert. Es fungiert als Experte für Virtual Site Reliability Engineering (SRE) und scannt, diagnostiziert und behebt automatisch Probleme mit Kubernetes-Clustern. Administratoren können mit K8SGPT in natürlicher Sprache interagieren und klare, umsetzbare Einblicke in den Clusterstatus, Pod-Abstürze und Dienstausfälle erhalten. Die integrierten Analysatoren des Tools erkennen eine Vielzahl von Problemen, von falsch konfigurierten Komponenten bis hin zu Ressourcenbeschränkungen, und bieten Erklärungen und Lösungen. easy-to-understand

## Best Practices
<a name="implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration-best-practices"></a>
+ Implementieren Sie sichere Zugriffskontrollen, indem Sie AWS Systems Manager Session Manager den Hostzugriff für [Bastion](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html) verwenden.
+ Stellen Sie sicher, dass die K8SGPT-Authentifizierung dedizierte IAM-Rollen mit den geringsten Berechtigungen für Amazon Bedrock- und Amazon EKS-Interaktionen verwendet. Weitere Informationen finden Sie in der IAM-Dokumentation unter [Gewährung der geringsten Rechte](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) und [bewährte Methoden zur Sicherheit](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html).
+ Konfigurieren Sie das [Ressourcen-Tagging](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html), aktivieren Sie die CloudWatch [Amazon-Protokollierung für Prüfpfade](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/monitor-cloudtrail-log-files-with-cloudwatch-logs.html) und implementieren Sie die [Datenanonymisierung](https://aws.amazon.com/solutions/guidance/data-anonymization-on-aws/) für vertrauliche Informationen. 
+ Sorgen Sie für regelmäßige Backups der K8SGPT-Konfigurationen und richten Sie automatische Scan-Zeitpläne außerhalb der Spitzenzeiten ein, um die Auswirkungen auf den Betrieb zu minimieren.

## Epen
<a name="implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration-epics"></a>

### Fügen Sie Amazon Bedrock zur Liste der KI-Backend-Anbieter hinzu.
<a name="add-br-to-ai-backend-provider-list"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Stellen Sie Amazon Bedrock als KI-Backend-Anbieter für K8SGPT ein. | Verwenden Sie den folgenden Befehl, um Amazon Bedrock als [KI-Backend-Anbieter](https://docs.k8sgpt.ai/reference/providers/backend/) r für k8SGPT festzulegen: AWS CLI <pre>k8sgpt auth add -b amazonbedrock \<br /> -r us-west-2 \<br /> -m anthropic.claude-v2 \<br /> -n endpoint-name <br /></pre>Der Beispielbefehl verwendet für die. `us-west-2` AWS-Region Sie können jedoch eine andere Region auswählen, vorausgesetzt, dass sowohl der Amazon EKS-Cluster als auch das entsprechende Amazon Bedrock-Modell in dieser ausgewählten Region verfügbar und aktiviert sind.Führen Sie den folgenden `amazonbedrock` Befehl aus, um zu überprüfen, ob dieser zur Liste der AI-Backend-Anbieter hinzugefügt wurde und sich im `Active` Status befindet:<pre>k8sgpt auth list</pre>Im Folgenden finden Sie ein Beispiel für die erwartete Ausgabe dieses Befehls:<pre>Default: <br />> openai<br />Active: <br />> amazonbedrock<br />Unused: <br />> openai<br />> localai<br />> ollama<br />> azureopenai<br />> cohere<br />> amazonsagemaker<br />> google<br />> noopai<br />> huggingface<br />> googlevertexai<br />> oci<br />> customrest<br />> ibmwatsonxai</pre> | AWS DevOps | 

### Ressourcen mithilfe eines Filters scannen
<a name="scan-resources-using-a-filter"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Sehen Sie sich eine Liste der verfügbaren Filter an. | Verwenden Sie den folgenden AWS CLI Befehl, um die Liste aller verfügbaren Filter anzuzeigen:<pre>k8sgpt filters list</pre>Im Folgenden finden Sie ein Beispiel für die erwartete Ausgabe dieses Befehls:<pre>Active: <br />> Deployment<br />> ReplicaSet<br />> PersistentVolumeClaim<br />> Service<br />> CronJob<br />> Node<br />> MutatingWebhookConfiguration<br />> Pod<br />> Ingress<br />> StatefulSet<br />> ValidatingWebhookConfiguration</pre> | AWS DevOps | 
| Scannen Sie einen Pod in einem bestimmten Namespace mithilfe eines Filters. | Dieser Befehl ist nützlich für das gezielte Debuggen bestimmter Pod-Probleme innerhalb eines Kubernetes-Clusters. Dabei werden die KI-Funktionen von Amazon Bedrock verwendet, um die gefundenen Probleme zu analysieren und zu erklären.Verwenden Sie den folgenden Befehl, um einen Pod in einem bestimmten Namespace mithilfe eines Filters zu scannen: AWS CLI <pre>k8sgpt analyze --backend amazonbedrock --explain --filter Pod -n default</pre>Im Folgenden finden Sie ein Beispiel für die erwartete Ausgabe dieses Befehls:<pre>100% |████████████████████████████████████████████████████████| (1/1, 645 it/s)        <br />AI Provider: amazonbedrock<br /><br />0: Pod default/crashme()<br />- Error: the last termination reason is Error container=crashme pod=crashme<br />Error: The pod named crashme terminated because the container named crashme crashed.<br />Solution: Check logs for crashme pod to identify reason for crash. Restart pod or redeploy application to resolve crash.</pre> | AWS DevOps | 
| Scannen Sie eine Bereitstellung in einem bestimmten Namespace mithilfe eines Filters. | Dieser Befehl ist nützlich, um bereitstellungsspezifische Probleme zu identifizieren und zu beheben, insbesondere wenn der tatsächliche Status nicht dem gewünschten Status entspricht.Verwenden Sie den folgenden Befehl, um eine Bereitstellung in einem bestimmten Namespace mithilfe eines Filters zu scannen: AWS CLI <pre>k8sgpt analyze --backend amazonbedrock --explain --filter Deployment -n default</pre>Im Folgenden finden Sie ein Beispiel für die erwartete Ausgabe dieses Befehls:<pre>100% |██████████████████████████████████████████████████████████| (1/1, 10 it/min)        <br />AI Provider: amazonbedrock<br /><br />0: Deployment default/nginx()<br />- Error: Deployment default/nginx has 1 replicas but 2 are available<br /> Error: The Deployment named nginx in the default namespace has 1 replica specified but 2 pod replicas are running.<br />Solution: Check if any other controllers like ReplicaSet or StatefulSet have created extra pods. Delete extra pods or adjust replica count to match available pods.</pre> | AWS DevOps | 
| Scannen Sie einen Knoten in einem bestimmten Namespace mithilfe eines Filters. | Verwenden Sie den folgenden AWS CLI Befehl, um einen Knoten in einem bestimmten Namespace mithilfe eines Filters zu scannen:<pre>k8sgpt analyze --backend amazonbedrock --explain --filter Node -n default </pre>Im Folgenden finden Sie ein Beispiel für die erwartete Ausgabe dieses Befehls:<pre>AI Provider: amazonbedrock<br /><br />No problems detected</pre> | AWS DevOps | 

### Analysieren Sie detaillierte Ergebnisse
<a name="analyze-detailed-outputs"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erhalten Sie detaillierte Ergebnisse. |  Verwenden Sie den folgenden AWS CLI Befehl, um detaillierte Ausgaben zu erhalten:<pre>k8sgpt analyze --backend amazonbedrock --explain --ouput json</pre>Im Folgenden finden Sie ein Beispiel für die erwartete Ausgabe dieses Befehls:<pre>{<br />  "provider": "amazonbedrock",<br />  "errors": null,<br />  "status": "ProblemDetected",<br />  "problems": 1,<br />  "results": [<br />    {<br />      "kind": "Pod",<br />      "name": "default/crashme",<br />      "error": [<br />        {<br />          "Text": "the last termination reason is Error container=crashme pod=crashme",<br />          "KubernetesDoc": "",<br />          "Sensitive": []<br />        }<br />      ],<br />      "details": " Error: The pod named crashme terminated because the container named crashme crashed.\nSolution: Check logs for crashme pod to identify reason for crash. Restart pod or redeploy application to resolve crash.",<br />      "parentObject": ""<br />    }<br />  ]<br />}</pre> | AWS DevOps | 
| Überprüfen Sie problematische Pods. | Verwenden Sie den folgenden AWS CLI Befehl, um nach bestimmten problematischen Pods zu suchen:<pre>kubectl get pods --all-namespaces | grep -v Running</pre>Im Folgenden finden Sie ein Beispiel für die erwartete Ausgabe dieses Befehls:<pre>NAMESPACE    NAME      READY    STATUS          RESTARTS      AGE                                       <br />default     crashme     0/1   CrashLoopBackOff   260(91s ago)   21h</pre> | AWS DevOps | 
| Erhalten Sie anwendungsspezifische Einblicke. | Dieser Befehl ist besonders nützlich, wenn:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration.html)Verwenden Sie den folgenden Befehl, um anwendungsspezifische Einblicke zu erhalten:<pre>k8sgpt analyze --backend amazonbedrock --explain -L app=nginx -n default</pre>Im Folgenden finden Sie ein Beispiel für die erwartete Ausgabe dieses Befehls:<pre>AI Provider: amazonbedrock<br /><br />No problems detected</pre> |  | 

## Zugehörige Ressourcen
<a name="implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration-resources"></a>

**AWS-Blogs**
+ [Automatisieren Sie die Amazon EKS-Fehlerbehebung mithilfe eines Agenten-Workflows von Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/automate-amazon-eks-troubleshooting-using-an-amazon-bedrock-agentic-workflow/)
+ [Verwenden Sie K8SGPT und Amazon Bedrock für eine vereinfachte Wartung von Kubernetes-Clustern](https://aws.amazon.com/blogs/machine-learning/use-k8sgpt-and-amazon-bedrock-for-simplified-kubernetes-cluster-maintenance/)

**AWS Dokumentation**
+ AWS CLI [Befehle: [create-cluster und describe-cluster](https://docs.aws.amazon.com/cli/latest/reference/eks/create-cluster.html)](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/describe-cluster.html)
+ [Erste Schritte mit Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) (Amazon EKS-Dokumentation)
+ [Bewährte Sicherheitsmethoden in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) (IAM-Dokumentation)

**Sonstige Ressourcen**
+ [K8SGPT](https://k8sgpt.ai/)