Afhankelijk van je use case kan het zijn dat je meerdere Kubernetes-clusters wil gebruiken, maar... hoe werkt dat? Gelukkig vrij eenvoudig:
Voor elk cluster dat je wilt beheren, heb je een Kubeconfig-bestand nodig. Dit bestand bevat de informatie die Kubectl nodig heeft om verbinding te maken met een cluster. Door meerdere Kubeconfig-bestanden samen te voegen, kun je tussen meerdere clusters wisselen met Kubectl.
- Voor de stappen in deze handleiding heb je Kubectl nodig. Installeer Kubectl eerst als je dat nog niet gedaan hebt.
- Heb je onze Kubernetes quickstart-handleiding nog niet doorlopen? Doorloop dan eerst voor Windows-gebruikers stap 1 en 2 en voor Mac/Linux gebruikers stap 1.
Kubeconfig-bestanden samenvoegen
Je kunt meerdere Kubeconfig-bestanden samenvoegen in één bestand. Dit doe je door de KUBECONFIG omgevingsvariabele te gebruiken en met een Kubectl-commando de bestanden samen te voegen.
Stap 1
Download de Kubeconfig-bestanden van al je clusters vanuit het controlepaneel (via deze link > klik op je cluster > 'Download kubeconfig') en sla het bestand op in een willekeurige directory. Dat mag al de directory %USERPROFILE%\.kube zijn voor Windows of ~\.kube voor Linux/MacOS.
Pas de naam van de bestanden niet aan (ze lijken op kube-k123a.yml).
Stap 2
Exporteer de KUBECONFIG environment variabele. Vergeet niet daarbij de directory en bestandsnamen aan te passen naar respectievelijk de directory waar je de bestanden hebt opgeslagen en de gedownloade bestandsnamen.
Windows:
Start Powershell (Windows start-knop > zoeken op 'Powershell' > rechter muisknop en selecteer 'Run as administrator') en geef het volgende commando op (maar dan met je eigen gegevens):
$env:KUBECONFIG="C:\Users\TransIP\.kube\config-k8kk8.yml;C:\Users\TransIP\.kube\config-k123a.yml"
Linux/MacOS:
Voer het volgende commando uit via command-line (maar dan met je eigen gegevens):
export KUBECONFIG=~/.kube/config-k8kk8.yml:~/.kube/config-k8kk8.yml
Stap 3
Voeg tot slot de verschillende Kubeconfig-bestanden samen met het commando:
kubectl config view --flatten > ~/.kube/config
That's it! Je kunt nu tussen je clusters wisselen. Hoe dat werkt laten we in de volgende paragraaf zien.
Wisselen tussen Kubernetes-clusters
Nu je meerdere clusters in je Kubeconfig-bestand hebt opgenomen, kun je tussen ze wisselen met het kubectl config use-context commando.
Stap 1
Bekijk de beschikbare contexten met het commando:
kubectl config get-contexts
Je krijgt een lijst te zien van alle contexten (in deze context je clusters) in je kubeconfig-bestand.
Stap 2
Om een context te gebruiken (en dus om te wisselen naar het bijbehorende cluster), voer je de volgende opdracht uit:
kubectl config use-context cluster-k8kk8
Vervang cluster-k8kk8-context door de naam van de context die je wilt gebruiken. Doorgaans zal dit de naam van je cluster zijn.
En dat is het! Je kunt nu meerdere Kubernetes-clusters beheren met Kubectl. De huidige context kun je altijd controleren met het commando:
kubectl config current-context