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 den Garden‑Cluster herunterladen.
2. gardenlogin konfigurieren
- Wählen Sie Ihr "Project" im Dropdown-Menü auf der linken Seite aus.
- Gehen Sie zu "CLUSTERS" und wählen Sie Ihren Cluster aus der Liste aus.
- Öffnen Sie unter "Access" über das Info‑Symbol die Hinweise zur "Kubeconfig - Gardenlogin" und folgen Sie diesen.
- Wichtig: Verwenden Sie die zuvor heruntergeladene
kubeconfigfür "path-to-garden-cluster-kubeconfig". NICHT diekubeconfigfür den Shoot‑Cluster verwenden.
Kubeconfig für den Shoot-Cluster konfigurieren.
gardenctl target-Befehl nutzen
- Über "Access" durch einen Klick auf "Copy to clipboard" bei dem Punkt "Target Cluster" den Befehl kopieren.
- Führen Sie den Befehl im Terminal aus (Beispiel):
gardenctl target --garden prod --project cXXXXX-X --shoot mycluster
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.