Erstellen Sie eine ACK-Fähigkeit mit eksctl - Amazon EKS

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 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.

Erstellen Sie eine ACK-Fähigkeit mit eksctl

In diesem Thema wird beschrieben, wie Sie mit eksctl eine AWS Controllers for Kubernetes-Funktion (ACK) erstellen.

Anmerkung

Für die folgenden Schritte ist die Version eksctl oder höher erforderlich. 0.220.0 Führen Sie den Befehl aus, um Ihre Version zu überprüfen. eksctl version

Schritt 1: Erstellen Sie eine IAM-Capability-Rolle

Erstellen Sie eine Vertrauensrichtliniendatei:

cat > ack-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] } EOF

Erstellen Sie die IAM-Rolle:

aws iam create-role \ --role-name ACKCapabilityRole \ --assume-role-policy-document file://ack-trust-policy.json

Hängen Sie die AdministratorAccess verwaltete Richtlinie an die Rolle an:

aws iam attach-role-policy \ --role-name ACKCapabilityRole \ --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
Wichtig

Die vorgeschlagene AdministratorAccess Richtlinie gewährt umfassende Berechtigungen und soll den Einstieg vereinfachen. Für den produktiven Einsatz sollten Sie diese Richtlinie durch eine benutzerdefinierte Richtlinie ersetzen, die nur die Berechtigungen gewährt, die für die spezifischen AWS Dienste erforderlich sind, die Sie mit ACK verwalten möchten. Anleitungen zur Erstellung von Richtlinien mit den geringsten Rechten finden Sie unter und. ACK-Berechtigungen konfigurieren Sicherheitsüberlegungen für EKS-Funktionen

Wichtig

Diese Richtlinie gewährt Berechtigungen für die S3-Bucketverwaltung mit"Resource": "*", wodurch Operationen auf allen S3-Buckets möglich sind.

Für Produktionszwecke: * Beschränken Sie das Resource Feld auf bestimmte Bucket ARNs - oder Namensmuster * Verwenden Sie IAM-Bedingungsschlüssel, um den Zugriff anhand von Ressourcen-Tags einzuschränken * Gewähren Sie nur die für Ihren Anwendungsfall erforderlichen Mindestberechtigungen

Weitere AWS Dienste finden Sie unterACK-Berechtigungen konfigurieren.

Fügen Sie die Richtlinie an die Rolle an:

aws iam attach-role-policy \ --role-name ACKCapabilityRole \ --policy-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):policy/ACKS3Policy

Schritt 2: Erstellen Sie die ACK-Fähigkeit

Erstellen Sie die ACK-Fähigkeit mit eksctl. region-codeErsetzen Sie es durch die AWS Region, in der sich Ihr Cluster befindet, und my-cluster ersetzen Sie es durch den Namen Ihres Clusters.

eksctl create capability \ --cluster [.replaceable]`my-cluster` \ --region [.replaceable]`region-code` \ --name ack \ --type ACK \ --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ACKCapabilityRole \ --ack-service-controllers s3
Anmerkung

Die --ack-service-controllers Flagge ist optional. Wenn es weggelassen wird, aktiviert ACK alle verfügbaren Controller. Für eine bessere Leistung und Sicherheit sollten Sie erwägen, nur die Controller zu aktivieren, die Sie benötigen. Sie können mehrere Controller angeben: --ack-service-controllers s3,rds,dynamodb

Der Befehl kehrt sofort zurück, aber es dauert einige Zeit, bis die Funktion aktiv wird.

Schritt 3: Stellen Sie sicher, dass die Funktion aktiv ist

Überprüfen Sie den Status der Fähigkeit:

eksctl get capability \ --cluster [.replaceable]`my-cluster` \ --region [.replaceable]`region-code` \ --name ack

Die Fähigkeit ist bereit, wenn der Status angezeigt wirdACTIVE.

Schritt 4: Stellen Sie sicher, dass benutzerdefinierte Ressourcen verfügbar sind

Nachdem die Funktion aktiviert ist, stellen Sie sicher, dass benutzerdefinierte ACK-Ressourcen in Ihrem Cluster verfügbar sind:

kubectl api-resources | grep services.k8s.aws

Sie sollten eine Reihe von AWS Ressourcen in der APIs Liste sehen.

Anmerkung

Die Funktion für AWS Controller for Kubernetes wird eine Reihe von CRDs für eine Vielzahl von AWS Ressourcen installieren.

Nächste Schritte