Zum Hauptinhalt springen

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, Seed und Shoot Clustern.

Verbindung zu einem Shoot‑Cluster herstellen

Voraussetzung

  1. Sie sind im Gardener Dashboard angemeldet.
  2. kubelogin ist installiert.
  3. gardenlogin ist installiert.

Einrichten von gardenlogin

1. kubeconfig für den Garden-Cluster herunterladen

  1. Gehen Sie im Dashboard zu "MY ACCOUNT", indem Sie auf das Benutzer-Icon klicken.
  2. Im Abschnitt "Access" können Sie die kubeconfig für unseren Gardener herunterladen.
info

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
info

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.