Verbinden kubectl zu einem EKS-Cluster durch Erstellen eines kubeconfig file - Amazon EKS

Helfen Sie mit, diese Seite zu verbessern

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Möchten Sie zu diesem Benutzerhandbuch beitragen? Wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet. Ihre Beiträge werden dazu beitragen, dass unser Benutzerhandbuch für alle besser wird.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verbinden kubectl zu einem EKS-Cluster durch Erstellen eines kubeconfig file

In diesem Thema erstellen Sie eine kubeconfig-Datei für Ihren Cluster (oder aktualisieren eine vorhandene).

Das kubectl-Befehlszeilentool verwendet Konfigurationsinformationen in kubeconfig-Dateien für die Kommunikation mit dem API-Server eines Clusters. Weitere Informationen finden Sie unter Organisieren des Clusterzugriffs mithilfe von kubeconfig-Dateien im Kubernetes -Dokumentation.

Amazon EKS verwendet den Befehl aws eks get-token mit kubectl für die Cluster-Authentifizierung. Standardmäßig verwendet die AWS CLI dieselben Anmeldeinformationen, die mit dem folgenden Befehl zurückgegeben werden:

aws sts get-caller-identity
  • Ein vorhandener Amazon-EKS-Cluster. Informationen zum Bereitstellen finden Sie unter Erste Schritte mit Amazon EKS.

  • Das kubectl-Befehlszeilen-Tool ist auf Ihrem Gerät oder in der AWS CloudShell installiert. Die Version kann dieselbe sein oder bis zu einer Nebenversion, die früher oder später als die Kubernetes Version Ihres Clusters. Wenn Ihre Clusterversion beispielsweise 1.29 ist, können Sie kubectl-Version 1.28, 1.29, oder 1.30 damit verwenden. Informationen zum Installieren oder Aktualisieren von kubectl finden Sie unter Einrichten kubectl und eksctl.

  • Version 2.12.3 oder höher oder Version 1.27.160 oder höher der auf Ihrem Gerät installierten und konfigurierten AWS Befehlszeilenschnittstelle (AWS CLI) oder AWS CloudShell. Um Ihre aktuelle Version zu überprüfen, verwenden Sie aws --version | cut -d / -f2 | cut -d ' ' -f1. Paketmanager wieyum,apt-get, oder Homebrew for macOS liegen oft mehrere Versionen hinter der neuesten Version der AWS CLI. Informationen zur Installation der neuesten Version finden Sie unter Installation und Schnellkonfiguration mit aws configure im Benutzerhandbuch für die AWS Befehlszeilenschnittstelle. Die AWS CLI-Version, in der installiert ist, AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie im AWS CloudShell Benutzerhandbuch unter AWS CLI in Ihrem Home-Verzeichnis installieren.

  • Ein IAM-Benutzer oder eine Rolle mit Berechtigung zur Verwendung der API-Aktion eks:DescribeCluster für den angegebenen Cluster. Weitere Informationen finden Sie unter Beispiele für identitätsbasierte Amazon-EKS-Richtlinien. Wenn Sie eine eigene Identität verwenden OpenID Connect Anbieter für den Zugriff auf Ihren Cluster, dann finden Sie weitere Informationen unter Using kubectl in Kubernetes Dokumentation zum Erstellen oder Aktualisieren Ihrer kube config Datei.

kubeconfig-Datei automatisch erstellen

  • Version 2.12.3 oder höher oder Version 1.27.160 oder höher der auf Ihrem Gerät installierten und konfigurierten AWS Befehlszeilenschnittstelle (AWS CLI) oder AWS CloudShell. Um Ihre aktuelle Version zu überprüfen, verwenden Sie aws --version | cut -d / -f2 | cut -d ' ' -f1. Paketmanager wieyum,apt-get, oder Homebrew for macOS liegen oft mehrere Versionen hinter der neuesten Version der AWS CLI. Informationen zur Installation der neuesten Version finden Sie unter Installation und Schnellkonfiguration mit aws configure im Benutzerhandbuch für die AWS Befehlszeilenschnittstelle. Die AWS CLI-Version, in der installiert ist, AWS CloudShell kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zur Aktualisierung finden Sie im AWS CloudShell Benutzerhandbuch unter AWS CLI in Ihrem Home-Verzeichnis installieren.

  • Berechtigung zur Nutzung der eks:DescribeCluster-API-Aktion für den Cluster, den Sie angeben. Weitere Informationen finden Sie unter Beispiele für identitätsbasierte Amazon-EKS-Richtlinien.

    1. Erstellen oder aktualisieren Sie eine kubeconfig-Datei für Ihren Cluster. region-codeErsetzen Sie es durch die AWS Region, in der sich Ihr Cluster befindet, und my-cluster ersetzen Sie es durch den Namen Ihres Clusters.

      aws eks update-kubeconfig --region region-code --name my-cluster

      Standardmäßig wird die resultierende Konfigurationsdatei im Standard kubeconfig-Pfad (.kube) in Ihrem Stammverzeichnis erstellt oder mit einer vorhandenen config-Datei an diesem Speicherort zusammengeführt. Sie können mit der Option --kubeconfig einen anderen Pfad angeben.

      Sie können einen IAM-Rollen-ARN mit der Option --role-arn für die Authentifizierung verwenden, wenn Sie kubectl-Befehle ausgeben. Andernfalls wird der IAM-Prinzipal in Ihrer standardmäßigen AWS CLI- oder SDK-Anmeldeinformationskette verwendet. Sie können Ihre AWS Standard-CLI- oder SDK-Identität anzeigen, indem aws sts get-caller-identity Sie den Befehl ausführen.

      Für alle verfügbaren Optionen führen Sie den aws eks update-kubeconfig help Befehl aus oder sehen Sie sich update-kubeconfig in der AWS CLI-Befehlsreferenz an.

    2. Testen Sie Ihre Konfiguration.

      kubectl get svc

      Eine Beispielausgabe sieht wie folgt aus.

      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m

      Wenn Sie Autorisierungs- oder Ressourcenfehler erhalten, finden Sie weitere Informationen unter Nicht autorisiert oder Zugriff verweigert (kubectl) im Thema zur Fehlerbehebung.