Superpoteri per Kubernetes con ChatGPT
Published: 2023-10-03 14:23:36

---
title: Superpoteri per Kubernetes con ChatGPT
published: true
date: 2023-05-16 00:00:00 UTC
tags: 
canonical_url: 
---

# Intro

Se hai provato a chattare con [ChatGPT](https://openai.com/blog/chatgpt) e hai provato delle sensazioni contrastanti dopo le sue fantastiche risposte, allora devi sapere [k8sgpt](https://github.com/k8sgpt-ai/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](https://github.com/k8sgpt-ai/k8sgpt)** è perfetto.

# Installazione

La **configurazione** è molto semplice: basta scaricare il pacchetto di [k8sgpt](https://github.com/k8sgpt-ai/k8sgpt) in base al sistema operativo che verrà usato per eseguire [k8sgpt](https://github.com/k8sgpt-ai/k8sgpt) -Linux, Windows o Mac - dalla pagina di rilascio di [k8sgpt](https://github.com/k8sgpt-ai/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

```

![](https://theredcode.it/img/chatgpt-apikey.png)

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

```

# Esempio

Attualmente sono disponibili alcuni _analyzer_ integrati per [k8sgpt](https://github.com/k8sgpt-ai/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](https://github.com/k8sgpt-ai/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](https://github.com/k8sgpt-ai/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

- [Documentazione ufficiale](https://github.com/k8sgpt-ai/k8sgpt)
- [Docker](https://amzn.to/3cSVvUG) - per cominciare bene con Docker e Kubernetes
- [Kubernetes](https://amzn.to/44bLfyR) - Guida per gestire e orchestrare i container