Per anni le risposte a “come guardo il mio cluster senza digitare kubectl” erano due. O si installava kubernetes-dashboard, o si installava Lens. Entrambe le risposte sono scadute.
Il repository di Dashboard è stato archiviato il 21 gennaio 2026. L’avviso in cima al README è breve:
This project is now archived and no longer maintained due to lack of active maintainers and contributors.
Lo stesso README indica il successore: Headlamp, “una web UI per Kubernetes facile da usare ed estendibile”. L’ultima release, la 7.14.0, è di ottobre 2025 e si installa ancora senza problemi. È però anche software con un service account dentro il tuo cluster e senza nessuno che ne pubblichi più le correzioni di sicurezza.
Lens non è morto, si è spostato verso l’alto. Il vecchio k8slens.dev oggi reindirizza a lenshq.io, dove il piano Personal resta gratuito “per studenti, appassionati e ingegneri di piccole organizzazioni” - con una nota che specifica come le organizzazioni oltre i 10 milioni di dollari di fatturato o finanziamento annuo debbano passare a un piano a pagamento dopo 30 giorni di valutazione. A pagamento significa 25 dollari per postazione al mese con abbonamento annuale, 30 dollari con fatturazione mensile e 50 dollari per postazione per Enterprise. Lens Desktop vuole inoltre un Lens ID: l’attivazione passa da un account, con un codice di attivazione scaricabile come strada documentata per le macchine isolate.
Quindi: un’opzione senza manutenzione, l’altra che chiede carta di credito e login. Ecco cosa resta davvero, e quanto costa sulla tua macchina.
La rosa dei candidati
| Versione | Licenza | Chi lo mantiene | Prezzo | |
|---|---|---|---|---|
| k9s | 0.51.0 | Apache-2.0 | derailed/k9s, ~35k stelle | gratis |
| Headlamp | 0.46.0 | Apache-2.0 | kubernetes-sigs, SIG UI; nella CNCF dal 2023 a livello Sandbox | gratis |
| FreeLens | 2.0.0 | MIT | progetto comunitario freelensapp | gratis |
| Lens Desktop | attuale | proprietaria | LensHQ | Personal con limiti, 25-60 $/postazione/mese |
| Dashboard | 7.14.0 | Apache-2.0 | archiviato il 21.01.2026 | gratis, non mantenuto |
Due di questi sono quelli interessanti. Headlamp è il progetto a cui Dashboard stesso rimanda, vive sotto kubernetes-sigs e gira sia come applicazione desktop sia dentro il cluster dietro un browser. FreeLens è la continuazione comunitaria di OpenLens - il nucleo open source su cui Lens è cresciuto prima che il prodotto finisse dietro un account; il nome OpenLens compare ancora circa tremila volte nei suoi sorgenti. È un’app desktop autonoma sotto MIT, senza alcun account.
E k9s, che non è affatto una GUI. È un’interfaccia da terminale, e questo pesa più di quanto sembri.
Quanto costano prima di mostrare qualcosa
Abbiamo installato tutti e tre su una sola macchina Linux x86-64, puntata sullo stesso cluster - Kubernetes 1.33.1, 47 pod su tutti i namespace - e misurato.
| Download | Su disco | Processi | RSS | PSS | |
|---|---|---|---|---|---|
| k9s | 41 MB | 127 MB | 1 | 105 MB | 105 MB |
| Headlamp desktop | 150 MB | 404 MB | 7 | 747 MB | 379 MB |
| FreeLens | 157 MB | 588 MB | 6 | 765 MB | 428 MB |
| ROZOOM (nostro) | 50 MB | 151 MB | 3 | 425 MB | 214 MB |
Due numeri per la memoria, perché per le app Electron solo uno dei due è onesto. L’RSS conta ogni pagina residente di ogni processo dell’albero, quindi le librerie Chromium condivise finiscono contate sei o sette volte. Il PSS divide le pagine condivise tra i processi che le usano, ed è il numero che riflette davvero quanto l’applicazione sottrae al resto della macchina. Per k9s i due coincidono, perché k9s è un processo solo.
Rileggi la colonna PSS: le due app desktop costano 380-430 MB prima di mostrare un singolo pod. Le misure sono state prese sulla schermata iniziale - Headlamp sull’elenco dei cluster, FreeLens sulla pagina di benvenuto - con il kubeconfig caricato e niente aperto. k9s è stato misurato con l’elenco completo di tutti i 47 pod a schermo e in aggiornamento.
È la tariffa base di Electron, e non è un rimprovero a nessuno dei due progetti: è il costo di distribuire un motore di browser insieme alla propria applicazione. È semplicemente un costo da conoscere prima di lasciarne una aperta tutto il giorno accanto all’IDE.
L’ultima riga è un nostro prodotto, quindi leggila tenendone conto: sviluppiamo ROZOOM, un IDE Kubernetes desktop. Mancava nella prima versione di questo articolo perché il nostro primo tentativo di misura non aveva reso l’interfaccia nel banco di prova headless. Il 31 ottobre l’abbiamo misurato allo stesso modo, sulla stessa macchina e con la stessa versione del cluster: schermata iniziale, kubeconfig presente, niente di aperto. Tre esecuzioni hanno dato 211-216 MB di PSS. È più leggero perché è costruito su Tauri e usa il WebKitGTK di sistema invece di portarsi dietro un proprio Chromium. Ed è anche il limite: WebKitGTK non rientra nelle colonne download e disco, perché sulla macchina era già installato, e un sistema che non ce l’ha deve installarlo. I numeri si riferiscono al pacchetto slim; il pacchetto offline completo pesa 497 MB. Se vuoi verificare i nostri numeri da solo: rozoom.app.
Lo stesso strumento, nel cluster, per 28 MB
Headlamp ha una seconda modalità che il confronto desktop nasconde. Il deployment nel cluster esegue headlamp-server come un normale pod e serve la stessa identica UI a un browser:
| Immagine | RSS del container | |
|---|---|---|
| Headlamp nel cluster | 259 MB | 28,7 MB |
Ventinove megabyte, misurati sul nodo mentre il deployment era in esecuzione. Lo stesso progetto che da applicazione desktop costa 380 MB di PSS, da server costa 29 MB di memoria del cluster, e poi ogni persona del team lo apre in una scheda di un browser già avviato.
Il prezzo si paga in autenticazione. L’app desktop riusa il kubeconfig già presente sul portatile. Il deployment nel cluster richiede un token di service account - quindi sei tu a decidere cosa quell’account può toccare, e ti serve un modo per raggiungere il servizio. Sono mezz’ora di RBAC e ingress che all’app desktop non devi. Per un team è mezz’ora ben spesa; per una persona sola su un cluster è puro sovraccarico.
Come scegliere
Vivi nel terminale, o i cluster stanno dietro un bastion. k9s. Un binario statico, un processo, 105 MB, e funziona via SSH dove nessuna app desktop può seguirti. È anche l’unico qui che non costa nulla in più quando sei già in una shell.
Vuoi una UI nel browser per un team. Headlamp nel cluster. È il progetto a cui Dashboard ha passato il testimone, sta in kubernetes-sigs, e a 29 MB per cluster la discussione sulle risorse finisce prima di cominciare. Metti in conto il lavoro di RBAC.
Vuoi il flusso di lavoro di Lens e hai smesso di pagarlo. FreeLens. MIT, nessun account, nessuna attivazione, release costanti - la 2.0.0 è uscita due giorni prima di questo testo. È la riga più pesante della tabella, ma è pesante esattamente come lo era Lens, ed è proprio quello che la gente cerca.
Sei già cliente Lens con SSO e funzioni di team. Resta. Niente qui sostituisce l’offerta a pagamento; le alternative gratuite sostituiscono il piano gratuito.
Stavi per installare kubernetes-dashboard. Non farlo. Non perché abbia smesso di funzionare, ma perché è una web UI non mantenuta che tiene un service account nel tuo cluster, e quello è un debito di un tipo molto particolare.
Cosa non abbiamo misurato
I limiti onesti della tabella qui sopra:
- Nessun tempo di avvio. Il nostro cluster di prova oscillava tra Ready e NotReady durante la sessione, il che rende privo di senso qualsiasi numero sul “tempo al primo render”. Li abbiamo tolti invece di pubblicare misure non riproducibili.
- Nessuna crescita della memoria nel tempo. Queste sono impronte all’avvio, non dopo otto ore con venti schede di log aperte. Le app desktop cresceranno; di quanto, è un altro articolo.
- Solo Linux. Le build macOS e Windows delle stesse versioni sono impacchettate in modo diverso e non coincideranno con questi numeri.
- Non abbiamo testato Lens Desktop. L’attivazione richiede un account, e non ne avremmo creato uno per produrre un dato di memoria. La sua riga qui sopra descrive la licenza, presa dalla sua pagina dei prezzi.
Domande frequenti
kubernetes-dashboard è morto? Il repository è archiviato e in sola lettura dal 21 gennaio 2026, con i manutentori che citano la mancanza di manutentori e contributori attivi. La release 7.14.0 si installa e funziona ancora. Non riceverà correzioni di sicurezza, ed è questo che conta per qualcosa che detiene credenziali del cluster.
Cosa ha sostituito il Kubernetes Dashboard?
Headlamp, secondo il README di Dashboard stesso. Vive in kubernetes-sigs sotto SIG UI ed è entrato nella CNCF nel 2023 a livello Sandbox. Funziona sia come app desktop sia nel cluster dietro un browser.
Lens è ancora gratuito? Esiste ancora un piano Personal gratuito, descritto per studenti, appassionati e ingegneri di piccole organizzazioni, con una nota che esclude le organizzazioni oltre i 10 milioni di dollari di fatturato o finanziamento passati i 30 giorni di valutazione. I piani a pagamento partono da 25 dollari per postazione al mese con fatturazione annuale. Lens Desktop si attiva con un account Lens ID.
Che cos’è FreeLens? Una UI desktop per Kubernetes gratuita e con licenza MIT, costruita da un progetto comunitario sulla base di codice di OpenLens - il nucleo open source su cui Lens poggiava. Nessun account, nessuna attivazione. La versione 2.0.0 è uscita il 28 ottobre 2026.
Quale GUI per Kubernetes consuma meno memoria? Delle tre misurate, k9s con 105 MB - ed è una UI da terminale, non una GUI. Tra le opzioni grafiche, Headlamp installato nel cluster è la più leggera di un ordine di grandezza: 29 MB sul nodo, con l’interfaccia renderizzata da un browser che hai già aperto.
Non basta kubectl? Sì, e per tutto ciò che è scriptato è quello che va usato. Le interfacce si guadagnano il posto sull’altro lavoro: passare in rassegna trenta namespace per trovare l’unico pod che sta male, seguire i log attraverso i riavvii e dare a chi non vive nel terminale un modo di guardare senza un foglietto di comandi.
Cosa viene dopo
Chi sceglie una UI di solito sceglie anche a cosa si collega. Gli articoli compagni: il confronto tra VPS per la macchina sottostante e Docker in produzione per il livello ancora sotto.