Superpoteri per Kubernetes con ChatGPT

  • Di
  • 2023-05-16 - 3 minuti
banner

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 di k8sgpt

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

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

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

k8sgpt auth add
>>>
Enter openai Key: MYTOKEN

added to the AI backend provider list

Come utilizzare k8sgpt

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

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.

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?

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 a errori imprevisti, o sconosciuti!

Aggiornamento: K8sGPT è stato accettato dalla CNCF il 19 Dicembre 2023 all’interno dei progetti sostenuti dalla fondazione.

Risorse utili

Post correlati

Partners

Community, aziende e persone che supportano attivamente il blog

Logo di Codemotion
Logo di GrUSP
Logo di Python Milano
Logo di Schrodinger Hat
Logo di Python Biella Group
Logo di Fuzzy Brains
Logo di Django Girls
Logo di Improove
Logo del libro open source
Logo di NgRome
Logo de La Locanda del Tech
Logo di Tomorrow Devs

Non perderti gli ultimi aggiornamenti, iscriviti a TheRedCode Digest!

La tecnologia corre, e tu devi correre più veloce per rimanere sempre sul pezzo! 🚀

Riceverai una volta al mese (o anche meno) con codici sconto per partecipare agli eventi del settore, quiz per vincere dei gadget e i recap degli articoli più interessanti pubblicati sul blog

Ci sto!

#TheRedComics

Luglio

A cura di Sophie Aiello, copy di Chiara Romano

Vuoi diventare #tech content writer? 🖊️

Se vuoi raccontare la tua sul mondo #tech con dei post a tema o vuoi condividere la tua esperienza con la community, sei nel posto giusto! 😉

Manda una mail a collaborazioni[at]theredcode.it con la tua proposta e diventa la prossima penna del blog!

Ma sì, facciamolo!