Su Ubuntu 22.04 LTS Minikube si installa senza particolari frizioni, ma la parte che fa perdere tempo di solito non è il download del binario: è la scelta del driver, la compatibilità con il virtualizzatore già presente e la verifica che il nodo locale abbia abbastanza risorse per avviare un cluster Kubernetes sensato. Se parti con aspettative chiare, l’installazione resta pulita: scegli un driver, installi i prerequisiti minimi, avvii Minikube e controlli subito che il cluster risponda a kubectl.
Scelta del driver: la decisione da fare prima di installare
Minikube non è “un cluster” in senso stretto: è un ambiente locale che crea un nodo Kubernetes usando un driver. Su Ubuntu 22.04, in pratica, le opzioni più comuni sono Docker e KVM2. Docker è spesso la scelta più rapida se hai già il demone attivo e non vuoi passare da una VM completa; KVM2 è più vicino a uno scenario virtualizzato classico e può risultare più prevedibile se vuoi separare bene il nodo dal sistema host.
Se non hai vincoli specifici, il driver Docker è il modo più veloce per iniziare. Se invece il tuo laptop o server di test ha già libvirt/KVM configurati, KVM2 è una scelta pulita. Evita di improvvisare con driver diversi a ogni tentativo: scegli uno, verifica che funzioni, poi eventualmente cambi strada.
Prerequisiti minimi su Ubuntu 22.04 LTS
Per installare Minikube servono tre componenti: curl per scaricare i binari, kubectl per interagire con il cluster e un driver operativo. In aggiunta, conviene aggiornare l’indice pacchetti prima di iniziare e controllare che il sistema abbia spazio e RAM sufficienti. Un cluster locale può partire anche con poco, ma appena installi addon o immagini più pesanti si nota subito la mancanza di risorse.
Verifica la versione del sistema e lo stato generale prima di procedere, soprattutto se stai lavorando su una macchina usata anche per altro:
lsb_release -a
free -h
df -h /
uname -rSe free -h mostra poca RAM libera o df -h segnala il filesystem quasi pieno, è meglio risolvere prima. Minikube può partire, ma poi si inceppa su pull immagini, addon o componenti di sistema.
Installazione di kubectl e Minikube
Il metodo più lineare è installare i binari ufficiali. Su Ubuntu 22.04 non serve complicarsi con repository aggiuntivi se il tuo obiettivo è un setup pulito e ripetibile. Per kubectl puoi usare il pacchetto ufficiale o scaricare il binario; per Minikube il binario ufficiale è di solito la strada più semplice.
Comandi tipici:
sudo apt update
sudo apt install -y curl conntrack socat ebtablesI pacchetti sopra coprono dipendenze utili per il funzionamento del nodo locale e per la gestione della rete del cluster. Se stai usando Docker come driver, aggiungi anche l’installazione del motore Docker prima di proseguire. Se preferisci KVM2, assicurati che libvirt e i moduli di virtualizzazione siano presenti.
Installa kubectl e Minikube con i binari ufficiali:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
rm -f kubectl curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install -o root -g root -m 0755 minikube-linux-amd64 /usr/local/bin/minikube
rm -f minikube-linux-amd64Dopo l’installazione, controlla le versioni. È un controllo banale, ma ti evita di scoprire a metà strada che il binario non è finito nel PATH o che hai scaricato una versione inattesa:
kubectl version --client
minikube versionAvvio rapido con driver Docker
Se Docker è già installato e funzionante, il primo avvio è semplice. Verifica prima che il demone risponda:
docker version
docker psSe i comandi falliscono, non ha senso lanciare Minikube: il problema è nel layer Docker, non in Kubernetes. Una volta confermato che Docker funziona, avvia Minikube:
minikube start --driver=dockerAl termine, minikube imposta il contesto di kubectl sul cluster locale. Il controllo minimo è questo:
kubectl config current-context
kubectl get nodes
kubectl get pods -AIl nodo dovrebbe risultare Ready. Se vedi NotReady, la causa più comune è un avvio incompleto dei componenti di sistema o una dipendenza di rete non disponibile. In quel caso conviene guardare subito lo stato di Minikube e i log del nodo.
minikube status
minikube logs --file=minikube.logAvvio con KVM2 quando vuoi una VM dedicata
Se vuoi usare KVM2, prima devi assicurarti che il sistema supporti la virtualizzazione hardware e che i pacchetti corretti siano presenti. I controlli utili sono questi:
egrep -c '(vmx|svm)' /proc/cpuinfo
lsmod | grep kvm
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients virtinst bridge-utilsSe il primo comando restituisce 0, il processore o il BIOS/UEFI non espongono la virtualizzazione. Se il modulo kvm non è caricato, il problema è più a valle: può essere un modulo non installato, un BIOS disabilitato o un ambiente già virtualizzato senza nesting abilitato.
Con i prerequisiti a posto, avvia Minikube con il driver KVM2:
minikube start --driver=kvm2Se il tuo utente non fa parte dei gruppi necessari, puoi trovarti davanti a errori di permesso su libvirt. In quel caso non forzare con sudo a caso: controlla i gruppi e l’accesso al socket di libvirt.
groups
ls -l /var/run/libvirt/libvirt-sockQuando aggiungi l’utente a un gruppo, fai logout e login prima di ritentare. È uno di quei dettagli che sembrano banali e invece bloccano metà delle installazioni locali.
Verifica del cluster e primo workload
Appena il cluster è up, non fermarti a kubectl get nodes. Fai un controllo più realistico con un deployment semplice e un’esposizione temporanea. Un test minimale è creare un pod NGINX e verificare che il traffico arrivi al container.
kubectl create deployment nginx --image=nginx
kubectl get deployment,pod -o wide
kubectl expose deployment nginx --type=NodePort --port=80
kubectl get svc nginxPer accedere al servizio in modo rapido, usa il tunnel o il comando dedicato di Minikube:
minikube service nginx --urlSe il servizio risponde, hai confermato che scheduling, rete di base e service discovery funzionano. Se invece il pod resta in Pending, il nodo non ha risorse sufficienti o il driver scelto non sta allocando correttamente CPU e memoria.
Addon utili: ingress, metrics-server e dashboard
Minikube è utile quando abiliti gli addon che ti servono davvero. Due componenti ricorrenti sono ingress e metrics-server. Il primo serve per testare routing HTTP verso più servizi; il secondo ti dà visibilità su consumo di CPU e memoria, utile per capire se il cluster locale è saturo.
Abilitazione tipica:
minikube addons enable ingress
minikube addons enable metrics-server
minikube addons listSe usi la dashboard, ricordati che è uno strumento di supporto, non il sostituto dei log e dei descrittori Kubernetes. Avviala solo quando ti serve:
minikube dashboardPer un controllo più preciso, resta su kubectl describe e sui log dei pod. La dashboard aiuta a visualizzare, ma non sempre spiega il perché di un errore.
Problemi comuni e lettura rapida dei sintomi
Se Minikube non parte, il layer da controllare dipende dal sintomo. Se fallisce subito con errori di driver, il problema è tra host e runtime. Se il nodo parte ma i pod restano bloccati, il problema è più spesso nel nodo stesso, nelle immagini o nella rete. Se kubectl non vede il cluster, il contesto o la configurazione locale sono la prima cosa da verificare.
Tre controlli rapidi risolvono molti casi:
Contesto corrente:
kubectl config current-context. Se non èminikube, stai parlando con il cluster sbagliato.Stato del profilo:
minikube status. Se componenti comeapiserverokubeletsono down, il problema è nel bootstrap.Log del cluster:
minikube logs. Se vedi errori di pull immagini, spazio disco o cgroup, hai già una traccia concreta.
Un caso frequente su laptop Ubuntu è il conflitto tra container runtime già presenti e driver scelto male. Per esempio, se Docker è installato ma non attivo, Minikube con driver Docker fallisce in modo poco elegante. In quel caso o avvii Docker correttamente oppure passi a KVM2, ma non mescolare le due strade senza ordine.
Aggiornamento, pulizia e rimozione
Quando ti serve aggiornare Minikube, il modo più semplice è sostituire il binario con una versione nuova. Prima però verifica la release che stai usando e se il cluster locale contiene dati o test che ti interessa conservare. In ambienti di laboratorio questo non è quasi mai un problema; in ambienti condivisi, invece, un cleanup distratto può cancellare configurazioni utili.
minikube delete
sudo rm -f /usr/local/bin/minikube /usr/local/bin/kubectlLa rimozione del cluster con minikube delete elimina lo stato locale del profilo. È il comando giusto quando vuoi ripartire da zero, ma va usato con consapevolezza: se hai caricato immagini locali o manifest di test, perdi tutto ciò che era legato a quel profilo.
Configurazione pratica consigliata per partire bene
Se vuoi una baseline ragionevole su Ubuntu 22.04 LTS, questa è la sequenza che di solito evita sorprese: aggiorna il sistema, installa i prerequisiti, scegli il driver in base al runtime disponibile, avvia Minikube, verifica il nodo e lancia un deployment semplice. È una sequenza corta, ma ogni passaggio valida il precedente. Saltarla non fa guadagnare tempo: di solito sposta solo l’errore più avanti.
In sintesi operativa: Docker se hai già il demone pronto e vuoi velocità; KVM2 se preferisci una VM dedicata e un isolamento più netto. In entrambi i casi, il criterio non cambia: prima osservi lo stato del sistema, poi avvii il cluster, poi controlli che kubectl stia parlando con il nodo giusto e che almeno un workload banale venga schedulato e raggiunto.
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.