

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menerapkan diagnostik Kubernetes yang didukung AI dan pemecahan masalah dengan integrasi K8SGPT dan Amazon Bedrock
<a name="implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration"></a>

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

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

Pola ini menunjukkan cara menerapkan diagnostik dan pemecahan masalah Kubernetes yang didukung AI dengan mengintegrasikan K8SGPT dengan model Anthropic Claude v2 yang tersedia di Amazon Bedrock. Solusi ini menyediakan analisis bahasa alami dan langkah-langkah remediasi untuk masalah klaster Kubernetes melalui arsitektur host bastion yang aman. Dengan menggabungkan keahlian K8SGPT Kubernetes dengan kemampuan bahasa canggih Amazon Bedrock, tim dapat dengan cepat mengidentifikasi dan menyelesaikan masalah DevOps klaster. Dengan kemampuan ini, dimungkinkan untuk mengurangi mean time to resolution (MTTR) hingga 50 persen. 

Pola cloud-native ini memanfaatkan Amazon Elastic Kubernetes Service (Amazon EKS) untuk manajemen Kubernetes. Pola ini menerapkan praktik terbaik keamanan melalui peran yang tepat AWS Identity and Access Management (IAM) dan isolasi jaringan. Solusi ini sangat berharga bagi organisasi yang ingin merampingkan operasi Kubernetes mereka dan meningkatkan kemampuan pemecahan masalah mereka dengan bantuan AI.

## Prasyarat dan batasan
<a name="implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration-prereqs"></a>

**Prasyarat**
+ Aktif Akun AWS dengan izin yang sesuai
+ AWS Command Line Interface (AWS CLI) [diinstal](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) dan [dikonfigurasi](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ Klaster Amazon EKS
+ [Akses ke model Anthropic Claude 2 di Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html)
+ Host bastion dengan pengaturan grup keamanan yang diperlukan
+ [K8sgpt diinstal](https://docs.k8sgpt.ai/getting-started/installation/)

**Batasan**
+ Analisis K8sgpt dibatasi oleh ukuran jendela konteks model Claude v2.
+ Batas tarif Amazon Bedrock API berlaku berdasarkan kuota akun Anda.
+ Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat [AWS Layanan menurut Wilayah](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Untuk titik akhir tertentu, lihat [Titik akhir dan kuota layanan](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html), dan pilih tautan untuk layanan.

**Versi produk**
+ Amazon EKS [versi 1.31 atau](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html) yang lebih baru
+ [Model Claude 2 di Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html)
+ [K8sgpt v0.4.2 atau yang lebih baru](https://github.com/k8sgpt-ai/k8sgpt/releases)

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

Diagram berikut menunjukkan arsitektur untuk diagnostik Kubernetes bertenaga AI menggunakan K8SGPT yang terintegrasi dengan Amazon Bedrock di. AWS Cloud

![\[Alur kerja untuk diagnostik Kubernetes menggunakan K8sgpt terintegrasi dengan Amazon Bedrock.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/09bc08f6-e191-4cef-b26b-dcb6225b15cc/images/8789891d-4a90-44b0-a108-387f6d96496b.png)


Arsitektur menunjukkan alur kerja berikut:

1. Pengembang mengakses lingkungan melalui koneksi aman ke host bastion. EC2 Instans Amazon ini berfungsi sebagai titik masuk aman dan berisi instalasi antarmuka baris perintah (CLI) K8sgpt dan konfigurasi yang diperlukan.

1. Host bastion, yang dikonfigurasi dengan peran IAM tertentu, membuat koneksi aman ke cluster Amazon EKS dan titik akhir Amazon Bedrock. K8sgpt diinstal dan dikonfigurasi pada host bastion untuk melakukan analisis klaster Kubernetes.

1. Amazon EKS mengelola bidang kontrol Kubernetes dan node pekerja, menyediakan lingkungan target untuk analisis K8sgpt. Layanan ini berjalan di beberapa Availability Zone dalam virtual private cloud (VPC), yang membantu menyediakan ketersediaan dan ketahanan yang tinggi. Amazon EKS memasok data operasional melalui Kubernetes API, memungkinkan analisis klaster yang komprehensif.

1. K8sgpt mengirimkan data analisis ke Amazon Bedrock, yang menyediakan model dasar Claude v2 (FM) untuk pemrosesan bahasa alami. Layanan ini memproses analisis K8sgpt untuk menghasilkan penjelasan yang dapat dibaca manusia dan menawarkan saran remediasi terperinci berdasarkan masalah yang diidentifikasi. Amazon Bedrock beroperasi sebagai layanan AI tanpa server dengan ketersediaan dan skalabilitas tinggi.

**catatan**  
Sepanjang alur kerja ini, IAM mengontrol akses antar komponen melalui peran dan kebijakan, mengelola otentikasi untuk host bastion, Amazon EKS, dan interaksi Amazon Bedrock. IAM menerapkan prinsip hak istimewa paling sedikit dan memungkinkan komunikasi lintas layanan yang aman di seluruh arsitektur.

**Otomatisasi dan skala**

Operasi K8SGPT dapat diotomatisasi dan diskalakan di beberapa kluster Amazon EKS melalui berbagai alat dan. Layanan AWS Solusi ini mendukung integrasi berkelanjutan dan integrasi penerapan berkelanjutan (CI/CD) menggunakan [Jenkins](https://www.jenkins.io/), [GitHub Actions](https://docs.github.com/en/actions/get-started/understand-github-actions), atau [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html)untuk analisis terjadwal. Operator K8sgpt memungkinkan pemantauan in-cluster berkelanjutan dengan kemampuan deteksi dan pelaporan masalah otomatis. Untuk penerapan skala perusahaan, Anda dapat menggunakan [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) untuk menjadwalkan pemindaian dan memicu respons otomatis dengan skrip khusus. AWS Integrasi SDK memungkinkan kontrol terprogram di seluruh armada cluster yang besar.

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

**Layanan AWS**
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) adalah alat open source yang membantu Anda berinteraksi Layanan AWS melalui perintah di shell baris perintah Anda.
+ [Amazon Elastic Kubernetes Service (Amazon](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) EKS) membantu Anda menjalankan AWS Kubernetes tanpa perlu menginstal atau memelihara control plane atau node Kubernetes Anda sendiri.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.

**Alat lainnya**
+ [K8SGPT](https://k8sgpt.ai/) adalah alat bertenaga AI open source yang mengubah manajemen Kubernetes. Ini bertindak sebagai ahli rekayasa keandalan situs virtual (SRE), secara otomatis memindai, mendiagnosis, dan memecahkan masalah klaster Kubernetes. Administrator dapat berinteraksi dengan K8sgpt menggunakan bahasa alami dan mendapatkan wawasan yang jelas dan dapat ditindaklanjuti tentang status cluster, pod crash, dan kegagalan layanan. Alat analisis bawaan alat mendeteksi berbagai masalah, mulai dari komponen yang salah konfigurasi hingga kendala sumber daya, dan memberikan penjelasan dan solusi. easy-to-understand

## Praktik terbaik
<a name="implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration-best-practices"></a>
+ Menerapkan kontrol akses aman dengan menggunakan AWS Systems Manager Session Manager untuk [akses host bastion](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/access-a-bastion-host-by-using-session-manager-and-amazon-ec2-instance-connect.html).
+ Pastikan autentikasi K8sgpt menggunakan peran IAM khusus dengan izin hak istimewa paling sedikit untuk interaksi Amazon Bedrock dan Amazon EKS. Untuk informasi selengkapnya, lihat [Berikan hak istimewa terkecil](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) dan [praktik terbaik Keamanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam dokumentasi IAM.
+ Konfigurasikan [penandaan sumber daya](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html), aktifkan CloudWatch [pencatatan Amazon untuk jejak audit](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/monitor-cloudtrail-log-files-with-cloudwatch-logs.html), dan terapkan [anonimisasi data](https://aws.amazon.com/solutions/guidance/data-anonymization-on-aws/) untuk informasi sensitif. 
+ Pertahankan pencadangan reguler konfigurasi K8SGPT sambil menyiapkan jadwal pemindaian otomatis selama jam sibuk untuk meminimalkan dampak operasional.

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

### Tambahkan Amazon Bedrock ke daftar penyedia backend AI.
<a name="add-br-to-ai-backend-provider-list"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Tetapkan Amazon Bedrock sebagai penyedia backend AI untuk K8sgpt. | Untuk menyetel Amazon Bedrock sebagai [backend AI menyediakan](https://docs.k8sgpt.ai/reference/providers/backend/) r untuk K8sgpt, gunakan perintah berikut: AWS CLI <pre>k8sgpt auth add -b amazonbedrock \<br /> -r us-west-2 \<br /> -m anthropic.claude-v2 \<br /> -n endpoint-name <br /></pre>Contoh perintah digunakan `us-west-2` untuk Wilayah AWS. Namun, Anda dapat memilih Wilayah lain, asalkan kluster Amazon EKS dan model Amazon Bedrock yang sesuai tersedia dan diaktifkan di Wilayah yang dipilih tersebut.Untuk memeriksa `amazonbedrock` apakah ditambahkan ke daftar penyedia backend AI dan dalam `Active` status, jalankan perintah berikut:<pre>k8sgpt auth list</pre>Berikut ini adalah contoh output yang diharapkan dari perintah ini:<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 | 

### Pindai sumber daya menggunakan filter
<a name="scan-resources-using-a-filter"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Lihat daftar filter yang tersedia. | Untuk melihat daftar semua filter yang tersedia, gunakan AWS CLI perintah berikut:<pre>k8sgpt filters list</pre>Berikut ini adalah contoh output yang diharapkan dari perintah ini:<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 | 
| Pindai pod di namespace tertentu dengan menggunakan filter. | Perintah ini berguna untuk debugging tertarget dari masalah pod tertentu dalam klaster Kubernetes, menggunakan kemampuan Amazon Bedrock AI untuk menganalisis dan menjelaskan masalah yang ditemukannya.Untuk memindai pod di namespace tertentu dengan menggunakan filter, gunakan perintah berikut: AWS CLI <pre>k8sgpt analyze --backend amazonbedrock --explain --filter Pod -n default</pre>Berikut ini adalah contoh output yang diharapkan dari perintah ini:<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 | 
| Pindai penyebaran di namespace tertentu dengan menggunakan filter. | Perintah ini berguna untuk mengidentifikasi dan memecahkan masalah khusus penerapan, terutama ketika status sebenarnya tidak cocok dengan status yang diinginkan.Untuk memindai penyebaran di namespace tertentu dengan menggunakan filter, gunakan perintah berikut: AWS CLI <pre>k8sgpt analyze --backend amazonbedrock --explain --filter Deployment -n default</pre>Berikut ini adalah contoh output yang diharapkan dari perintah ini:<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 | 
| Pindai node di namespace tertentu dengan menggunakan filter. | Untuk memindai node di namespace tertentu dengan menggunakan filter, gunakan perintah berikut: AWS CLI <pre>k8sgpt analyze --backend amazonbedrock --explain --filter Node -n default </pre>Berikut ini adalah contoh output yang diharapkan dari perintah ini:<pre>AI Provider: amazonbedrock<br /><br />No problems detected</pre> | AWS DevOps | 

### Menganalisis output terperinci
<a name="analyze-detailed-outputs"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Dapatkan output terperinci. |  Untuk mendapatkan output terperinci, gunakan AWS CLI perintah berikut:<pre>k8sgpt analyze --backend amazonbedrock --explain --ouput json</pre>Berikut ini adalah contoh output yang diharapkan dari perintah ini:<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 | 
| Periksa pod yang bermasalah. | Untuk memeriksa pod bermasalah tertentu, gunakan AWS CLI perintah berikut:<pre>kubectl get pods --all-namespaces | grep -v Running</pre>Berikut ini adalah contoh output yang diharapkan dari perintah ini:<pre>NAMESPACE    NAME      READY    STATUS          RESTARTS      AGE                                       <br />default     crashme     0/1   CrashLoopBackOff   260(91s ago)   21h</pre> | AWS DevOps | 
| Dapatkan wawasan khusus aplikasi. | Perintah ini sangat berguna ketika:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration.html)Untuk mendapatkan wawasan khusus aplikasi, gunakan perintah berikut:<pre>k8sgpt analyze --backend amazonbedrock --explain -L app=nginx -n default</pre>Berikut ini adalah contoh output yang diharapkan dari perintah ini:<pre>AI Provider: amazonbedrock<br /><br />No problems detected</pre> |  | 

## Sumber daya terkait
<a name="implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration-resources"></a>

**Blog AWS**
+ [Mengotomatiskan pemecahan masalah Amazon EKS menggunakan alur kerja agen Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/automate-amazon-eks-troubleshooting-using-an-amazon-bedrock-agentic-workflow/)
+ [Gunakan K8SGPT dan Amazon Bedrock untuk pemeliharaan klaster Kubernetes yang disederhanakan](https://aws.amazon.com/blogs/machine-learning/use-k8sgpt-and-amazon-bedrock-for-simplified-kubernetes-cluster-maintenance/)

**AWS dokumentasi**
+ AWS CLI [perintah: buat-cluster dan [deskripsikan-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)
+ [Memulai Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) (dokumentasi Amazon EKS)
+ [Praktik terbaik keamanan dalam IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) (dokumentasi IAM)

**Sumber daya lainnya**
+ [K8sgpt](https://k8sgpt.ai/)