View a markdown version of this page

Erstellen Sie eine Kro-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 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.

Erstellen Sie eine Kro-Fähigkeit mit eksctl

Erstellen Sie mit eksctl eine Kro-Funktion auf Ihrem Amazon EKS-Cluster.

Anmerkung

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

Schritt 1: Erstellen Sie eine IAM-Funktionsrolle

Erstellen Sie eine Vertrauensrichtliniendatei:

cat > kro-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 KROCapabilityRole \ --assume-role-policy-document file://kro-trust-policy.json
Anmerkung

Im Gegensatz zu ACK und Argo CD benötigt kro keine zusätzlichen IAM-Berechtigungen, die über die Vertrauensrichtlinie hinausgehen. Kro arbeitet vollständig innerhalb Ihres Clusters und führt keine API-Aufrufe durch. AWS

Schritt 2: Erstellen Sie die Kro-Funktion

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

eksctl create capability \ --region region-code \ --cluster my-cluster \ --name my-kro \ --type KRO \ --role-arn arn:aws:iam::111122223333:role/KROCapabilityRole

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. region-codeErsetzen Sie durch die AWS Region, in der sich Ihr Cluster befindet, und my-cluster ersetzen Sie es durch den Namen Ihres Clusters.

eksctl get capability \ --region region-code \ --cluster my-cluster \ --name my-kro

Die Funktion ist bereit, wenn der Status angezeigt wirdACTIVE.

Schritt 4: Erteilen Sie Berechtigungen zur Verwaltung von Kubernetes-Ressourcen

Standardmäßig kann Kro nur ihre Instanzen erstellen ResourceGraphDefinitions und verwalten. Damit kro die zugrunde liegenden Kubernetes-Ressourcen, die in Ihrer definiert sind, erstellen und verwalten kann ResourceGraphDefinitions, verknüpfen Sie die AmazonEKSClusterAdminPolicy Zugriffsrichtlinie mit dem Zugriffseintrag der Funktion.

Rufen Sie den ARN der Funktionsrolle ab:

CAPABILITY_ROLE_ARN=$(aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-kro \ --query 'capability.roleArn' \ --output text)

Ordnen Sie die Cluster-Administratorrichtlinie zu:

aws eks associate-access-policy \ --region region-code \ --cluster-name my-cluster \ --principal-arn $CAPABILITY_ROLE_ARN \ --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy \ --access-scope type=cluster
Wichtig

Das AmazonEKSClusterAdminPolicy gewährt weitreichende Berechtigungen zum Erstellen und Verwalten aller Kubernetes-Ressourcen und soll den Einstieg vereinfachen. Erstellen Sie für den Produktionseinsatz restriktivere RBAC-Richtlinien, die nur die Berechtigungen gewähren, die für die spezifischen Ressourcen erforderlich sind, die Sie verwalten werden. ResourceGraphDefinitions Eine Anleitung zur Konfiguration von Berechtigungen mit geringsten Rechten finden Sie unter und. Kro-Berechtigungen konfigurieren Sicherheitsüberlegungen für EKS-Funktionen

Schritt 5: Überprüfen Sie, ob benutzerdefinierte Ressourcen verfügbar sind

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

kubectl api-resources | grep kro.run

Sie sollten den ResourceGraphDefinition Ressourcentyp in der Liste sehen.

Nächste Schritte