Salta ai contenuti

kubectl-ai

kubectl-ai (Google) è un agente conversazionale: gli fai domande in linguaggio naturale, lui esegue comandi kubectl e interpreta l’output. Chiede conferma prima di comandi che modificano il cluster.

Finestra del terminale
curl -sSL https://raw.githubusercontent.com/GoogleCloudPlatform/kubectl-ai/main/install.sh | bash

In alternativa come plugin krew:

Finestra del terminale
kubectl krew install ai
Finestra del terminale
kubectl-ai version
Finestra del terminale
export OLLAMA_HOST=http://localhost:11434

Sessione interattiva:

Finestra del terminale
kubectl-ai --llm-provider ollama --model qwen2.5:14b-instruct --enable-tool-use-shim

Domanda singola, non interattiva:

Finestra del terminale
kubectl-ai --llm-provider ollama --model qwen2.5:14b-instruct --enable-tool-use-shim --quiet "why is worker in namespace shop-demo not starting?"

--enable-tool-use-shim serve con modelli che non gestiscono nativamente il formato di tool calling atteso; se il modello lo supporta bene, prova anche senza.

Finestra del terminale
kubectl-ai --llm-provider ollama --model qwen2.5:14b-instruct --enable-tool-use-shim --quiet "list pods in shop-demo that are not ready and explain why"
Finestra del terminale
kubectl-ai --llm-provider ollama --model qwen2.5:14b-instruct --enable-tool-use-shim --quiet "which PVCs are pending in shop-demo and what storage classes exist?"
Finestra del terminale
kubectl-ai --llm-provider ollama --model qwen2.5:14b-instruct --enable-tool-use-shim --quiet "compare the selector of service checkout-svc with the labels of pods in shop-demo"

kubectl-ai usa il kubeconfig corrente con i tuoi permessi. In ambienti condivisi usa un contesto dedicato con permessi read-only:

Finestra del terminale
kubectl config get-contexts
Finestra del terminale
kubectl auth can-i --list --as=system:serviceaccount:ai-tools:ai-readonly | head -20

Il ServiceAccount read-only è definito in RBAC e sicurezza.