Unterstützung für die Verbesserung dieser Seite beitragen
Um zu diesem Benutzerhandbuch beizutragen, klicken Sie auf den Link Diese Seite auf GitHub bearbeiten, der sich im rechten Bereich jeder Seite befindet.
Erstellen Sie einen IAM-OIDC-Anbieter für Ihren Cluster
Ihrem Cluster ist eine OpenID Connect
-
Ein vorhandener Amazon-EKS-Cluster. Informationen zum Bereitstellen finden Sie unter Erste Schritte mit Amazon EKS.
-
Version
2.12.3oder höher oder die Version1.27.160oder höher der AWS-Befehlszeilenschnittstelle (AWS-CLI), die auf Ihrem Gerät oder in AWS CloudShell installiert und konfiguriert sein muss. Um Ihre aktuelle Version zu überprüfen, verwenden Sieaws --version | cut -d / -f2 | cut -d ' ' -f1. Paket-Manager wieyum,apt-getoder Homebrew für macOS sind oft mehrere Versionen hinter der neuesten Version der AWS-CLI. Um die neueste Version zu installieren, lesen Sie Installation und Schnellkonfiguration mit aws configure im Benutzerhandbuch zur AWS-Befehlszeilenschnittstelle. Die in AWS CloudShell installierte AWS-CLI-Version kann auch mehrere Versionen hinter der neuesten Version liegen. Informationen zum Aktualisieren finden Sie unter Installieren der AWS CLI in Ihrem Stammverzeichnis im AWS-CloudShell-Benutzerhandbuch. -
Das
kubectl-Befehlszeilen-Tool ist auf Ihrem Gerät oder in AWS CloudShell installiert. Die Version kann mit der Kubernetes-Version Ihres Clusters identisch sein oder bis zu einer Nebenversion älter oder neuer sein. Wenn Ihre Clusterversion beispielsweise1.29ist, können Siekubectl-Version1.28,1.29, oder1.30damit verwenden. Informationen zum Installieren oder Aktualisieren vonkubectlfinden Sie unter kubectl und eksctl einrichten. -
Eine vorhandene
kubectlconfig-Datei, die Ihre Clusterkonfiguration enthält. Informationen zum Erstellen einerkubectlconfig-Datei finden Sie unter kubectl mit einem EKS-Cluster durch Erstellen einer kubeconfig-Datei verbinden.
Sie können einen IAM-OIDC-Anbieter für Ihren Cluster mit eksctl oder AWS-Managementkonsole erstellen.
OIDC-Anbieter erstellen (eksctl)
-
Version
0.214.0oder höher des auf Ihrem Gerät oder in AWS CloudShell installierteneksctl-Befehlszeilen-Tools. Informationen zum Installieren und Aktualisieren voneksctlfinden Sie in der Dokumentation zueksctlunter Installation. -
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 -
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 "/" -f4Wenn die Ausgabe zurückgegeben wird, verfügen Sie bereits über einen IAM-OIDC-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 Ihr Cluster erstellen.
-
Erstellen Sie einen IAM-OIDC-Identitätsanbieter für Ihren Cluster mit dem folgenden Befehl.
eksctl utils associate-iam-oidc-provider --cluster $cluster_name --approveAnmerkung
Wenn Sie den EKS-VPC-Endpunkt aktiviert haben, kann von innerhalb dieser VPC nicht auf den EKS-OIDC-Service-Endpunkt zugegriffen werden. Folglich funktionieren Ihre Operationen wie das Erstellen eines OIDC-Anbieters mit
eksctlin der VPC nicht und führen zu einem Timeout. Es folgt ein Beispiel für eine Fehlermeldung:** server cant find oidc.eks.<region-code>.amazonaws.com: NXDOMAIN
Um diesen Schritt abzuschließen, können Sie den Befehl außerhalb der VPC ausführen, beispielsweise in AWS CloudShell oder auf einem mit dem Internet verbundenen Computer. Alternativ können Sie einen Split-Horizon-Conditional-Resolver in der VPC erstellen, z. B. Route 53 Resolver, um einen anderen Resolver für die OIDC-Aussteller-URL zu verwenden und dafür nicht das VPC-DNS zu nutzen. Ein Beispiel für die bedingte Weiterleitung in CoreDNS finden Sie in der Amazon-EKS-Feature-Anforderung
auf GitHub.
OIDC-Anbieter erstellen (AWS-Konsole)
-
Öffnen Sie die Amazon-EKS-Konsole
. -
Wählen Sie im linken Bereich Cluster aus und wählen Sie dann den Namen Ihres Clusters auf der Seite Cluster.
-
Notieren Sie im Abschnitt Details der Registerkarte Overview (Übersicht) den Wert der OpenID-Connect-Provider-URL.
-
Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/
. -
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.
-
Um einen Anbieter zu erstellen, wählen Sie Add provider (Anbieter hinzufügen) aus.
-
Wählen Sie als Anbietertyp die Option OpenID Connect aus.
-
Geben Sie für Anbieter URL die OIDC-Anbieter-URL für Ihren Cluster ein.
-
Geben Sie für Zielgruppe
sts.amazonaws.com.rproxy.govskope.caein -
(Optional) Fügen Sie beliebige Tags hinzu, beispielsweise ein Tag, um zu identifizieren, welcher Cluster für diesen Anbieter ist.
-
Wählen Sie Add provider (Anbieter hinzufügen) aus.
Nächster Schritt: IAM-Rollen Kubernetes-Servicekonten zuweisen