Hilf 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.
Wenn Sie zu diesem Benutzerhandbuch beitragen möchten, wählen Sie den GitHub Link Diese Seite bearbeiten auf, 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.
Anmeldedaten für Hybridknoten vorbereiten
Amazon EKS-Hybridknoten verwenden temporäre IAM-Anmeldeinformationen, die durch AWS SSM-Hybrid-Aktivierungen 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-Hybrid-Aktivierungen als auch IAM-Rollen Anywhere verwenden. AWS Es wird empfohlen, AWS SSM-Hybrid-Aktivierungen zu verwenden, wenn Sie nicht über eine bestehende Public Key-Infrastruktur (PKI) mit einer Zertifizierungsstelle (CA) und Zertifikaten für Ihre lokalen Umgebungen verfügen. Wenn Sie bereits über 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 Hybridknoten-Anmeldeinformationen verwendet wird. Nach der Clustererstellung verwenden Sie diese Rolle mit einem Amazon EKS-Zugriffseintrag oder aws-auth
ConfigMap einem Eintrag, um die IAM-Rolle Kubernetes Role-Based Access Control (RBAC) zuzuordnen. Weitere Informationen zur Verknüpfung der IAM-Rolle Hybrid Nodes mit Kubernetes RBAC finden Sie unter. Clusterzugriff für Hybridknoten vorbereiten
Die IAM-Rolle Hybrid Nodes muss über die folgenden Berechtigungen verfügen.
-
Berechtigungen für
nodeadm
die Verwendung dereks:DescribeCluster
Aktion zum Sammeln von Informationen über den Cluster, der für die Verbindung von Hybridknoten mit dem Cluster verwendet wird. Wenn Sie dieeks:DescribeCluster
Aktion nicht aktivieren, müssen Sie Ihren Kubernetes-API-Endpunkt, das Cluster-CA-Bundle und den IPv4 Service-CIDR in der Knotenkonfiguration übergeben, an die Sienodeadm
bei der Ausführung von init übergeben.nodeadm
-
Bei Verwendung von AWS SSM: Berechtigungen zur Verwendung der
ssm:DeregisterManagedInstance
Aktion undssm:DescribeInstanceInformation
Aktion für zum Abmelden von Instanzen.nodeadm uninstall
-
(Optional) Berechtigungen für den Amazon EKS Pod Identity Agent zum Verwenden der Aktion
eks-auth:AssumeRoleForPodIdentity
, um Anmeldeinformationen für Pods abzurufen.
Richten Sie SSM-Hybrid-Aktivierungen AWS ein
Bevor Sie AWS SSM-Hybrid-Aktivierungen einrichten, müssen Sie eine IAM-Rolle für Hybrid Nodes erstellt und konfiguriert haben. Weitere Informationen finden Sie unter Erstellen Sie die IAM-Rolle Hybrid Nodes. Folgen Sie den Anweisungen unter Hybrid-Aktivierung erstellen, um Knoten bei Systems Manager zu registrieren im AWS Systems Manager Manager-Benutzerhandbuch, um eine AWS SSM-Hybrid-Aktivierung für Ihre Hybridknoten zu erstellen. Der Aktivierungscode und die ID, die Sie erhalten, werden zusammen verwendet, nodeadm
wenn Sie Ihre Hosts als Hybridknoten in Ihrem Amazon EKS-Cluster registrieren. Sie können zu einem späteren Zeitpunkt zu diesem Schritt zurückkehren, nachdem Sie Ihre Amazon EKS-Cluster für Hybridknoten erstellt und vorbereitet haben.
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.
Standardmäßig sind AWS SSM-Hybrid-Aktivierungen 24 Stunden lang aktiv. Alternativ können Sie --expiration-date
bei der Erstellung Ihrer Hybrid-Aktivierung eine im Zeitstempelformat angeben, z. B. 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 Instanzen in der AWS Systems Manager-Konsole unter Fleet Manager anzeigen und verwalten. Sie können bis zu 1.000 standardmäßige, hybridaktivierte Knoten 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 des Advanced-Instance-Tarifs fällt eine Gebühr an, die nicht in den Preisen für Amazon EKS Hybrid Nodes
Im folgenden Beispiel erfahren Sie, wie Sie eine AWS SSM-Hybrid-Aktivierung mit Ihrer Hybrid Nodes IAM-Rolle erstellen. Wenn Sie AWS SSM-Hybrid-Aktivierungen für Ihre Hybridknoten-Anmeldeinformationen verwenden, haben die Namen Ihrer Hybridknoten das gleiche 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 von AWS SSM automatisch rotiert, und die Rotation hat keine Auswirkungen auf den Status Ihrer Knoten oder Anwendungen.
Es wird empfohlen, eine AWS SSM-Hybrid-Aktivierung pro EKS-Cluster zu verwenden, um die AWS ssm:DeregisterManagedInstance
SSM-Berechtigungen der IAM-Rolle Hybrid Nodes so zu definieren, dass nur Instances deregistriert werden können, die mit Ihrer SSM-Hybrid-Aktivierung verknüpft sind. AWS In dem 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 alternativ Ihr bevorzugtes Tag und Ihre bevorzugte Methode verwenden, um den Umfang der AWS SSM-Berechtigungen auf der Grundlage Ihrer Berechtigungsgrenzen und Anforderungen festzulegen. Die REGISTRATION_LIMIT
Option im folgenden Befehl ist eine Ganzzahl, die verwendet wird, um die Anzahl der Maschinen zu begrenzen, die die AWS SSM-Hybridaktivierung verwenden können (zum Beispiel) 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-Hybrid-Aktivierungen finden Sie in den Anweisungen unter Hybrid-Aktivierung erstellen, um Knoten bei Systems Manager zu registrieren.
Richten Sie AWS IAM-Rollen überall ein
Folgen Sie den Anweisungen unter Erste Schritte mit IAM Roles Anywhere im IAM Roles Anywhere-Benutzerhandbuch, um den Vertrauensanker und das Profil einzurichten, die Sie für temporäre IAM-Anmeldeinformationen für Ihre Hybrid Nodes IAM-Rolle verwenden werden. Wenn Sie Ihr Profil erstellen, können Sie es erstellen, ohne Rollen hinzuzufügen. Sie können dieses Profil erstellen, zu diesen Schritten zurückkehren, um Ihre Hybrid Nodes IAM-Rolle zu erstellen, und Ihre Rolle dann Ihrem Profil hinzufügen, nachdem sie erstellt wurde. 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 Hybrid Nodes hinzufügen, wählen Sie im Bereich Sitzungsname für benutzerdefinierte Rolle unten auf der Seite Profil bearbeiten in der AWS IAM Roles Anywhere-Konsole die Option Sitzungsname der benutzerdefinierten Rolle akzeptieren aus. Dies entspricht dem Feld „acceptRoleSessionName“ der CreateProfile
API. Auf diese Weise können Sie in der Konfiguration, an die Sie nodeadm
während des Bootstrap-Prozesses übergeben, einen benutzerdefinierten Knotennamen für Ihre Hybridknoten angeben. Die Übergabe eines benutzerdefinierten Knotennamens während des nodeadm init
Vorgangs ist erforderlich. Sie können Ihr Profil nach der Erstellung Ihres Profils so aktualisieren, dass es einen Sitzungsnamen mit einer benutzerdefinierten Rolle akzeptiert.
Sie können die Gültigkeitsdauer der Anmeldeinformationen mit AWS IAM Roles Anywhere über das Feld DurationSeconds Ihres AWS IAM Roles Anywhere-Profils konfigurieren. Die Standarddauer beträgt 1 Stunde mit einem Maximum von 12 Stunden. Die MaxSessionDuration
Einstellung in Ihrer IAM-Rolle Hybrid Nodes muss größer sein als die durationSeconds
Einstellung in Ihrem AWS IAM Roles Anywhere-Profil. Weitere Informationen dazu finden Sie in der MaxSessionDuration
UpdateRole API-Dokumentation.
Die Zertifikate und Schlüssel pro Computer, die Sie von Ihrer Zertifizierungsstelle (CA) generieren, 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.
Erstellen Sie die IAM-Rolle Hybrid Nodes
Um die Schritte in diesem Abschnitt auszuführen, muss der IAM-Principal, 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. Siehe Installation oder Aktualisierung auf die letzte Version der AWS CLI.
Schritte für AWS SSM-Hybrid-Aktivierungen
Der CloudFormation Stack erstellt die IAM-Rolle Hybrid Nodes mit den oben beschriebenen Berechtigungen. Die CloudFormation Vorlage erstellt die AWS SSM-Hybrid-Aktivierung nicht.
-
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 eine
cfn-ssm-parameters.json
mit den folgenden Optionen:-
ROLE_NAME
Ersetzen Sie es durch den Namen für Ihre Hybrid Nodes IAM-Rolle. Standardmäßig verwendetAmazonEKSHybridNodesRole
die CloudFormation Vorlage den Namen der Rolle, die sie erstellt, wenn Sie keinen Namen angeben. -
TAG_KEY
Ersetzen Sie es durch den AWS SSM-Ressourcen-Tag-Schlüssel, den Sie bei der Erstellung Ihrer AWS SSM-Hybrid-Aktivierung 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 mit AWS SSM verwalteten Instanzen, die mit Ihrer SSM-Hybrid-Aktivierung verknüpft sind, aufheben darf.ssm:DeregisterManagedInstance
AWS In der Vorlage ist der Standardwert CloudFormation .TAG_KEY
EKSClusterARN
-
TAG_VALUE
Ersetzen Sie es durch den Wert des AWS SSM-Ressourcen-Tags, den Sie bei der Erstellung Ihrer AWS SSM-Hybrid-Aktivierung 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 mit AWS SSM verwalteten Instanzen, die mit Ihrer SSM-Hybrid-Aktivierung verknüpft sind, aufheben darf.ssm:DeregisterManagedInstance
AWS Wenn Sie den StandardTAG_KEY
von verwendenEKSClusterARN
, ü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 CloudFormation Stack bereit.
STACK_NAME
Ersetzen Sie ihn durch Ihren Namen für den CloudFormation Stack.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 mit 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.
-
Um eine Zertifizierungsstelle (CA) einzurichten
-
Um eine AWS private CA-Ressource zu verwenden, öffnen Sie die AWS Private Certificate Authority-Konsole
. Folgen Sie den Anweisungen im AWS Private CA-Benutzerhandbuch. -
Um eine externe Zertifizierungsstelle zu verwenden, folgen Sie den Anweisungen der Zertifizierungsstelle. Sie geben die Zertifizierungsstelle in einem späteren Schritt an.
-
Öffentlich ausgestellte Zertifikate CAs können nicht als Vertrauensanker 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 eine
cfn-iamra-parameters.json
mit den folgenden Optionen:-
ROLE_NAME
Ersetzen Sie es durch den Namen für Ihre Hybrid Nodes IAM-Rolle. Standardmäßig verwendetAmazonEKSHybridNodesRole
die CloudFormation Vorlage den Namen der Rolle, die sie erstellt, wenn Sie keinen Namen angeben. -
CERT_ATTRIBUTE
Ersetzen Sie es durch das Zertifikatsattribut pro Computer, das Ihren Host eindeutig identifiziert. Das von Ihnen verwendete Zertifikatsattribut muss mit dem NodeName übereinstimmen, den Sie für dienodeadm
Konfiguration verwenden, wenn Sie Hybridknoten mit Ihrem Cluster verbinden. Weitere Informationen hierzu finden Sie unter nodeadmReferenz für Hybridknoten. Standardmäßig verwendet die CloudFormation Vorlage${aws:PrincipalTag/x509Subject/CN}
asCERT_ATTRIBUTE
, was dem CN-Feld Ihrer Computerzertifikate entspricht. Sie können es auch$(aws:PrincipalTag/x509SAN/Name/CN}
als IhrCERT_ATTRIBUTE
Passwort übergeben. -
CA_CERT_BODY
Ersetzen Sie es durch die Zertifizierungsstelle Ihrer Zertifizierungsstelle ohne Zeilenumbrüche. DasCA_CERT_BODY
muss im PEM-Format (Privacy Enhanced Mail) vorliegen. Wenn Sie über ein CA-Zertifikat im PEM-Format verfügen, entfernen Sie die Zeilenumbrüche und die Zeilen BEGIN CERTIFICATE und END CERTIFICATE, bevor Sie den Hauptteil des CA-Zertifikats 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_NAME
Ersetzen Sie es durch Ihren Namen für den CloudFormation Stack.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. Siehe Installation oder Aktualisierung auf die letzte Version der AWS CLI.
Erstellen Sie die EKS Describe Cluster-Richtlinie
-
Erstellen Sie eine Datei
eks-describe-cluster-policy.json
mit dem folgenden Inhalt:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster" ], "Resource": "*" } ] }
-
Erstellen Sie die Richtlinie mit dem folgenden Befehl:
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.json
und dem folgenden Inhalt. Die Richtlinie gewährt die Genehmigung für zwei Aktionenssm:DescribeInstanceInformation
und.ssm:DeregisterManagedInstance
Die Richtlinie beschränkt diessm:DeregisterManagedInstance
Berechtigung auf AWS SSM-verwaltete Instanzen, die mit Ihrer AWS SSM-Hybrid-Aktivierung verknüpft sind, basierend auf dem Ressourcen-Tag, das Sie in Ihrer Vertrauensrichtlinie angeben.-
Ersetzen Sie es
AWS_REGION
durch die AWS Region für Ihre AWS SSM-Hybrid-Aktivierung. -
Ersetzen Sie
AWS_ACCOUNT_ID
durch Ihre AWS Konto-ID. -
TAG_KEY
Ersetzen Sie es durch den AWS SSM-Ressourcen-Tag-Schlüssel, den Sie bei der Erstellung Ihrer AWS SSM-Hybrid-Aktivierung 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 mit AWS SSM verwalteten Instanzen, die mit Ihrer SSM-Hybrid-Aktivierung verknüpft sind, aufheben darf.ssm:DeregisterManagedInstance
AWS In der Vorlage ist der Standardwert CloudFormation .TAG_KEY
EKSClusterARN
-
TAG_VALUE
Ersetzen Sie es durch den Wert des AWS SSM-Ressourcen-Tags, den Sie bei der Erstellung Ihrer AWS SSM-Hybrid-Aktivierung 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 mit AWS SSM verwalteten Instanzen, die mit Ihrer SSM-Hybrid-Aktivierung verknüpft sind, aufheben darf.ssm:DeregisterManagedInstance
AWS Wenn Sie den StandardTAG_KEY
von verwendenEKSClusterARN
, ü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:AWS_REGION:AWS_ACCOUNT_ID:managed-instance/*", "Condition": { "StringEquals": { "ssm:resourceTag/TAG_KEY": "TAG_VALUE" } } } ] }
-
-
Erstellen Sie die Richtlinie mit dem folgenden Befehl
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_REGION
Ersetzen Sie es durch die AWS Region Ihrer AWS SSM-Hybrid-Aktivierung undAWS_ACCOUNT_ID
durch Ihre AWS Konto-ID.{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:*" } } } ] }
-
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
-
Hängen Sie das
EKSDescribeClusterPolicy
und das anEKSHybridSSMPolicy
, das Sie in den vorherigen Schritten erstellt haben.AWS_ACCOUNT_ID
Ersetzen Sie es durch Ihre AWS Konto-ID.aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSDescribeClusterPolicy
aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSHybridSSMPolicy
-
Hängen Sie die
AmazonEC2ContainerRegistryPullOnly
und dieAmazonSSMManagedInstanceCore
AWS verwalteten Richtlinien an.aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
aws 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 Hybrid Nodes erstellen. Detaillierte Anweisungen finden Sie unter Richten Sie AWS IAM-Rollen überall ein.
-
Erstellen Sie eine Datei namens
eks-hybrid-iamra-trust.json
.TRUST_ANCHOR ARN
Ersetzen Sie ihn durch den ARN des Vertrauensankers, den Sie in den Richten Sie AWS IAM-Rollen überall ein Schritten erstellt haben. Die Bedingung in dieser Vertrauensrichtlinie schränkt die Fähigkeit von AWS IAM Roles Anywhere ein, die IAM-Rolle Hybrid Nodes anzunehmen und temporäre IAM-Anmeldeinformationen nur auszutauschen, wenn der Name der Rollensitzung mit dem CN im x509-Zertifikat übereinstimmt, das auf Ihren Hybridknoten installiert ist. Sie können auch andere Zertifikatsattribute verwenden, um Ihren Knoten eindeutig zu identifizieren. Das Zertifikatsattribut, das Sie in der Vertrauensrichtlinie verwenden, muss dem entsprechen, dasnodeName
Sie in Ihrernodeadm
Konfiguration festgelegt haben. Weitere Informationen hierzu finden Sie unter nodeadmReferenz für Hybridknoten.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } }, { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } } ] }
-
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
-
Hängen
EKSDescribeClusterPolicy
Sie die an, die Sie in den vorherigen Schritten erstellt haben.AWS_ACCOUNT_ID
Ersetzen Sie es durch Ihre AWS Konto-ID.aws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::AWS_ACCOUNT_ID:policy/EKSDescribeClusterPolicy
-
Hängen Sie die
AmazonEC2ContainerRegistryPullOnly
AWS verwaltete Richtlinie anaws iam attach-role-policy \ --role-name AmazonEKSHybridNodesRole \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
AWS Management Console
Erstellen Sie die EKS Describe Cluster-Richtlinie
-
Öffnen Sie die Amazon IAM-Konsole
-
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“ im Bereich Service auswählen die Option EKS aus.
-
Filtern Sie Aktionen nach DescribeClusterund wählen Sie die Aktion DescribeClusterLesen aus.
-
Wählen Sie Weiter.
-
-
Auf der Seite Überprüfen und erstellen
-
Geben Sie einen Richtliniennamen für Ihre Richtlinie ein,
EKSDescribeClusterPolicy
z. B. -
Wählen Sie Create Policy (Richtlinie erstellen) aus.
-
Schritte für AWS SSM-Hybrid-Aktivierungen
-
Öffnen Sie die Amazon IAM-Konsole
-
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“ im Richtlinien-Editor oben rechts die Option JSON aus. Fügen Sie das folgende Snippet ein.
AWS_REGION
Ersetzen Sie es durch die AWS Region Ihrer AWS SSM-Hybrid-Aktivierung undAWS_ACCOUNT_ID
ersetzen Sie es durch Ihre AWS Konto-ID. Ersetzen SieTAG_KEY
undTAG_VALUE
durch den AWS SSM-Ressourcen-Tag-Schlüssel, den Sie bei der Erstellung Ihrer AWS SSM-Hybrid-Aktivierung verwendet haben.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:DescribeInstanceInformation", "Resource": "*" }, { "Effect": "Allow", "Action": "ssm:DeregisterManagedInstance", "Resource": "arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:managed-instance/*", "Condition": { "StringEquals": { "ssm:resourceTag/TAG_KEY": "TAG_VALUE" } } } ] }
-
Wählen Sie Weiter.
-
-
Auf der Seite Überprüfen und erstellen.
-
Geben Sie einen Richtliniennamen für Ihre Richtlinie ein, z. B.
EKSHybridSSMPolicy
-
Wählen Sie Create Policy (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 im Abschnitt Vertrauenswürdiger Entitätstyp die Option Benutzerdefinierte Vertrauensrichtlinie aus. Fügen Sie Folgendes in den Editor für benutzerdefinierte Vertrauensrichtlinien ein.
AWS_REGION
Ersetzen Sie es durch die AWS Region Ihrer AWS SSM-Hybrid-Aktivierung undAWS_ACCOUNT_ID
durch Ihre AWS Konto-ID.{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"AWS_ACCOUNT_ID" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:AWS_REGION:AWS_ACCOUNT_ID:*" } } } ] }
-
Wählen Sie Weiter.
-
-
Führen Sie auf der Seite Add permissions (Berechtigungen hinzufügen) die folgenden Schritte aus:
-
Geben Sie in das Feld Richtlinien filtern den Namen der Richtlinie ein
EKSDescribeClusterPolicy
, die Sie oben erstellt haben. Aktivieren Sie in den Suchergebnissen das Kontrollkästchen links neben Ihrem Richtliniennamen. -
Geben Sie in das Feld Richtlinien filtern den Namen der Richtlinie ein
EKSHybridSSMPolicy
, die Sie oben erstellt haben. Aktivieren Sie in den Suchergebnissen das Kontrollkästchen links neben Ihrem Richtliniennamen. -
Geben Sie im Feld Filter policies (Filterrichtlinien)
AmazonEC2ContainerRegistryPullOnly
ein. Aktivieren Sie das Kontrollkästchen links nebenAmazonEC2ContainerRegistryPullOnly
den Suchergebnissen. -
Geben Sie im Feld Filter policies (Filterrichtlinien)
AmazonSSMManagedInstanceCore
ein. Aktivieren Sie das Kontrollkästchen links nebenAmazonSSMManagedInstanceCore
den Suchergebnissen. -
Wählen Sie Weiter.
-
-
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.
-
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 Hybrid Nodes erstellen. Detaillierte Anweisungen finden Sie unter Richten Sie AWS IAM-Rollen überall ein.
-
Öffnen Sie die Amazon IAM-Konsole
-
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 im Abschnitt Vertrauenswürdiger Entitätstyp die Option Benutzerdefinierte Vertrauensrichtlinie aus. Fügen Sie Folgendes in den Editor für benutzerdefinierte Vertrauensrichtlinien ein.
TRUST_ANCHOR ARN
Ersetzen Sie ihn durch den ARN des Vertrauensankers, den Sie in den Richten Sie AWS IAM-Rollen überall ein Schritten erstellt haben. Die Bedingung in dieser Vertrauensrichtlinie schränkt die Fähigkeit von AWS IAM Roles Anywhere ein, die IAM-Rolle Hybrid Nodes anzunehmen und temporäre IAM-Anmeldeinformationen nur auszutauschen, wenn der Name der Rollensitzung mit dem CN im x509-Zertifikat übereinstimmt, das auf Ihren Hybridknoten installiert ist. Sie können auch andere Zertifikatsattribute verwenden, um Ihren Knoten eindeutig zu identifizieren. Das Zertifikatsattribut, das Sie in der Vertrauensrichtlinie verwenden, muss dem NodeName entsprechen, den Sie in Ihrer nodeadm-Konfiguration festgelegt haben. Weitere Informationen hierzu finden Sie unter nodeadmReferenz für Hybridknoten.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": [ "sts:TagSession", "sts:SetSourceIdentity" ], "Condition": { "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } }, { "Effect": "Allow", "Principal": { "Service": "rolesanywhere.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}" }, "ArnEquals": { "aws:SourceArn": "TRUST_ANCHOR_ARN" } } } ] }
-
Wählen Sie Weiter.
-
-
Führen Sie auf der Seite Add permissions (Berechtigungen hinzufügen) die folgenden Schritte aus:
-
Geben Sie in das Feld Richtlinien filtern den Namen der Richtlinie ein
EKSDescribeClusterPolicy
, die Sie oben erstellt haben. Aktivieren Sie in den Suchergebnissen das Kontrollkästchen links neben Ihrem Richtliniennamen. -
Geben Sie im Feld Filter policies (Filterrichtlinien)
AmazonEC2ContainerRegistryPullOnly
ein. Aktivieren Sie das Kontrollkästchen links nebenAmazonEC2ContainerRegistryPullOnly
den Suchergebnissen. -
Wählen Sie Weiter.
-
-
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.
-