Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Zugriff auf einen Cluster mit Kubectl und kubeconfig

Dieser Abschnitt beschreibt, wie Sie Ihren Downstream-Kubernetes-Cluster mit kubectl über die Rancher-Benutzeroberfläche oder von Ihrem Arbeitsplatz aus verwalten können.

Für weitere Informationen zur Verwendung von kubectl siehe Kubernetes-Dokumentation: Übersicht über kubectl.

Zugriff auf Cluster mit der kubectl-Shell in der Rancher-Benutzeroberfläche

Sie können auf Ihre Cluster zugreifen und diese verwalten, indem Sie sich bei Rancher anmelden und die kubectl-Shell in der Benutzeroberfläche öffnen. Keine weitere Konfiguration erforderlich.

  1. Klicken Sie auf ☰ > Clusterverwaltung.

  2. Gehen Sie zu dem Cluster, auf den Sie mit kubectl zugreifen möchten, und klicken Sie auf Erkunden.

  3. Klicken Sie im oberen Navigationsmenü auf die Schaltfläche Kubectl-Shell. Verwenden Sie das sich öffnende Fenster, um mit Ihrem Kubernetes-Cluster zu interagieren.

Zugriff auf Cluster mit kubectl von Ihrem Arbeitsplatz

Dieser Abschnitt beschreibt, wie Sie die kubeconfig-Datei Ihres Clusters herunterladen, kubectl von Ihrem Arbeitsplatz aus starten und auf Ihren Downstream-Cluster zugreifen.

Diese alternative Methode zum Zugriff auf den Cluster ermöglicht es Ihnen, sich bei Rancher zu authentifizieren und Ihren Cluster zu verwalten, ohne die Rancher-Benutzeroberfläche zu verwenden.

Voraussetzungen:

Diese Anweisungen setzen voraus, dass Sie bereits einen Kubernetes-Cluster erstellt haben und dass kubectl auf Ihrem Arbeitsplatz installiert ist. Für Hilfe bei der Installation von kubectl verweisen Sie auf die offizielle Kubernetes-Dokumentation.

  1. Klicken Sie auf in der oberen linken Ecke.

  2. Wählen Sie Clusterverwaltung.

  3. Suchen Sie den Cluster, dessen kubeconfig Sie herunterladen möchten, und wählen Sie am Ende der Zeile aus.

  4. Wählen Sie Download KubeConfig aus dem Untermenü.

  5. Speichern Sie die YAML-Datei auf Ihrem lokalen Computer. Bewegen Sie die Datei nach ~/.kube/config. Hinweis: Der Standardort, den kubectl für die kubeconfig-Datei verwendet, ist ~/.kube/config, aber Sie können jedes Verzeichnis verwenden und es mit dem --kubeconfig Flag angeben, wie in diesem Befehl:

      kubectl --kubeconfig /custom/path/kube.config get pods
  6. Starten Sie kubectl von Ihrem Arbeitsplatz aus. Verwenden Sie es, um mit Ihrem Kubernetes-Cluster zu interagieren.

Hinweis zu mit kubectl erstellten Ressourcen

Rancher wird Ressourcen entdecken und anzeigen, die von kubectl erstellt wurden. Diese Ressourcen haben jedoch möglicherweise nicht alle erforderlichen Annotationen bei der Entdeckung. Wenn eine Operation (zum Beispiel das Skalieren der Arbeitslast) an der Ressource über die Rancher UI/API durchgeführt wird, kann dies die Neuerstellung der Ressourcen aufgrund der fehlenden Annotationen auslösen. Dies sollte nur beim ersten Mal passieren, wenn eine Operation an der entdeckten Ressource durchgeführt wird.

Direkte Authentifizierung mit einem Downstream-Cluster

Dieser Abschnitt soll Ihnen helfen, eine alternative Methode zum Zugriff auf ein von Rancher gestartetes Cluster einzurichten.

Diese Methode ist nur für RKE2- und K3s-Cluster verfügbar, die den autorisierte Cluster-Endpunkt aktiviert haben. Wenn Rancher das Cluster erstellt, generiert es eine kubeconfig-Datei, die zusätzliche kubectl-Kontext(e) für den Zugriff auf Ihr Cluster enthält. Dieser zusätzliche Kontext ermöglicht es Ihnen, kubectl zu verwenden, um sich beim Downstream-Cluster zu authentifizieren, ohne sich über Rancher zu authentifizieren. Für eine ausführlichere Erklärung, wie der autorisierte Cluster-Endpunkt funktioniert, siehe diese Seite.

Bei RKE2- und K3s-Clustern müssen Sie autorisierte Cluster-Endpunkte manuell aktivieren.

Wir empfehlen als bewährte Praxis, diese Methode einzurichten, um auf Ihre RKE2- und K3s-Cluster zuzugreifen, damit Sie, falls Sie keine Verbindung zu Rancher herstellen können, dennoch auf das Cluster zugreifen können.

Voraussetzungen:

Die folgenden Schritte setzen voraus, dass Sie ein Kubernetes-Cluster erstellt und die Schritte befolgt haben, um von Ihrem Arbeitsplatz aus mit kubectl eine Verbindung zu Ihrem Cluster herzustellen.

Um den Namen des Kontextes in Ihrer heruntergeladenen kubeconfig-Datei zu finden, führen Sie Folgendes aus:

kubectl config get-contexts --kubeconfig /custom/path/kube.config
CURRENT   NAME                        CLUSTER                     AUTHINFO     NAMESPACE
*         my-cluster                  my-cluster                  user-46tmn
          my-cluster-controlplane-1   my-cluster-controlplane-1   user-46tmn

In diesem Beispiel, wenn Sie kubectl mit dem ersten Kontext my-cluster verwenden, werden Sie über den Rancher-Server authentifiziert.

Mit dem zweiten Kontext my-cluster-controlplane-1 würden Sie sich mit dem autorisierten Cluster-Endpunkt authentifizieren und direkt mit einem Downstream-RKE2/K3s-Cluster kommunizieren.

Wir empfehlen die Verwendung eines Lastenausgleichers mit dem autorisierten Cluster-Endpunkt. Für Details siehe den empfohlenen Architekturabschnitt.

Jetzt, da Sie den Namen des Kontexts haben, der benötigt wird, um sich direkt mit dem Cluster zu authentifizieren, können Sie den Namen des Kontexts als Option beim Ausführen von kubectl-Befehlen übergeben. Die Befehle unterscheiden sich je nachdem, ob Ihr Cluster einen FQDN definiert hat. Beispiele werden in den folgenden Abschnitten bereitgestellt.

Wenn kubectl normal funktioniert, bestätigt dies, dass Sie auf Ihren Cluster zugreifen können, während Sie den Authentifizierungs-Proxy von Rancher umgehen.

Direkte Verbindung zu Clustern mit definiertem FQDN

Wenn ein FQDN für den Cluster definiert ist, wird ein einzelner Kontext erstellt, der auf den FQDN verweist. Der Kontext wird <CLUSTER_NAME>-fqdn genannt. Wenn Sie kubectl verwenden möchten, um auf diesen Cluster ohne Rancher zuzugreifen, müssen Sie diesen Kontext verwenden.

Vorausgesetzt, die kubeconfig-Datei befindet sich unter ~/.kube/config:

kubectl --context <CLUSTER_NAME>-fqdn get nodes

Direktes Verweisen auf den Speicherort der kubeconfig-Datei:

kubectl --kubeconfig /custom/path/kube.config --context <CLUSTER_NAME>-fqdn get pods

Direkte Verbindung zu Clustern ohne definierten FQDN

Wenn kein FQDN für den Cluster definiert ist, werden zusätzliche Kontexte erstellt, die auf die IP-Adresse jedes Knotens in der Steuerungsebene verweisen. Jeder Kontext wird <CLUSTER_NAME>-<NODE_NAME> genannt. Wenn Sie kubectl verwenden möchten, um auf diesen Cluster ohne Rancher zuzugreifen, müssen Sie diesen Kontext verwenden.

Vorausgesetzt, die kubeconfig-Datei befindet sich unter ~/.kube/config:

kubectl --context <CLUSTER_NAME>-<NODE_NAME> get nodes

Direktes Verweisen auf den Speicherort der kubeconfig-Datei:

kubectl --kubeconfig /custom/path/kube.config --context <CLUSTER_NAME>-<NODE_NAME> get pods