Kubectl Verbindung
Überblick
In Kubernetes liegt die Konfigurationsdatei für den Zugriff auf Ihren Cluster im Format kubeconfig vor – ein Dateiformat, das sensible Informationen enthält. Behandeln Sie eine kubeconfig daher stets vertraulich. Tools wie kubectl verwenden diese Datei, um sich mit einem Cluster zu verbinden, zu authentifizieren und Operationen darauf auszuführen.
Tools
- kubectl: CLI Tool für den Zugriff auf Kubernetes-Cluster. Es ermöglicht das Erstellen, Modifizieren und Abrufen des Status von Ressourcen.
- kubelogin: Ein
kubectl-Credential-Plugin zur OIDC-Authentifizierung. - gardenlogin: Ein
kubectl-Credential-Plugin zur Shoot-Cluster-Authentifizierung. - gardenctl: CLI Tool zur Administrierung von
Garden,SeedundShootClustern.
Verbindung zu einem Shoot‑Cluster herstellen
Voraussetzung
- Sie sind im Gardener Dashboard angemeldet.
kubeloginist installiert.gardenloginist installiert.
Einrichten von gardenlogin
1. kubeconfig für den Garden-Cluster herunterladen
- Gehen Sie im Dashboard zu "MY ACCOUNT", indem Sie auf das Benutzer-Icon klicken.
- Im Abschnitt "Access" können Sie die
kubeconfigfür unseren Gardener herunterladen.
Die heruntergeladene kubeconfig dient der Authentifizierung gegenüber unserem System (Gardener) via Kubelogin, nicht ihrem Cluster (Shoot)
2. gardenlogin konfigurieren
Legen Sie eine Konfigurationsdatei unter ~/.garden/gardenctl-v2.yaml mit folgendem Inhalt an:
gardens:
- identity: scaleup
kubeconfig: <pfad-zur-heruntergeladenen-kubeconfig>
Kubeconfig für den Shoot-Cluster konfigurieren.
gardenctl target-Befehl nutzen
Führen Sie folgenden Befehl im Terminal aus:
gardenctl target --garden scaleup --project cXXXXX-X --shoot mycluster
Ersetzen Sie cXXXXX-X durch ihren Projektnamen und mycluster durch den Clusternamen
Erfolgsmeldung:
Successfully targeted shoot "mycluster"
Durch dieses Kommando wird die Umgebungsvariable KUBECONFIG auf das entsprechende Cluster gesetzt (dies kann mit gardenctl target view -o yaml überprüft werden). Danach können Sie kubectl-Befehle gegen Ihren Shoot‑Cluster ausführen, z. B.:
kubectl get namespaces
Wenn KUBECONFIG nicht korrekt gesetzt ist
Falls KUBECONFIG nicht automatisch angepasst wurde, sehen Sie eine Warnung wie:
WARN The KUBECONFIG environment variable does not point to the current target of gardenctl. Run `gardenctl kubectl-env --help` on how to configure the KUBECONFIG environment variable accordingly
In diesem Fall nutzen Sie den folgenden Befehl:
- für
bash:
eval "$(gardenctl kubectl-env bash)"
- für
zsh:
eval "$(gardenctl kubectl-env zsh)"
Für andere Shells siehe die Dokumentation via gardenctl kubectl-env --help.