Aggiornare il file .kubeconfig
Hai un nuovo cluster Kubernetes da gestire, e devi aggiornare il tuo kubeconfig?
Niente paura: per evitare un noioso e pericoloso copia&incolla, è possibile unire un nuovo file kubeconfig nella tua configurazione esistente seguendo questi passaggi:
Assicurati di avere un file kubeconfig contenente le informazioni sul cluster, sull’utente e sul contesto che desideri aggiungere. Immaginiamo che il kubeconfig da aggiungere si chiami
cluster-config
😭.Apri il tuo terminale preferito e imposta la variabile d’ambiente
KUBECONFIG
per includere il percorso al tuo file esistente~/.kube/config
e al nuovo filecluster-config
, separati da due punti (sistemi Unix-like) o punto e virgola (Windows):export KUBECONFIG=~/.kube/config:/path/to/cluster-config # Unix $Env:KUBECONFIG = "$Env:USERPROFILE\.kube\config;C:\path\to\cluster-config" # Windows
Questo indica a kubectl di unire le configurazioni dai due file specificati.
Esegui il comando
kubectl config view --merge --flatten
per visualizzare la configurazione dei due file prima del merge. L’opzione--flatten
comprime l’output in un singolo oggetto di configurazione.
Una volta controllato che sia tutto a posto, possiamo salvare il contenuto dell’output in un nuovo file chiamato kubeconfig-new
:
kubectl config view --merge --flatten > kubeconfig-new # Unix
kubectl config view --flatten | Out-File -FilePath "$Env:.\kubeconfig-new" #Windows
- A questo punto, rinomina il vecchio file
config-old
(per sicurezza) e copia il file generato in precedenza dentro la cartella~/.kube/
al posto dell’attualeconfig
.
Verifica la configurazione
Esegui kubectl config get-contexts
per elencare tutti i contesti disponibili, incluso quello nuovo: se viene riportato nell’output, sei sulla buona strada!
Per cambiare contesto e passare a quello del nuovo cluster, esegui kubectl config use-context <nome-nuovo-contesto>
e poi esegui kubectl cluster-info
per verificare di poter accedere al nuovo cluster.
Ecco fatto! Hai unito con successo una nuova configurazione del cluster nel tuo file ~/.kube/config
. Ora puoi facilmente passare tra i contesti utilizzando kubectl config use-context
e accedere a diversi cluster di lavoro 🚀