Unterstützung für die Verbesserung dieser Seite beitragen
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.
Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten unter, der sich im rechten Bereich jeder Seite befindet.
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.
Vorbereitung der Anmeldeinformationen für Hybridknoten
Amazon EKS-Hybridknoten verwenden temporäre IAM-Anmeldeinformationen, die durch AWS SSM-Hybridaktivierungen oder AWS IAM Roles Anywhere bereitgestellt werden, um sich beim Amazon EKS-Cluster zu authentifizieren. Sie müssen entweder AWS SSM-Hybrid-Aktivierungen oder AWS IAM Roles Anywhere mit der Amazon EKS Hybrid Nodes CLI () verwenden. nodeadm Sie sollten nicht sowohl AWS SSM-Hybridaktivierungen als auch IAM Roles Anywhere verwenden. AWS Wir empfehlen, AWS SSM-Hybridaktivierungen zu verwenden, wenn Sie nicht über eine bestehende Public Key Infrastructure (PKI) mit einer Zertifizierungsstelle (CA) und Zertifikaten für Ihre lokalen Umgebungen verfügen. Wenn Sie über vorhandene PKI und Zertifikate vor Ort verfügen, verwenden Sie IAM Roles Anywhere. AWS
IAM-Rolle für Hybridknoten
Bevor Sie Hybridknoten mit Ihrem Amazon EKS-Cluster verbinden können, müssen Sie eine IAM-Rolle erstellen, die mit AWS SSM-Hybrid-Aktivierungen oder AWS IAM Roles Anywhere für Ihre Hybrid-Node-Anmeldeinformationen verwendet wird. Nach der Cluster-Erstellung verwenden Sie diese Rolle mit einem Amazon EKS-Zugriffseintrag oder aws-auth ConfigMap -eintrag, um die IAM-Rolle Role-Based Kubernetes Access Control (RBAC) zuzuordnen. Weitere Informationen zum Verknüpfen der IAM-Rolle für Hybridknoten mit Kubernetes RBAC finden Sie unter Vorbereitung des Cluster-Zugriffs für Hybridknoten.
Die IAM-Rolle für Hybridknoten muss auch über die folgenden Berechtigungen verfügen.
-
Berechtigungen
nodeadmzur Verwendung dereks:DescribeClusterAktion zum Sammeln von Informationen über den Cluster, mit dem Sie Hybridknoten verbinden möchten. Wenn Sie dieeks:DescribeClusterAktion nicht aktivieren, müssen Sie Ihren Kubernetes-API-Endpunkt, das Cluster-CA-Paket und den Service-IPv4-CIDR in der Knotenkonfiguration übergeben, die Sie an den Befehl übergeben.nodeadm init -
Berechtigungen
nodeadmzur Verwendung dereks:ListAccessEntriesAktion zum Auflisten der Zugriffseinträge auf dem Cluster, mit dem Sie Hybridknoten verbinden möchten. Wenn Sie dieeks:ListAccessEntriesAktion nicht aktivieren, müssen Sie das--skip cluster-access-validationFlag übergeben, wenn Sie dennodeadm initBefehl ausführen. -
Berechtigungen für das Kubelet zur Verwendung von Container-Images aus Amazon Elastic Container Registry (Amazon ECR), wie in der Richtlinie definiert. AmazonEC2ContainerRegistryPullOnly
-
Wenn Sie AWS SSM verwenden, Berechtigungen
nodeadm initzur Verwendung von AWS SSM-Hybrid-Aktivierungen, wie in der Richtlinie definiert. https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html -
Wenn Sie AWS SSM verwenden, Berechtigungen zur Verwendung der
ssm:DeregisterManagedInstanceAktion undssm:DescribeInstanceInformationAktion fürnodeadm uninstall, um die Registrierung von Instanzen aufzuheben. -
(Optional) Berechtigungen für den Amazon EKS Pod Identity Agent zum Verwenden der Aktion
eks-auth:AssumeRoleForPodIdentity, um Anmeldeinformationen für Pods abzurufen.
Einrichtung AWS SSM-Hybrid-Aktivierungen
Erforderliche Nodeadm-Version für den Anbieter von SSM-Anmeldeinformationen
Wenn Sie AWS Systems Manager (SSM) als Ihren Anmeldeinformationsanbieter für Hybridknoten verwenden, müssen Sie nodeadm Version 1.0.19 oder höher für Neuinstallationen und Upgrades verwenden. Frühere Versionen von nodeadm enthalten einen veralteten SSM-Signaturschlüssel und schlagen während nodeadm install und nodeadm upgrade mit dem folgenden Fehler bei der Signaturüberprüfung fehl:
"msg":"Command failed","error":"failed to install ssm installer: validating ssm-setup-cli signature: Signature Verification Error: No matching signature"
Um diesen Fehler zu beheben, laden Sie die neueste Version von herunter, nodeadm bevor Sie nodeadm install oder nodeadm upgrade ausführen.
Wichtig
Systems Manager übergibt den Aktivierungscode und die ID sofort an die Konsole oder das Befehlsfenster, je nachdem, wie Sie die Aktivierung erstellt haben. Kopieren Sie diese Informationen und speichern Sie sie an einem sicheren Ort. Wenn Sie die Konsole verlassen oder das Befehlsfenster schließen, können diese Informationen verloren gehen. Wenn Sie die Informationen verlieren, müssen Sie eine neue Aktivierung erstellen.
Bevor Sie AWS SSM-Hybrid-Aktivierungen einrichten, müssen Sie eine IAM-Rolle für Hybridknoten erstellt und konfiguriert haben. Weitere Informationen finden Sie unter Erstellung der IAM-Rolle für Hybridknoten. Folgen Sie den Anweisungen unter Erstellen einer Hybridaktivierung zur Registrierung von Knoten bei Systems Manager im AWS Systems Manager-Benutzerhandbuch, um eine AWS SSM-Hybridaktivierung für Ihre Hybridknoten zu erstellen. Verwenden Sie den Aktivierungscode und die IDnodeadm, wenn Sie Ihre Hosts als Hybridknoten in Ihrem Amazon EKS-Cluster registrieren. Sie können zu einem späteren Zeitpunkt auf diesen Schritt zurückkommen, nachdem Sie Ihre Amazon-EKS-Cluster für Hybridknoten erstellt und vorbereitet haben.
Standardmäßig sind AWS SSM-Hybrid-Aktivierungen 24 Stunden lang aktiv. Alternativ können Sie beim Erstellen Ihrer Hybridaktivierung ein --expiration-date im Zeitstempelformat angeben, beispielsweise 2024-08-01T00:00:00. Wenn Sie AWS SSM als Ihren Anmeldeinformationsanbieter verwenden, ist der Knotenname für Ihre Hybridknoten nicht konfigurierbar und wird automatisch von SSM generiert. AWS Sie können die von AWS SSM verwalteten Instances in der AWS Systems Manager-Konsole unter Fleet Manager einsehen und verwalten. Sie können bis zu 1.000 hybridaktivierte Standardknoten pro Konto und AWS Region ohne zusätzliche Kosten registrieren. Um mehr als 1 000 Hybrid-Knoten zu registrieren, müssen Sie jedoch das Advanced-Instances-Kontingent aktivieren. Für die Nutzung der Stufe „Erweiterte Instances“ wird eine Gebühr erhoben, die nicht in den Preisen für Amazon EKS Hybrid Nodes pricing
Im folgenden Beispiel erfahren Sie, wie Sie eine AWS SSM-Hybridaktivierung mit Ihrer IAM-Rolle für Hybridknoten erstellen. Wenn Sie AWS SSM-Hybridaktivierungen für Ihre Hybridknoten-Anmeldeinformationen verwenden, haben die Namen Ihrer Hybridknoten das Format mi-012345678abcdefgh und die von AWS SSM bereitgestellten temporären Anmeldeinformationen sind 1 Stunde lang gültig. Sie können den Knotennamen oder die Dauer der Anmeldeinformationen nicht ändern, wenn Sie AWS SSM als Ihren Anmeldeinformationsanbieter verwenden. Die temporären Anmeldeinformationen werden automatisch von AWS SSM rotiert, und die Rotation hat keine Auswirkungen auf den Status Ihrer Knoten oder Anwendungen.
Wir empfehlen, dass Sie eine AWS SSM-Hybridaktivierung pro EKS-Cluster verwenden, um die AWS ssm:DeregisterManagedInstance SSM-Berechtigung der IAM-Rolle Hybrid Nodes so einzuschränken, dass Sie nur Instances deregistrieren können, die Ihrer SSM-Hybridaktivierung zugeordnet sind. AWS Im Beispiel auf dieser Seite wird ein Tag mit dem EKS-Cluster-ARN verwendet, das verwendet werden kann, um Ihre AWS SSM-Hybridaktivierung dem EKS-Cluster zuzuordnen. Sie können auch Ihr bevorzugtes Tag und Ihre bevorzugte Methode verwenden, um den Geltungsbereich der AWS SSM-Berechtigungen auf der Grundlage Ihrer Berechtigungsgrenzen und Anforderungen festzulegen. Bei der REGISTRATION_LIMIT Option im folgenden Befehl handelt es sich um eine Ganzzahl, mit der beispielsweise die Anzahl der Maschinen begrenzt wird, die die AWS SSM-Hybridaktivierung verwenden können 10
aws ssm create-activation \ --region AWS_REGION \ --default-instance-name eks-hybrid-nodes \ --description "Activation for EKS hybrid nodes" \ --iam-role AmazonEKSHybridNodesRole \ --tags Key=EKSClusterARN,Value=arn:aws: eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME \ --registration-limit REGISTRATION_LIMIT
Weitere Informationen zu den verfügbaren Konfigurationseinstellungen für AWS SSM-Hybridaktivierungen finden Sie in den Anweisungen unter Erstellen einer Hybridaktivierung zur Registrierung von Knoten beim Systems Manager.
Einrichtung AWS IAM Roles Anywhere
Befolgen Sie die Anweisungen unter Erste Schritte mit IAM Roles Anywhere im Benutzerhandbuch zu IAM Roles Anywhere, um den Trust Anchor und das Profil einzurichten, die Sie für temporäre IAM-Anmeldeinformationen für Ihre IAM-Rolle für Hybridknoten verwenden werden. Wenn Sie Ihr Profil erstellen, können Sie dies ohne Hinzufügen von Rollen tun. Sie können dieses Profil erstellen, zu diesen Schritten zurückkehren, um Ihre IAM-Rolle für Hybridknoten zu erstellen, und dann Ihre Rolle nach der Erstellung zu Ihrem Profil hinzufügen. Sie können auch die AWS CloudFormation Schritte weiter unten auf dieser Seite verwenden, um Ihr IAM Roles Anywhere-Setup für Hybridknoten abzuschließen.
Wenn Sie Ihrem Profil die IAM-Rolle des Hybridknotens hinzufügen, wählen Sie in der AWS IAM Roles Anywhere-Konsole unten auf der Seite „Profil bearbeiten“ im Bereich „Sitzungsname für benutzerdefinierte Rollen“ die Option Sitzungsnamen für benutzerdefinierte Rollen akzeptieren aus. Dies entspricht dem RoleSessionName Accept-Feld der CreateProfile API. Auf diese Weise können Sie in der Konfiguration, die Sie während des Bootstrap-Prozesses an nodeadm übergeben, einen benutzerdefinierten Knotennamen für Ihre Hybridknoten angeben. Die Übergabe eines benutzerdefinierten Knotennamens während des nodeadm init-Prozesses ist erforderlich. Sie können Ihr Profil aktualisieren, um einen benutzerdefinierten Rollensitzungsnamen zu akzeptieren, nachdem Sie Ihr Profil erstellt haben.
Sie können die Gültigkeitsdauer der Anmeldeinformationen bei AWS IAM Roles Anywhere über das https://docs.aws.amazon.com/rolesanywhere/latest/userguide/authentication-create-session#credentials-object DurationSeconds-Feld Ihres AWS IAM Roles Anywhere-Profils konfigurieren. Die Standarddauer beträgt 1 Stunde, maximal 12 Stunden. Die MaxSessionDuration Einstellung für Ihre IAM-Rolle für Hybridknoten muss größer sein als die durationSeconds Einstellung in Ihrem IAM Roles Anywhere-Profil. AWS Weitere Informationen dazu finden Sie in der MaxSessionDuration UpdateRole API-Dokumentation.
Die von Ihrer Zertifizierungsstelle (CA) generierten rechnerspezifischen Zertifikate und Schlüssel müssen in dem /etc/iam/pki-Verzeichnis auf jedem Hybridknoten mit den Dateinamen server.pem für das Zertifikat und server.key für den Schlüssel abgelegt werden.
Erstellung der IAM-Rolle für Hybridknoten
Um die Schritte in diesem Abschnitt ausführen zu können, muss der IAM-Prinzipal, der die AWS Konsole oder AWS CLI verwendet, über die folgenden Berechtigungen verfügen.
-
iam:CreatePolicy -
iam:CreateRole -
iam:AttachRolePolicy -
Wenn Sie AWS IAM Roles Anywhere verwenden
-
rolesanywhere:CreateTrustAnchor -
rolesanywhere:CreateProfile -
iam:PassRole
-
AWS CloudFormation
Installieren und konfigurieren Sie die AWS CLI, falls Sie dies noch nicht getan haben. Weitere Informationen finden Sie unter Installation oder Aktualisierung der AWS CLI auf die neueste Version.
Schritte für AWS SSM-Hybrid-Aktivierungen
Der CloudFormation Stack erstellt die IAM-Rolle für Hybridknoten mit den oben beschriebenen Berechtigungen. Die CloudFormation Vorlage erstellt nicht die AWS SSM-Hybridaktivierung.
-
Laden Sie die AWS CloudFormation SSM-Vorlage für Hybridknoten herunter:
curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-ssm-cfn.yaml' -
Erstellen Sie einen
cfn-ssm-parameters.jsonmit den folgenden Optionen:-
Ersetzen Sie
ROLE_NAMEdurch den Namen Ihrer IAM-Rolle für Hybridknoten. Standardmäßig verwendetAmazonEKSHybridNodesRoledie CloudFormation Vorlage den Namen der Rolle, die sie erstellt, wenn Sie keinen Namen angeben. -
TAG_KEYErsetzen Sie ihn durch den AWS SSM-Ressourcen-Tag-Schlüssel, den Sie bei der Erstellung Ihrer AWS SSM-Hybridaktivierung verwendet haben. Die Kombination aus Tag-Schlüssel und Tag-Wert wird in der Bedingung verwendet, dass nur die IAM-Rolle Hybrid Nodes die Registrierung der von AWS SSM verwalteten Instances aufheben darf, die mit Ihrer SSM-Hybridaktivierung verknüpft sind.ssm:DeregisterManagedInstanceAWS In der Vorlage ist die Standardeinstellung CloudFormation .TAG_KEYEKSClusterARN -
TAG_VALUEErsetzen Sie ihn durch den AWS SSM-Ressourcen-Tag-Wert, den Sie bei der Erstellung Ihrer AWS SSM-Hybridaktivierung verwendet haben. Die Kombination aus Tag-Schlüssel und Tag-Wert wird in der Bedingung verwendet, dass nur diessm:DeregisterManagedInstanceIAM-Rolle Hybrid Nodes die Registrierung der von AWS SSM verwalteten Instances aufheben darf, die Ihrer SSM-Hybridaktivierung zugeordnet sind. AWS Wenn Sie den StandardwertTAG_KEYvonEKSClusterARNverwenden, übergeben Sie Ihren EKS-Cluster-ARN alsTAG_VALUE. EKS-Cluster-ARNs haben das Formatarn:aws: eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME.{ "Parameters": { "RoleName": "ROLE_NAME", "SSMDeregisterConditionTagKey": "TAG_KEY", "SSMDeregisterConditionTagValue": "TAG_VALUE" } }
-
-
Stellen Sie den Stack bereit. CloudFormation
STACK_NAMEErsetzen Sie den CloudFormation Stack durch Ihren Namen.aws cloudformation deploy \ --stack-name STACK_NAME \ --template-file hybrid-ssm-cfn.yaml \ --parameter-overrides file://cfn-ssm-parameters.json \ --capabilities CAPABILITY_NAMED_IAM
Schritte für AWS IAM Roles Anywhere
Der CloudFormation Stack erstellt den AWS IAM Roles Anywhere-Vertrauensanker bei der von Ihnen konfigurierten Zertifizierungsstelle (CA), erstellt das AWS IAM Roles Anywhere-Profil und erstellt die IAM-Rolle Hybrid Nodes mit den zuvor beschriebenen Berechtigungen.
-
So richten Sie eine Zertifizierungsstelle (CA) ein:
-
Um eine AWS private CA-Ressource zu verwenden, öffnen Sie die AWS Private Certificate Authority-Konsole.
Befolgen Sie die Anweisungen im Benutzerhandbuch der privaten AWS -Zertifizierungsstelle. -
Um eine externe Zertifizierungsstelle zu verwenden, befolgen Sie die Anweisungen der Zertifizierungsstelle. Die Zertifizierungsstelle geben Sie in einem späteren Schritt an.
-
Von öffentlichen Zertifizierungsstellen ausgestellte Zertifikate können nicht als Trust Anchor verwendet werden.
-
-
Laden Sie die AWS IAM Roles CloudFormation Anywhere-Vorlage für Hybridknoten herunter
curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-ira-cfn.yaml' -
Erstellen Sie einen
cfn-iamra-parameters.jsonmit den folgenden Optionen:-
Ersetzen Sie
ROLE_NAMEdurch den Namen Ihrer IAM-Rolle für Hybridknoten. Standardmäßig verwendetAmazonEKSHybridNodesRoledie CloudFormation Vorlage den Namen der Rolle, die sie erstellt, wenn Sie keinen Namen angeben. -
Ersetzen Sie
CERT_ATTRIBUTEdurch das rechnerspezifische Zertifikatsattribut, das Ihren Host eindeutig identifiziert. Das von Ihnen verwendete Zertifikatsattribut muss mit dem nodeName übereinstimmen, den Sie für dienodeadm-Konfiguration verwenden, wenn Sie Ihrem Cluster Hybridknoten zuordnen. Weitere Informationen hierzu finden Sie unter Nodeadm-Referenz für Hybridknoten. In der CloudFormation Vorlage wird standardmäßig der${aws:PrincipalTag/x509Subject/CN}als verwendetCERT_ATTRIBUTE, was dem CN-Feld Ihrer maschinenbezogenen Zertifikate entspricht. Alternativ können Sie$(aws:PrincipalTag/x509SAN/Name/CN}alsCERT_ATTRIBUTEübergeben. -
Ersetzen Sie
CA_CERT_BODYdurch den Zertifikatstext Ihrer Zertifizierungsstelle ohne Zeilenumbrüche. DasCA_CERT_BODYmüssen im Privacy Enhanced Mail (PEM)-Format vorliegen. Wenn Sie ein CA-Zertifikat im PEM-Format haben, entfernen Sie die Zeilenumbrüche und die Zeilen BEGIN CERTIFICATE und END CERTIFICATE, bevor Sie den CA-Zertifikatstext in Ihrecfn-iamra-parameters.json-Datei einfügen.{ "Parameters": { "RoleName": "ROLE_NAME", "CertAttributeTrustPolicy": "CERT_ATTRIBUTE", "CABundleCert": "CA_CERT_BODY" } }
-
-
Stellen Sie die CloudFormation Vorlage bereit.
STACK_NAMEErsetzen Sie den CloudFormation Stack durch Ihren Namen.aws cloudformation deploy \ --stack-name STACK_NAME \ --template-file hybrid-ira-cfn.yaml \ --parameter-overrides file://cfn-iamra-parameters.json --capabilities CAPABILITY_NAMED_IAM
AWS CLI
Installieren und konfigurieren Sie die AWS CLI, falls Sie dies noch nicht getan haben. Weitere Informationen finden Sie unter Installation oder Aktualisierung der AWS CLI auf die neueste Version.
Erstellung einer EKS-Describe-Cluster-Richtlinie
-
Erstellen Sie eine Datei
eks-describe-cluster-policy.jsonmit dem folgenden Inhalt:{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "*" } ] } -
Richtlinie mit dem folgenden Befehl erstellen:
aws iam create-policy \ --policy-name EKSDescribeClusterPolicy \ --policy-document file://eks-describe-cluster-policy.json
Schritte für AWS SSM-Hybrid-Aktivierungen
-
Erstellen Sie eine Datei mit dem Namen
eks-hybrid-ssm-policy.jsonund dem folgenden Inhalt. Die Richtlinie gewährt die Berechtigung für zwei Aktionenssm:DescribeInstanceInformationundssm:DeregisterManagedInstance. Die Richtlinie schränkt diessm:DeregisterManagedInstanceBerechtigungen auf AWS SSM-verwaltete Instanzen ein, die mit Ihrer AWS SSM-Hybridaktivierung verknüpft sind, basierend auf dem Ressourcen-Tag, den Sie in Ihrer Vertrauensrichtlinie angeben.-
AWS_REGIONErsetzen Sie Ihre AWS SSM-Hybridaktivierung durch die AWS Region. -
Ersetzen Sie es
AWS_ACCOUNT_IDdurch Ihre AWS Konto-ID. -
TAG_KEYErsetzen Sie ihn durch den AWS SSM-Ressourcen-Tag-Schlüssel, den Sie bei der Erstellung Ihrer AWS SSM-Hybridaktivierung verwendet haben. Die Kombination aus Tag-Schlüssel und Tag-Wert wird in der Bedingung verwendet, dass nur die IAM-Rolle Hybrid Nodes die Registrierung der von AWS SSM verwalteten Instances aufheben darf, die mit Ihrer SSM-Hybridaktivierung verknüpft sind.ssm:DeregisterManagedInstanceAWS In der Vorlage ist die Standardeinstellung CloudFormation .TAG_KEYEKSClusterARN -
TAG_VALUEErsetzen Sie ihn durch den AWS SSM-Ressourcen-Tag-Wert, den Sie bei der Erstellung Ihrer AWS SSM-Hybridaktivierung verwendet haben. Die Kombination aus Tag-Schlüssel und Tag-Wert wird in der Bedingung verwendet, dass nur diessm:DeregisterManagedInstanceIAM-Rolle Hybrid Nodes die Registrierung der von AWS SSM verwalteten Instances aufheben darf, die Ihrer SSM-Hybridaktivierung zugeordnet sind. AWS Wenn Sie den StandardwertTAG_KEYvonEKSClusterARNverwenden, übergeben Sie Ihren EKS-Cluster-ARN alsTAG_VALUE. EKS-Cluster-ARNs haben das Formatarn:aws: eks:AWS_REGION:AWS_ACCOUNT_ID:cluster/CLUSTER_NAME.{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:DescribeInstanceInformation", "Resource": "*" }, { "Effect": "Allow", "Action": "ssm:DeregisterManagedInstance", "Resource": "arn:aws:ssm:us-east-1:123456789012:managed-instance/*", "Condition": { "StringEquals": { "ssm:resourceTag/TAG_KEY": "TAG_VALUE" } } } ] }
-
-
Richtlinie mit dem folgenden Befehl erstellen
aws iam create-policy \ --policy-name EKSHybridSSMPolicy \ --policy-document file://eks-hybrid-ssm-policy.json -
Erstellen Sie eine Datei namens
eks-hybrid-ssm-trust.json.AWS_REGIONErsetzen Sie durch die AWS Region Ihrer AWS SSM-Hybridaktivierung und durch Ihre Konto-ID.AWS_ACCOUNT_IDAWS{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:us-east-1:123456789012:*" } } } ] } -
Erstellen Sie die Rolle mit dem folgenden Befehl.
aws iam create-role \ --role-name AmazonEKSHybridNodesRole \ --assume-role-policy-document file://eks-hybrid-ssm-trust.json -
Fügen Sie
EKSDescribeClusterPolicyundEKSHybridSSMPolicyan, die Sie in den vorherigen Schritten erstellt haben. Ersetzen SieAWS_ACCOUNT_IDdurch Ihre AWS Konto-ID.aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws: iam::AWS_ACCOUNT_ID:policy/EKSDescribeClusterPolicyaws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws: iam::AWS_ACCOUNT_ID:policy/EKSHybridSSMPolicy -
Hängen Sie die
AmazonEC2ContainerRegistryPullOnlyundAmazonSSMManagedInstanceCoreAWS verwalteten Richtlinien an.aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryPullOnlyaws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws: iam::aws:policy/AmazonSSMManagedInstanceCore
Schritte für AWS IAM Roles Anywhere
Um AWS IAM Roles Anywhere verwenden zu können, müssen Sie Ihren AWS IAM Roles Anywhere-Vertrauensanker einrichten, bevor Sie die IAM-Rolle für Hybridknoten erstellen. Detaillierte Anweisungen finden Sie unter Einrichtung AWS IAM Roles Anywhere.
-
Erstellen Sie eine Datei namens
eks-hybrid-iamra-trust.json. Ersetzen SieTRUST_ANCHOR ARNdurch die ARN des Trust Anchors, den Sie in den Einrichtung AWS IAM Roles Anywhere-Schritten erstellt haben. Die Bedingung in dieser Vertrauensrichtlinie schränkt die Fähigkeit von AWS IAM Roles Anywhere ein, die IAM-Rolle für Hybridknoten anzunehmen und temporäre IAM-Anmeldeinformationen nur dann auszutauschen, wenn der Name der Rollensitzung mit dem CN im x509-Zertifikat übereinstimmt, das auf Ihren Hybridknoten installiert ist. Alternativ können Sie auch andere Zertifikatsattribute verwenden, um Ihren Knoten eindeutig zu identifizieren. Das Zertifikatattribut, das Sie in der Vertrauensrichtlinie verwenden, muss demnodeNameentsprechen, das Sie in Ihrernodeadm-Konfiguration festgelegt haben. Weitere Informationen hierzu finden Sie unter Nodeadm-Referenz für Hybridknoten.{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "StringEquals": { "aws:PrincipalTag/x509Subject/CN": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/TA_ID" } } }, { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}", "aws:PrincipalTag/x509Subject/CN": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/TA_ID" } } } ] } -
Erstellen Sie die Rolle mit dem folgenden Befehl.
aws iam create-role \ --role-name AmazonEKSHybridNodesRole \ --assume-role-policy-document file://eks-hybrid-iamra-trust.json -
Fügen Sie die
EKSDescribeClusterPolicyan, die Sie in den vorherigen Schritten erstellt haben. Ersetzen SieAWS_ACCOUNT_IDes durch Ihre Konto-ID. AWSaws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws: iam::AWS_ACCOUNT_ID:policy/EKSDescribeClusterPolicy -
Hängen Sie die
AmazonEC2ContainerRegistryPullOnlyAWS verwaltete Richtlinie anaws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
AWS-Managementkonsole
Erstellung einer EKS-Describe-Cluster-Richtlinie
-
Amazon-IAM-Konsole
öffnen -
Wählen Sie im linken Navigationsbereich die Option Policies aus.
-
Wählen Sie auf der Seite Richtlinien die Option Richtlinie erstellen.
-
Wählen Sie auf der Seite „Berechtigungen festlegen“ im Bereich „Service auswählen“ die Option „EKS“ aus.
-
Filtern Sie die Aktionen nach der Aktion DescribeCluster Lesen DescribeCluster und wählen Sie sie aus.
-
Wählen Sie Weiter aus.
-
-
Auf der Seite Überprüfen und erstellen
-
Geben Sie einen Richtlinien-Namen ein, beispielsweise
EKSDescribeClusterPolicy. -
Wählen Sie Richtlinie erstellen aus.
-
Schritte für AWS SSM-Hybrid-Aktivierungen
-
Amazon-IAM-Konsole
öffnen -
Wählen Sie im linken Navigationsbereich die Option Policies aus.
-
Wählen Sie auf der Seite Richtlinien die Option Richtlinie erstellen.
-
Wählen Sie auf der Seite Berechtigungen angeben in der Navigationsleiste oben rechts im Richtlinien-Editor die Option JSON aus. Fügen Sie den folgenden Ausschnitt ein.
AWS_REGIONErsetzen Sie durch die AWS Region Ihrer AWS SSM-Hybridaktivierung undAWS_ACCOUNT_IDersetzen Sie sie durch Ihre AWS Konto-ID. Ersetzen SieTAG_KEYundTAG_VALUEdurch den AWS SSM-Resource-Tag-Schlüssel, den Sie bei der Erstellung Ihrer AWS SSM-Hybridaktivierung verwendet haben.{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:DescribeInstanceInformation", "Resource": "*" }, { "Effect": "Allow", "Action": "ssm:DeregisterManagedInstance", "Resource": "arn:aws:ssm:us-east-1:123456789012:managed-instance/*", "Condition": { "StringEquals": { "ssm:resourceTag/TAG_KEY": "TAG_VALUE" } } } ] }-
Wählen Sie Weiter aus.
-
-
Auf der Seite Überprüfen und erstellen.
-
Geben Sie einen Richtlinien-Namen für Ihre Richtlinie ein, beispielsweise
EKSHybridSSMPolicy. -
Wählen Sie Richtlinie erstellen aus.
-
-
Wählen Sie im linken Navigationsbereich Roles aus.
-
Klicken Sie auf der Seite Roles (Rollen) auf Create role (Rolle erstellen).
-
Gehen Sie auf der Seite Select trusted entity (Vertrauenswürdige Entität auswählen) wie folgt vor:
-
Wählen Sie unter Abschnittstyp Vertrauenswürdiger Entität die Option Benutzerdefinierte Vertrauensrichtlinie aus. Fügen Sie Folgendes in den Editor für benutzerdefinierte Vertrauensrichtlinien ein.
AWS_REGIONErsetzen Sie es durch die AWS Region Ihrer AWS SSM-Hybridaktivierung und durch IhreAWS_ACCOUNT_IDAWS Konto-ID.{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:us-east-1:123456789012:*" } } } ] } -
Wählen Sie Weiter aus.
-
-
Führen Sie auf der Seite Add permissions (Berechtigungen hinzufügen) die folgenden Schritte aus:
-
Geben Sie im Feld Filterrichtlinien
EKSDescribeClusterPolicyoder den Namen der oben erstellten Richtlinie ein. Aktivieren Sie in den Suchergebnissen das Kontrollkästchen links neben dem Namen Ihrer Richtlinie. -
Geben Sie im Feld Filterrichtlinien
EKSHybridSSMPolicyoder den Namen der oben erstellten Richtlinie ein. Aktivieren Sie in den Suchergebnissen das Kontrollkästchen links neben dem Namen Ihrer Richtlinie. -
Geben Sie im Feld Filter policies (Filterrichtlinien)
AmazonEC2ContainerRegistryPullOnlyein. Aktivieren Sie in den Suchergebnissen das Kontrollkästchen links nebenAmazonEC2ContainerRegistryPullOnly. -
Geben Sie im Feld Filter policies (Filterrichtlinien)
AmazonSSMManagedInstanceCoreein. Aktivieren Sie in den Suchergebnissen das Kontrollkästchen links nebenAmazonSSMManagedInstanceCore. -
Wählen Sie Weiter aus.
-
-
Gehen Sie auf der Seite Name, review, and create (Benennen, überprüfen und erstellen) wie folgt vor:
-
Geben Sie unter Role name (Rollenname) einen eindeutigen Namen für die Rolle ein, z. B.
AmazonEKSHybridNodesRole. -
Ersetzen Sie unter Description (Beschreibung) den aktuellen Text durch beschreibenden Text wie beispielsweise
Amazon EKS - Hybrid Nodes role. -
Wählen Sie Rolle erstellen aus.
-
Schritte für AWS IAM Roles Anywhere
Um AWS IAM Roles Anywhere verwenden zu können, müssen Sie Ihren AWS IAM Roles Anywhere-Vertrauensanker einrichten, bevor Sie die IAM-Rolle für Hybridknoten erstellen. Detaillierte Anweisungen finden Sie unter Einrichtung AWS IAM Roles Anywhere.
-
Amazon-IAM-Konsole
öffnen -
Wählen Sie im linken Navigationsbereich Roles aus.
-
Klicken Sie auf der Seite Roles (Rollen) auf Create role (Rolle erstellen).
-
Gehen Sie auf der Seite Select trusted entity (Vertrauenswürdige Entität auswählen) wie folgt vor:
-
Wählen Sie unter Abschnittstyp Vertrauenswürdiger Entität die Option Benutzerdefinierte Vertrauensrichtlinie aus. Fügen Sie Folgendes in den Editor für benutzerdefinierte Vertrauensrichtlinien ein. Ersetzen Sie
TRUST_ANCHOR ARNdurch die ARN des Trust Anchors, den Sie in den Einrichtung AWS IAM Roles Anywhere-Schritten erstellt haben. Die Bedingung in dieser Vertrauensrichtlinie schränkt die Fähigkeit von AWS IAM Roles Anywhere ein, die IAM-Rolle für Hybridknoten anzunehmen und temporäre IAM-Anmeldeinformationen nur dann auszutauschen, wenn der Name der Rollensitzung mit dem CN im x509-Zertifikat übereinstimmt, das auf Ihren Hybridknoten installiert ist. Alternativ können Sie auch andere Zertifikatsattribute verwenden, um Ihren Knoten eindeutig zu identifizieren. Das Zertifikatattribut, das Sie in der Vertrauensrichtlinie verwenden, muss dem Knotennamen entsprechen, den Sie in Ihrer nodeadm-Konfiguration festgelegt haben. Weitere Informationen hierzu finden Sie unter Nodeadm-Referenz für Hybridknoten.{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "StringEquals": { "aws:PrincipalTag/x509Subject/CN": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/TA_ID" } } }, { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}", "aws:PrincipalTag/x509Subject/CN": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "arn:aws:rolesanywhere:us-east-1:123456789012:trust-anchor/TA_ID" } } } ] } -
Wählen Sie Weiter aus.
-
-
Führen Sie auf der Seite Add permissions (Berechtigungen hinzufügen) die folgenden Schritte aus:
-
Geben Sie im Feld Filterrichtlinien
EKSDescribeClusterPolicyoder den Namen der oben erstellten Richtlinie ein. Aktivieren Sie in den Suchergebnissen das Kontrollkästchen links neben dem Namen Ihrer Richtlinie. -
Geben Sie im Feld Filter policies (Filterrichtlinien)
AmazonEC2ContainerRegistryPullOnlyein. Aktivieren Sie in den Suchergebnissen das Kontrollkästchen links nebenAmazonEC2ContainerRegistryPullOnly. -
Wählen Sie Weiter aus.
-
-
Gehen Sie auf der Seite Name, review, and create (Benennen, überprüfen und erstellen) wie folgt vor:
-
Geben Sie unter Role name (Rollenname) einen eindeutigen Namen für die Rolle ein, z. B.
AmazonEKSHybridNodesRole. -
Ersetzen Sie unter Description (Beschreibung) den aktuellen Text durch beschreibenden Text wie beispielsweise
Amazon EKS - Hybrid Nodes role. -
Wählen Sie Rolle erstellen aus.
-