Amazon-EKS-Knoten-IAM-Rolle - Amazon EKS

Amazon-EKS-Knoten-IAM-Rolle

Der Amazon EKS-Knoten-kubelet-Daemon ruft AWS-APIs in Ihrem Namen auf. Knoten erhalten über ein IAM-Instance-Profil und zugehörige Richtlinien Berechtigungen für diese API-Aufrufe. Bevor Sie Knoten starten und in einem Cluster registrieren können, müssen Sie eine IAM-Rolle erstellen, die diese Knoten beim Start verwenden können. Diese Anforderung gilt für Knoten, die mit dem für Amazon EKS optimierten AMI von Amazon oder mit anderen Knoten-AMIs gestartet werden, die Sie verwenden möchten. Bevor Sie Knoten erstellen, müssen Sie eine IAM-Rolle mit den folgenden IAM-Richtlinien erstellen:

Nach einer vorhandenen Knotenrolle suchen

Mit dem folgenden Verfahren können Sie feststellen, ob Ihr Konto bereits über die Amazon-EKS-Knotenrolle verfügt.

So prüfen Sie eksNodeRole in der IAM-Konsole

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

  2. Wählen Sie im Navigationspanel Rollen aus.

  3. Suchen Sie in der Liste der Rollen nach eksNodeRole. Wenn keine Rolle mit eksNodeRole oder NodeInstanceRole vorhanden ist, informieren Sie sich unter Erstellen der Amazon-EKS-Knoten-IAM-Rolle, wie Sie die Rolle erstellen können. Wenn eine Rolle mit eksNodeRole oder NodeInstanceRole vorhanden ist, wählen Sie die Rolle aus, um die angehängten Richtlinien anzuzeigen.

  4. Wählen Sie Permissions (Berechtigungen).

  5. Stellen Sie sicher, dass die verwalteten Richtlinien AmazonEKSWorkerNodePolicy und AmazonEC2ContainerRegistryReadOnly an die Rolle angefügt sind. Wenn die Richtlinien angefügt sind, ist Ihre Amazon-EKS-Knoten-Rolle korrekt konfiguriert.

    Anmerkung

    Wenn die AmazonEKS_CNI_Policy-Richtlinie an die Rolle angehängt ist, empfehlen wir, sie zu entfernen und einer IAM-Rolle anzuhängen, die stattdessen dem aws-node-Kubernetes-Servicekonto zugeordnet ist. Weitere Informationen finden Sie unter Konfigurieren des Amazon-VPC-CNI-Plug-Ins zur Verwendung von IAM-Rollen für Servicekonten.

  6. Klicken Sie auf der Registerkarte Trust Relationships (Vertrauensstellung) auf Edit Trust Relationship (Vertrauensstellung bearbeiten).

  7. Überprüfen Sie, dass die Vertrauensstellung die folgende Richtlinie enthält. Wenn die Vertrauensstellung mit der unten angegebenen Richtlinie übereinstimmt, wählen Sie Cancel. Andernfalls kopieren Sie die Richtlinie in das Fenster Policy Document und wählen Update Trust Policy aus.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Erstellen der Amazon-EKS-Knoten-IAM-Rolle

Sie können die Knoten-IAM-Rolle mit dem AWS Management Console oder AWS CloudFormation erstellen. Wählen Sie die Registerkarte mit dem Namen des Werkzeugs aus, mit dem Sie die Rolle erstellen möchten.

AWS Management Console

So erstellen Sie Ihre Amazon EKS-Knotenrolle in der IAM-Konsole

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

  2. Wählen Sie Roles (Rollen) und anschließend Create Role (Rolle erstellen) aus.

  3. Wählen Sie EC2 aus der Liste der Häufigen Anwendungsfälle unter Choose a use case (Anwendungsfall auswählen), und wählen Sie dann Next: Permissions (Weiter: Berechtigungen).

  4. Geben Sie im Feld Filter policies (Filterrichtlinien) AmazonEKSWorkerNodePolicy ein. Aktivieren Sie das Kontrollkästchen links neben AmazonEKSWorkerNodePolicy.

  5. Geben Sie im Feld Filter policies (Filterrichtlinien) AmazonEC2ContainerRegistryReadOnly ein. Aktivieren Sie das Kontrollkästchen links neben AmazonEC2ContainerRegistryReadOnly.

  6. Die AmazonEKS_CNI_Policy-Richtlinie muss entweder an diese Rolle oder an eine andere Rolle angehängt werden, die dem aws-node-Kubernetes-Dienstkonto zugeordnet ist. Wir empfehlen, die Richtlinie der Rolle zuzuweisen, die dem Kubernetes-Dienstkonto zugeordnet ist, anstatt sie dieser Rolle zuzuweisen. Weitere Informationen finden Sie unter Konfigurieren des Amazon-VPC-CNI-Plug-Ins zur Verwendung von IAM-Rollen für Servicekonten.

  7. Wählen Sie Next: Tags (Weiter: Tags (Markierungen)) aus.

  8. (Optional) Fügen Sie der Rolle Metadaten hinzu, indem Sie Tags als Schlüssel-Wert-Paare anfügen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter Taggen von IAM-Entitäten im IAM-Benutzerhandbuch.

  9. Klicken Sie auf Next: Review (Weiter: Prüfen).

  10. Geben Sie für Rollenname einen eindeutigen Namen für Ihre Rolle ein, z. B. NodeInstanceRole. Ersetzen Sie für Rollenbeschreibung den aktuellen Text durch beschreibenden Text wie Amazon EKS – Knotengruppenrolle, und wählen Sie dann Rolle erstellen aus.

AWS CloudFormation

So erstellen Sie Ihre Amazon EKS-Knotenrolle mit AWS CloudFormation

  1. Öffnen Sie die AWS CloudFormation-Konsole unter https://console.aws.amazon.com/cloudformation.

  2. Wählen Sie Create stack (Stack erstellen) und dann With new resources (standard) (Mit neuen Ressourcen (Standard)) aus.

  3. Wählen Sie unter Vorlage angeben die Option Amazon-S3-URL aus.

  4. Fügen Sie die folgende URL in den Amazon-S3-URL-Textbereich ein und wählen Sie zweimal Weiter aus:

    https://amazon-eks.s3.us-west-2.amazonaws.com/cloudformation/2020-10-29/amazon-eks-nodegroup-role.yaml
  5. Geben Sie auf der Seite Specify stack details (Stackdetails angeben) für Stack name (Stackname) einen Namen wie beispielsweise eks-node-group-instance-role ein und wählen Sie Next (Weiter).

  6. (Optional) Auf der Seite Configure stack options (Stack-Optionen konfigurieren) können Sie auswählen, Ihre Stack-Ressourcen zu markieren. Wählen Sie Next.

  7. Aktivieren Sie auf der Seite Review (Überprüfen) das Kontrollkästchen im Abschnitt Capabilities (Fähigkeiten), und wählen Sie Create stack (Stapel erstellen).

  8. Wenn Ihr Stack erstellt wurde, wählen Sie ihn in der Konsole aus und klicken Sie auf Outputs (Ausgänge).

  9. Zeichnen Sie den NodeInstanceRole-Wert für die IAM-Rolle auf, die erstellt wurde. Dies benötigen Sie, wenn Sie Ihre Knotengruppe erstellen.

  10. (Optional, aber empfohlen) Eine der IAM-Richtlinien, die in einem vorherigen Schritt durch die AWS CloudFormation-Vorlage an die Rolle angehängt wurde, ist die verwaltete Richtlinie AmazonEKS_CNI_Policy. Die Richtlinie muss an diese Rolle oder an eine Rolle angehängt werden, die dem Kubernetes aws-node-Servicekonto zugeordnet ist, das für das Amazon-EKS-VPC-CNI-Plugin verwendet wird. Wir empfehlen, die Richtlinie der Rolle zuzuweisen, die dem Kubernetes-Servicekonto zugeordnet ist. Weitere Informationen finden Sie unter Konfigurieren des Amazon-VPC-CNI-Plug-Ins zur Verwendung von IAM-Rollen für Servicekonten.