DEV Community

Serena Sensini
Serena Sensini

Posted on • Originally published at theredcode.it on

Superpoteri per Kubernetes con ChatGPT

Intro

Se hai provato a chattare con ChatGPT e hai provato delle sensazioni contrastanti dopo le sue fantastiche risposte, allora devi sapere k8sgpt sfrutta ChatGPT per supportarti nel tuo utilizzo di Kubernetes (e anche OpenShift).

Tramite un’analisi delle risorse in esecuzione, consente all’utente di analizzare i problemi del cluster e di fornire suggerimenti più esplicativi -rispetto ai messaggi di errore- per risolvere il problema. Spesso di fronte a un problema ci si trova con pochi indizi, e una soluzione da trovare velocemente: per poter ottenere delle indicazioni più dettagliate su come risolvere il problema, k8sgpt è perfetto.

Installazione

La configurazione è molto semplice: basta scaricare il pacchetto di k8sgpt in base al sistema operativo che verrà usato per eseguire k8sgpt -Linux, Windows o Mac - dalla pagina di rilascio di k8sgpt:

wget https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.1.1/k8sgpt_Linux_x86_64.tar.gz

tar -xvf k8sgpt_Linux_x86_64.tar.gz

./k8sgpt

Enter fullscreen mode Exit fullscreen mode

In secondo luogo, sarà necessario ottenere una chiave API dal sito web di OpenAI per poter utilizzare questo strumento: tramite il comando sottostante, è possibile ottenere il link per generarla:

k8sgpt generate

Opening: https://beta.openai.com/account/api-keys to generate a key for openaish
Please copy the generated key and run `k8sgpt auth` to add it to your config file

Enter fullscreen mode Exit fullscreen mode

Dopo aver generato e copiato la chiave, possiamo aggiungere questo token al file di configurazione usando il comando seguente:

k8sgpt auth new
>>>
Enter openai Key: MYTOKEN

added to the AI backend provider list

Enter fullscreen mode Exit fullscreen mode

Esempio

Attualmente sono disponibili alcuni analyzer integrati per k8sgpt (come quelli per Pod, PVC, Events, e così via) che permettono di fornire delle descrizioni dettagliate degli oggetti in esecuzione, anche se in futuro sono previste delle ulteriori estensioni.

In altre parole, k8sgpt è in grado di trovare problemi in oggetti Kubernetes come Pod, PVC, Replicaset e Services.

Per tentare un test veloce, è possibile una semplice analisi sarà simile a quella che segue:

# Creazione di un Pod con un'immagine
kubectl run nginx --image=nginx:latest --restart=Never

# Analisi degli eventi prodotti dalle risorse del namespace corrente -di default, risponde in inglese

k8sgpt analyze --explain --filter=Pod
>>>
No problems detected

Enter fullscreen mode Exit fullscreen mode

In effetti, è possibile ottenere la risposta anche in altre lingue. Ad esempio, se si desidera ottenere una risposta in italiano, si può specificare l’opzione in questo modo -attenzione, le traduzioni non sono perfette!:

# Immagine errata
kubectl run nginx --image=nginx:1.2.3 --restart=Never

k8sgpt analyze --explain --language 'Italian'

Every 2,0s: k8sgpt analyze --explain edgeblazer-desktop: Tue Mar 28 18:10:56 2023

{ 0% | | (0/1, 0 it/hr) [0s:0s] 100% |██████████████████████████████████████████████| (1/1, 3182 it/s)
0 default/nginx(nginx): Back-off pulling image "nginx:1.2.3"
I Pod non sono in grado di scaricare e lanciare l'immagine prevista, pertanto è stato attivato un back-off per attendere
prima di riprovare. La soluzione è assicurarsi che il tag dell'immagine sia specificato correttamente e che non ci siano
problemi di rete che impediscano il download. Verificare inoltre che l'immagine esista e sia accessibile al cluster.

Enter fullscreen mode Exit fullscreen mode

Sviluppi futuri

Il team dietro a k8sgpt ha previsto di aggiungere nuove funzionalità, come ulteriori comandi eseguibili tramite la riga di comando, il supporto ad analyzer personalizzati, e il supporto a modelli di ML.

Quale può essere il vantaggio di uno strumento come questo, anche se ancora in via di sviluppo? Si tratta sicuramente di uno strumento utile che aiuta nella risoluzione dei problemi iniziali, migliorando così l’esperienza operativa di chi lavora su cluster basati su Kubernetes, soprattutto se ci si trova di fronte ad errori imprevisti, o sconosciuti!

Risorse utili

Top comments (0)