k8sgpt — CLI
k8sgpt esegue analyzer (Pod, Service, PVC, Ingress, Deployment, ReplicaSet, CronJob, Node, NetworkPolicy…) che trovano i problemi in modo deterministico, poi usa l’LLM solo per spiegarli. Per questo funziona bene anche con un 7B.
Installazione
Sezione intitolata “Installazione”brew install k8sgptk8sgpt versionBackend Ollama
Sezione intitolata “Backend Ollama”k8sgpt parla con Ollama tramite il backend localai (API OpenAI-compatible):
k8sgpt auth add --backend localai --model qwen2.5:7b-instruct --baseurl http://localhost:11434/v1k8sgpt auth default --provider localaik8sgpt auth listCambiare modello (es. il modello k8s-sre del Modelfile):
k8sgpt auth update --backend localai --model k8s-sre --baseurl http://localhost:11434/v1k8sgpt auth remove --backends localaiAnalisi
Sezione intitolata “Analisi”Senza LLM, solo analyzer (veloce, nessun token):
k8sgpt analyze --namespace shop-demoCon spiegazione:
k8sgpt analyze --namespace shop-demo --explainSpiegazione in italiano:
k8sgpt analyze --namespace shop-demo --explain --language italianSolo alcuni analyzer:
k8sgpt analyze --namespace shop-demo --explain --filter Pod,Service,PersistentVolumeClaimOutput JSON per script e ticket:
k8sgpt analyze --namespace shop-demo --explain --output json | jq '.results[] | {kind, name, error: [.error[].Text], details}'Link alla documentazione Kubernetes pertinente:
k8sgpt analyze --namespace shop-demo --with-docRigenerare le spiegazioni ignorando la cache:
k8sgpt analyze --namespace shop-demo --explain --no-cacheMascherare i nomi delle risorse nel prompt (utile se in futuro usi un endpoint non locale):
k8sgpt analyze --namespace shop-demo --explain --anonymizeTutto il cluster, escluso il rumore dei namespace di sistema:
k8sgpt analyze --explain --filter Pod,Service,PersistentVolumeClaim,Deployment | grep -v -E 'kube-system|local-path-storage'k8sgpt filters listk8sgpt filters add Ingress,NetworkPolicy,HorizontalPodAutoScalerk8sgpt filters remove LogCache e configurazione
Sezione intitolata “Cache e configurazione”k8sgpt cache listk8sgpt cache purgeLa configurazione (backend, filtri) è in:
ls ~/Library/Application\ Support/k8sgpt/Risultato atteso su shop-demo
Sezione intitolata “Risultato atteso su shop-demo”| Risorsa | Errore riportato dagli analyzer |
|---|---|
frontend-* |
immagine non scaricabile, ErrImagePull/ImagePullBackOff |
api-* |
container terminato per OOMKilled, in CrashLoopBackOff |
worker-* |
configmap "worker-config" not found |
checkout-* |
readiness probe fallita, pod non Ready |
checkout-svc |
nessun endpoint, nessun pod corrisponde al selector |
orders-db-data |
StorageClass fast-ssd non trovata |
Se un guasto manca, controlla che il relativo analyzer sia attivo con k8sgpt filters list.