Erstellen Sie einen OIDC IAM-Anbieter für Ihren Cluster - Amazon EKS

Helfen Sie mit, diese Seite zu verbessern

Möchten Sie zu diesem Benutzerhandbuch beitragen? Scrollen Sie zum Ende dieser Seite und wählen Sie Diese Seite bearbeiten am aus GitHub. Ihre Beiträge werden dazu beitragen, unser Benutzerhandbuch für alle 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.

Erstellen Sie einen OIDC IAM-Anbieter für Ihren Cluster

Ihrem Cluster ist eine OpenID Connect (OIDC)-Aussteller-URL zugeordnet. Um AWS Identity and Access Management (IAM-) Rollen für Dienstkonten verwenden zu können, muss ein OIDC IAM-Anbieter für die OIDC Aussteller-URL Ihres Clusters vorhanden sein.

Voraussetzungen
  • Ein vorhandener Amazon-EKS-Cluster. Informationen zum Bereitstellen finden Sie unter Erste Schritte mit Amazon EKS.

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

  • Das kubectl-Befehlszeilen-Tool ist auf Ihrem Gerät oder in der AWS CloudShell installiert. Die Version kann der Kubernetes-Version Ihres Clusters entsprechen oder eine Nebenversion älter oder neuer sein. 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 Installieren oder Aktualisieren von kubectl.

  • Eine vorhandene kubectl config-Datei, die Ihre Clusterkonfiguration enthält. Informationen zum Erstellen einer kubectl config-Datei finden Sie unter Erstellen oder Aktualisieren einer kubeconfig-Datei für einen Amazon-EKS-Cluster.

Sie können einen OIDC-IAM-Anbieter für Ihren Cluster mit eksctl oder AWS Management Console erstellen.

eksctl
Voraussetzung

Version 0.183.0 oder höher des eksctl-Befehlszeilen-Tools, das auf Ihrem Computer oder in der AWS CloudShell installiert ist. Informationen zum Installieren und Aktualisieren von eksctl finden Sie in der Dokumentation zu eksctl unter Installation.

So erstellen Sie einen IAM-OIDC-Identitätsanbieter für Ihren Cluster mit eksctl
  1. Ermitteln Sie die OIDC-Aussteller-ID für Ihren Cluster.

    Rufen Sie die OIDC-Aussteller-ID Ihres Clusters ab und speichern Sie sie in einer Variable. Ersetzen Sie my-cluster durch Ihren eigenen Wert.

    cluster_name=my-cluster
    oidc_id=$(aws eks describe-cluster --name $cluster_name --query "cluster.identity.oidc.issuer" --output text | cut -d '/' -f 5)
    echo $oidc_id
  2. Bestimmen Sie, ob ein IAM-OIDC-Anbieter mit der Aussteller-ID Ihres Clusters bereits in Ihrem Konto vorhanden ist.

    aws iam list-open-id-connect-providers | grep $oidc_id | cut -d "/" -f4

    Wenn die Ausgabe zurückgegeben wird, verfügen Sie bereits über einenOIDC-IAM-Anbieter für Ihren Cluster und können den nächsten Schritt überspringen. Wenn keine Ausgabe erfolgt, müssen Sie einen IAM-OIDC-Anbieter für Ihren Cluster erstellen.

  3. Erstellen Sie einen IAM-OIDC-Identitätsanbieter für Ihren Cluster mit dem folgenden Befehl.

    eksctl utils associate-iam-oidc-provider --cluster $cluster_name --approve
    Anmerkung

    Wenn Sie den EKS-VPC-Endpunkt aktivieren, kann von dieser VPC aus nicht auf den EKS-OIDC-Service-Endpunkt zugegriffen werden. Folglich funktionieren Ihre Operationen wie das Erstellen eines OIDC-Anbieters mit eksctl in der VPC nicht und führen zu einem Timeout, wenn Sie versuchen, https://oidc.eks.region.amazonaws.com anzufordern. Es folgt ein Beispiel für eine Fehlermeldung:

    ** server can't find oidc.eks.region.amazonaws.com: NXDOMAIN

    Um diesen Schritt abzuschließen, können Sie den Befehl außerhalb der VPC ausführen, z. B. in AWS CloudShell oder auf einem Computer, der mit dem Internet verbunden ist.

AWS Management Console
Um einen OIDC IAM-Identitätsanbieter für Ihren Cluster mit dem zu erstellen AWS Management Console
  1. Öffnen Sie die Amazon-EKS-Konsole unter https://console.aws.amazon.com/eks/home#/clusters.

  2. Wählen Sie im linken Bereich Cluster aus und wählen Sie dann den Namen Ihres Clusters auf der Seite Cluster.

  3. Notieren Sie im Abschnitt Details der Registerkarte Overview (Übersicht) den Wert der OpenID-Connect-Provider-URL.

  4. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  5. Wählen Sie im linken Navigationsbereich Identity Providers (Identitätsanbieter) unter Access management (Zugriffsverwaltung) aus. Wenn ein Anbieter aufgeführt ist, der mit der URL für Ihren Cluster übereinstimmt, haben Sie bereits einen Anbieter für Ihren Cluster. Wenn kein Anbieter aufgeführt ist, der mit der URL für Ihren Cluster übereinstimmt, müssen Sie einen erstellen.

  6. Um einen Anbieter zu erstellen, wählen Sie Add provider (Anbieter hinzufügen) aus.

  7. Als Provider type (Provider-Typ) wählen Sie OpenID Connect aus.

  8. Geben Sie als Provider URL (Anbieter-URL) die OIDC-Anbieter-URL für Ihren Cluster ein, und wählen Sie dann Get thumbprint (Thumbprint abrufen) aus.

  9. Geben Sie für Zielgruppe sts.amazonaws.com ein und wählen Sie Anbieter hinzufügen.

Nächster Schritt

Konfigurieren Sie ein Kubernetes Dienstkonto für die Übernahme einer IAM-Rolle