
k8sgpt adalah alat untuk memindai cluster Kubernetes Anda, mendiagnosis, dan triaging masalah dalam bahasa Inggris sederhana.
Ini memiliki pengalaman SRE yang dikodifikasikan ke dalam analisisnya dan membantu mengeluarkan informasi yang paling relevan untuk memperkaya dengan AI.
Di luar integrasi kotak dengan Openai, Azure, Cohere, Amazon Bedrock, Google Gemini dan model lokal.

$ brew install k8sgptatau
brew tap k8sgpt-ai/k8sgpt
brew install k8sgpt32 bit:
sudo rpm -ivh https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.46/k8sgpt_386.rpm
64 bit:
sudo rpm -ivh https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.46/k8sgpt_amd64.rpm
32 bit:
curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.46/k8sgpt_386.deb
sudo dpkg -i k8sgpt_386.deb
64 bit:
curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.46/k8sgpt_amd64.deb
sudo dpkg -i k8sgpt_amd64.deb
32 bit:
wget https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.46/k8sgpt_386.apk
apk add --allow-untrusted k8sgpt_386.apk
64 bit:
wget https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.46/k8sgpt_amd64.apk
apk add --allow-untrusted k8sgpt_amd64.apk
==> Installing k8sgpt from k8sgpt-ai/k8sgpt Error: The following formula cannot be installed from a bottle and must be
built from the source. k8sgpt Install Clang or run brew install gcc.
Jika Anda menginstal GCC seperti yang disarankan, masalahnya akan bertahan. Karena itu, Anda perlu menginstal paket build-esensial.
sudo apt-get update
sudo apt-get install build-essential
Untuk menginstal dalam kluster Kubernetes, silakan gunakan k8sgpt-operator kami dengan instruksi instalasi yang tersedia di sini
Mode operasi ini sangat ideal untuk pemantauan berkelanjutan dari cluster Anda dan dapat berintegrasi dengan pemantauan Anda yang ada seperti Prometheus dan AlertManager.
k8sgpt generate untuk membuka tautan browser untuk menghasilkannyak8sgpt auth add untuk mengaturnya di K8SGPT.--password .k8sgpt filters untuk mengelola filter aktif yang digunakan oleh penganalisa. Secara default, semua filter dijalankan selama analisis.k8sgpt analyze untuk menjalankan pemindaian.k8sgpt analyze --explain untuk mendapatkan penjelasan yang lebih rinci tentang masalah tersebut.k8sgpt analyze --with-doc (dengan atau tanpa bendera menjelaskan) untuk mendapatkan dokumentasi resmi dari Kubernetes. K8SGPT menggunakan analisis untuk triase dan mendiagnosis masalah di cluster Anda. Ini memiliki serangkaian analisis yang dibangun, tetapi Anda akan dapat menulis analisis Anda sendiri.
Jalankan pemindaian dengan analisis default
k8sgpt generate
k8sgpt auth add
k8sgpt analyze --explain
k8sgpt analyze --explain --with-doc
Filter di sumber daya
k8sgpt analyze --explain --filter=Service
Filter dengan namespace
k8sgpt analyze --explain --filter=Pod --namespace=default
Output ke JSON
k8sgpt analyze --explain --filter=Service --output=json
Anonim selama menjelaskan
k8sgpt analyze --explain --filter=Service --output=json --anonymize
Daftar filter
k8sgpt filters list
Tambahkan filter default
k8sgpt filters add [filter(s)]
k8sgpt filters add Servicek8sgpt filters add Ingress,PodHapus filter default
k8sgpt filters remove [filter(s)]
k8sgpt filters remove Servicek8sgpt filters remove Ingress,PodDaftar Backends yang Dikonfigurasi
k8sgpt auth list
Perbarui backend yang dikonfigurasi
k8sgpt auth update $MY_BACKEND1,$MY_BACKEND2..
Hapus backend yang dikonfigurasi
k8sgpt auth remove -b $MY_BACKEND1,$MY_BACKEND2..
Daftar integrasi
k8sgpt integrations list
Aktifkan integrasi
k8sgpt integrations activate [integration(s)]
Gunakan integrasi
k8sgpt analyze --filter=[integration(s)]
Nonaktifkan integrasi
k8sgpt integrations deactivate [integration(s)]
Mode Sajikan
k8sgpt serve
Analisis dengan Mode Serve
grpcurl -plaintext -d '{"namespace": "k8sgpt", "explain" : "true"}' localhost:8080 schema.v1.ServerAnalyzerService/Analyze
{
"status": "OK"
}
Analisis dengan header khusus
k8sgpt analyze --explain --custom-headers CustomHeaderKey:CustomHeaderValue
Statistik analisis cetak
k8sgpt analyze -s
The stats mode allows for debugging and understanding the time taken by an analysis by displaying the statistics of each analyzer.
- Analyzer Ingress took 47.125583ms
- Analyzer PersistentVolumeClaim took 53.009167ms
- Analyzer CronJob took 57.517792ms
- Analyzer Deployment took 156.6205ms
- Analyzer Node took 160.109833ms
- Analyzer ReplicaSet took 245.938333ms
- Analyzer StatefulSet took 448.0455ms
- Analyzer Pod took 5.662594708s
- Analyzer Service took 38.583359166s
Informasi Diagnostik
Untuk mengumpulkan informasi diagnostik Gunakan perintah berikut untuk membuat dump_<timestamp>_json di direktori lokal Anda.
k8sgpt dump
K8SGPT menggunakan LLM yang dipilih, penyedia AI generatif ketika Anda ingin menjelaskan hasil analisis menggunakan -Explain FLAG misalnya k8sgpt analyze --explain . Anda dapat menggunakan -Bendera --backend untuk menentukan penyedia yang dikonfigurasi (ini openai secara default).
Anda dapat mendaftarkan penyedia yang tersedia menggunakan k8sgpt auth list :
Default:
> openai
Active:
Unused:
> openai
> localai
> ollama
> azureopenai
> cohere
> amazonbedrock
> amazonsagemaker
> google
> huggingface
> noopai
> googlevertexai
> ibmwatsonxai
Untuk dokumentasi terperinci tentang cara mengkonfigurasi dan menggunakan setiap penyedia, lihat di sini.
Untuk mengatur penyedia default baru
k8sgpt auth default -p azureopenai
Default provider set to azureopenai
Dengan opsi ini, data dianonimkan sebelum dikirim ke backend AI. Selama eksekusi analisis, k8sgpt mengambil data sensitif (nama objek Kubernetes, label, dll.). Data ini ditutupi saat dikirim ke backend AI dan digantikan oleh kunci yang dapat digunakan untuk tidak menganonimkan data ketika solusi dikembalikan ke pengguna.
Error: HorizontalPodAutoscaler uses StatefulSet/fake-deployment as ScaleTargetRef which does not exist.Error: HorizontalPodAutoscaler uses StatefulSet/tGLcCRcHa1Ce5Rs as ScaleTargetRef which does not exist.The Kubernetes system is trying to scale a StatefulSet named tGLcCRcHa1Ce5Rs using the HorizontalPodAutoscaler, but it cannot find the StatefulSet. The solution is to verify that the StatefulSet name is spelled correctly and exists in the same namespace as the HorizontalPodAutoscaler.The Kubernetes system is trying to scale a StatefulSet named fake-deployment using the HorizontalPodAutoscaler, but it cannot find the StatefulSet. The solution is to verify that the StatefulSet name is spelled correctly and exists in the same namespace as the HorizontalPodAutoscaler.Catatan: Anonimisasi saat ini tidak berlaku untuk acara.
Anonimisasi saat ini tidak berlaku untuk acara.
Dalam beberapa analisis seperti POD, kami memberi makan ke AI backend pesan acara yang tidak diketahui sebelumnya sehingga kami tidak menutupi mereka untuk saat ini .
Berikut ini adalah daftar analisis di mana data sedang bertopeng :-
Berikut ini adalah daftar analisis di mana data tidak ditutupi :-
*Catatan :
K8GPT tidak akan menutupi penganalisa di atas karena mereka tidak mengirim informasi pengidentifikasian kecuali penganalisa peristiwa .
Masking for Events Analyzer dijadwalkan dalam waktu dekat seperti yang terlihat dalam edisi ini. Penelitian lebih lanjut harus dilakukan untuk memahami pola dan dapat menutupi bagian -bagian sensitif dari suatu peristiwa seperti nama pod, namespace dll.
Berikut ini adalah daftar bidang yang tidak bertopeng :-
*Catatan :
k8sgpt menyimpan data konfigurasi dalam $XDG_CONFIG_HOME/k8sgpt/k8sgpt.yaml file. Data disimpan dalam teks biasa, termasuk kunci openai Anda.
Lokasi file konfigurasi:
| Os | Jalur |
|---|---|
| MacOS | ~/Dukungan Perpustakaan/Aplikasi/K8SGPT/K8SGPT.YAML |
| Linux | ~/.config/k8sgpt/k8sgpt.yaml |
| Windows | %LocalAppData%/K8SGPT/K8SGPT.YAML |
Menambahkan cache jarak jauh
AWS_ACCESS_KEY_ID dan AWS_SECRET_ACCESS_KEY diperlukan sebagai variabel lingkungan.k8sgpt cache add s3 --region <aws region> --bucket <name>k8sgpt cache add s3 --bucket <name> --endpoint <http://localhost:9000>k8sgpt cache add s3 --bucket <name> --endpoint <https://localhost:9000> --insecurek8sgpt cache add azure --storageacc <storage account name> --container <container name>GOOGLE_APPLICATION_CREDENTIALS diperlukan sebagai variabel lingkungan.k8sgpt cache add gcs --region <gcp region> --bucket <name> --projectid <project id>Daftar item cache
k8sgpt cache list
Membersihkan objek dari cache Catatan: Membersihkan objek menggunakan perintah ini akan menghapus file hulu, sehingga memerlukan izin yang sesuai.
k8sgpt cache purge $OBJECT_NAME
Menghapus Catatan Cache Jarak Jauh : Ini tidak akan menghapus ember S3 hulu atau wadah penyimpanan Azure
k8sgpt cache remove
Mungkin ada skenario di mana Anda ingin menulis penganalisa sendiri dalam bahasa pilihan Anda. K8SGPT sekarang mendukung kemampuan untuk melakukannya dengan mematuhi skema dan melayani penganalisa untuk dikonsumsi. Untuk melakukannya, tentukan penganalisa dalam konfigurasi K8SGPT dan itu akan menambahkannya ke dalam proses pemindaian. Selain itu, Anda perlu mengaktifkan bendera berikut pada analisis:
k8sgpt analyze --custom-analysis
Berikut adalah contoh penganalisa host lokal di Rust saat ini dijalankan di localhost:8080 K8SGPT Config dapat mengambilnya dengan penambahan berikut:
custom_analyzers:
- name: host-analyzer
connection:
url: localhost
port: 8080
Ini sekarang memberikan kemampuan untuk melewati informasi hostos (dari contoh penganalisis ini) ke K8SGPT untuk digunakan sebagai konteks dengan analisis normal.
Lihat dokumen tentang cara menulis penganalisa khusus
Mendaftarkan analisis khusus yang dikonfigurasi
k8sgpt custom-analyzer list
Menambahkan penganalisa khusus tanpa instal
k8sgpt custom-analyzer add --name my-custom-analyzer --port 8085
Menghapus penganalisa khusus
k8sgpt custom-analyzer remove --names "my-custom-analyzer,my-custom-analyzer-2"
Temukan dokumentasi resmi kami yang tersedia di sini
Baca panduan berkontribusi kami.
Temukan kami di Slack