Kubectl Konfiguration
Das Tool
kubectl wird
für die direkte Kommunikation mit einer Kubernetes API benötigt.
Um mit der API kommunizieren zu können wird eine Konfigurationsdatei benötigt
(KUBECONFIG) in der die Informationen zur API, wie die Adresse, Benutzer,
Kennwort oder Zertifikate enthalten sind. Die Konfigurationdatei wird in der
Regel in der Datei ~/.kube/config abgelegt. Alternativ kann die
Umgebungsvariable KUBECONFIG gesetzt werden um eine alternative
Konfigurationsdatei angeben zu können.
KUBECONFIG Dateien zusammenfassen
Statt mehrere Konfigurationsdateien zu führen ist es Sinnvoll die Konfigurationsdaten in eine Datei zusammen zu fassen.
Auf Grund des Formats können die Dateien nicht einfach zusammenkopiert werden. Die einzelnen Daten müssen in die jeweiligen Sektionen der Konfigurationdatei verteilt werden.
Mit dem folgenden Workflow ist es möglich dies teilweise zu automatisieren.
- Erstellen einer Kopie der aktuellen Konfigurationsdatei (es wird von
~/.kube/configausgegangen) - Setzen der Variable
KUBECONFIGauf die kopierte Datei und die neue Datei (/tmp/kube_config). Weitere Dateien können durch Doppelpunkt getrennt angegeben werden - Ausgeben der Kopie und der zusätzlichen Datei, oder Dateien über
kubectlin die Datei~/.kube/config. - Löschen der temporären Dateien
- Löschen der Variable
KUBECONFIG
Auswählen des Context
Sobald die Konfigurationsdatei für kubectl mehr als einen Eintrag enthält,
kann der Context in dem gearbeitet werden soll gewechselt werden.
Dies geschieht entweder durch das Festlegen eines Default Context:
Oder durch die Nutzung des Parameters --context bei kubectl oder anderen
Befehlen wie z. B. flux, die dies unterstützen.
Über den Befehl kubectl config get-contexts lässt sich eine Liste der
verfügbaren Umgebungen anzeigen.