Wie der autorisierte Cluster-Endpunkt funktioniert

In diesem Abschnitt wird beschrieben, wie die kubectl-CLI, die kubeconfig-Datei und der autorisierte Cluster-Endpunkt zusammenarbeiten, um Ihnen den direkten Zugriff auf einen Downstream-Kubernetes-Cluster zu ermöglichen, ohne sich über den Rancher-Server zu authentifizieren. Es soll Hintergrundinformationen und Kontext zu den Anweisungen für wie man kubectl einrichtet, um direkt auf einen Cluster zuzugreifen bereitstellen.

Über die Kubeconfig-Datei

Die kubeconfig-Datei wird verwendet, um den Zugriff auf Kubernetes zu konfigurieren, wenn sie zusammen mit dem kubectl-Kommandozeilenwerkzeug (oder anderen Clients) verwendet wird.

Die kubeconfig-Datei und ihr Inhalt sind spezifisch für jeden Cluster. Sie kann von der Clusters Seite in Rancher heruntergeladen werden:

  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ü.

Sie benötigen eine separate kubeconfig-Datei für jeden Cluster, auf den Sie in Rancher Zugriff haben.

Nachdem Sie die kubeconfig-Datei heruntergeladen haben, können Sie die kubeconfig-Datei und ihre Kubernetes contexts verwenden, um auf Ihren Downstream-Cluster zuzugreifen.

Wenn Administratoren kubeconfig-Token-Generierung deaktiviert haben, erfordert die kubeconfig-Datei, dass die Rancher CLI in Ihrem PATH vorhanden ist.

Über das kube-api-auth Authentifizierungs-Webhook

Der kube-api-auth Mikrodienst wird bereitgestellt, um die Benutzer-Authentifizierungsfunktionalität für den autorisierten Cluster-Endpunkt bereitzustellen. Wenn Sie auf den Benutzercluster über kubectl zugreifen, authentifiziert der Kubernetes-API-Server des Clusters Sie, indem er den kube-api-auth Dienst als Webhook verwendet.

Während der Cluster-Bereitstellung wird die Datei /etc/kubernetes/kube-api-authn-webhook.yaml bereitgestellt und kube-apiserver wird mit --authentication-token-webhook-config-file=/etc/kubernetes/kube-api-authn-webhook.yaml konfiguriert. Dies konfiguriert den kube-apiserver, um http://127.0.0.1:6440/v1/authenticate abzufragen, um die Authentifizierung für Bearer-Token zu bestimmen.

Die Planungsregeln für kube-api-auth sind unten aufgeführt:

Komponente nodeAffinity nodeSelectorTerms nodeSelector Toleranzen

kube-api-auth

beta.kubernetes.io/os:NotIn:windows node-role.kubernetes.io/controlplane:In:"true"

keine

operator:Exists