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.
EKSAmazon-Cluster mit Step Functions erstellen und verwalten
Erfahren Sie, wie Sie Step Functions mit Amazon integrierenEKS, um Kubernetes-Cluster zu verwalten. Step Functions bietet zwei Arten der Serviceintegration APIs für die Integration mit Amazon Elastic Kubernetes Service. Mit einem können Sie Amazon verwenden EKSAPIs, um einen EKS Amazon-Cluster zu erstellen und zu verwalten. Mit der anderen können Sie mithilfe von Kubernetes mit Ihrem Cluster interagieren API und Jobs als Teil des Workflows Ihrer Anwendung ausführen.
Sie können die API Kubernetes-Integrationen mit EKS Amazon-Clustern verwenden, die mit Step Functions erstellt wurden, mit EKS Amazon-Clustern, die mit dem eksctl-Tool oder der EKSAmazon-Konsole
Um mehr über die Integration mit zu erfahren AWS Dienste in Step Functions, siehe Integrieren von -Services undÜbergeben von Parametern an einen Dienst API in Step Functions.
Hauptmerkmale der optimierten EKS Amazon-Integration
-
Das Ausführen einer Aufgabe (.sync) Integrationsmuster wird unterstützt.
-
Es gibt keine Optimierungen für das Request Response (Antwort anfordern) Integrationsmuster.
-
Das Warten Sie auf einen Rückruf mit Task Token Integrationsmuster wird nicht unterstützt.
Anmerkung
Die Step Functions EKS Functions-Integration unterstützt nur Kubernetes APIs mit öffentlichem Endpunktzugriff. Standardmäßig haben EKS API Cluster-Serverendpunkte öffentlichen Zugriff. Weitere Informationen finden Sie unter Amazon EKS Cluster Endpoint Access Control im EKSAmazon-Benutzerhandbuch.
Step Functions beendet einen EKS Amazon-Cluster nicht automatisch, wenn die Ausführung gestoppt wird. Wenn Ihr State Machine stoppt, bevor Ihr EKS Amazon-Cluster beendet wurde, läuft Ihr Cluster möglicherweise auf unbestimmte Zeit weiter und es können zusätzliche Gebühren anfallen. Um dies zu vermeiden, stellen Sie sicher, dass jeder EKS Amazon-Cluster, den Sie erstellen, ordnungsgemäß beendet wird. Weitere Informationen finden Sie unter:
-
Löschen eines Clusters im EKS Amazon-Benutzerhandbuch.
-
Ausführen einer Aufgabe (.sync)in Muster der Serviceintegration.
Anmerkung
In Step Functions gibt es ein Kontingent für die maximale Eingabe- oder Ergebnisdatengröße für eine Aufgabe. Dadurch sind Sie auf 256 KB an Daten als UTF -8-kodierte Zeichenfolge beschränkt, wenn Sie Daten an einen anderen Dienst senden oder von einem anderen Dienst empfangen. Siehe Kontingente im Zusammenhang mit der Ausführung von Zustandsmaschinen.
Kubernetes-Integrationen API
Step Functions unterstützt die folgenden KubernetesAPIs:
RunJob
Die eks:runJob
Service-Integration ermöglicht es Ihnen, einen Job auf Ihrem EKS Amazon-Cluster auszuführen. Bei eks:runJob.sync
dieser Variante können Sie warten, bis der Job abgeschlossen ist, und optional Protokolle abrufen.
Ihr API Kubernetes-Server muss der IAM Rolle, die von Ihrem State Machine verwendet wird, Berechtigungen gewähren. Weitere Informationen finden Sie unter Berechtigungen.
Für das Run a Job (.sync
) -Muster wird der Status des Jobs durch Abfragen bestimmt. Step Functions fragt zunächst mit einer Geschwindigkeit von ungefähr 1 Umfrage pro Minute ab. Diese Rate verlangsamt sich schließlich auf etwa 1 Umfrage alle 5 Minuten. Wenn Sie häufigere Abfragen benötigen oder mehr Kontrolle über die Abfragestrategie benötigen, können Sie die eks:call
Integration verwenden, um den Status des Jobs abzufragen.
Die eks:runJob
Integration ist spezifisch für batch/v1
Kubernetes Jobs. Weitere Informationen finden Sie unter Jobseks:call
Sie können Step Functions verwenden, um Abfrageschleifen zu erstellen, wie im Umfrage zum Jobstatus mit Lambda und AWS Batch Beispielprojekt gezeigt.
Zu den unterstützten Parametern gehören:
-
ClusterName
: Der Name des EKS Amazon-Clusters, den Sie aufrufen möchten.-
Type
:String
-
Erforderlich: Ja
-
-
CertificateAuthority
: Die Base64-codierten Zertifikatsdaten, die für die Kommunikation mit Ihrem Cluster erforderlich sind. Sie können diesen Wert über die EKSAmazon-Konsoleoder über Amazon abrufen EKS DescribeClusterAPI. -
Type
:String
-
Erforderlich: Ja
-
-
Endpoint
: Der Endpunkt URL für Ihren Kubernetes-ServerAPI. Sie können diesen Wert über die EKSAmazon-Konsoleoder über Amazon abrufen EKS DescribeClusterAPI. -
Type
:String
-
Erforderlich: Ja
-
-
Namespace
: Der Namespace, in dem der Job ausgeführt werden soll. Wenn nicht angegeben, wird der Namespacedefault
verwendet.-
Type
:String
-
Erforderlich: nein
-
-
Job
: Die Definition des Kubernetes-Jobs. Siehe Jobsin der Kubernetes-Dokumentation. -
Type
:JSON
oderString
-
Erforderlich: Ja
-
-
LogOptions
: Eine Reihe von Optionen zur Steuerung des optionalen Abrufs von Protokollen. Gilt nur, wenn das Dienstintegrationsmuster Run a Job (.sync) verwendet wird, um auf den Abschluss des Jobs zu warten.-
Type
:JSON
-
Erforderlich: nein
-
Protokolle sind in der Antwort unter dem Schlüssel
logs
enthalten. Der Job kann mehrere Pods mit jeweils mehreren Containern enthalten.{ ... "logs": { "pods": { "pod1": { "containers": { "container1": { "log":
<log>
}, ... } }, ... } } -
Der Protokollabruf erfolgt nach bestem Wissen und Gewissen. Wenn beim Abrufen eines Protokolls ein Fehler auftritt, werden anstelle des
log
Felds die Felder und angezeigt.error
cause
-
-
LogOptions.RetrieveLogs
: Aktiviert den Protokollabruf nach Abschluss des Jobs. Standardmäßig werden Protokolle nicht abgerufen.-
Type
:Boolean
-
Erforderlich: nein
-
-
LogOptions.RawLogs
: Wenn auf true gesetztRawLogs
ist, werden Logs als unformatierte Zeichenketten zurückgegeben, ohne dass versucht wird, sie zu JSON analysieren. Standardmäßig werden Logs nach Möglichkeit deserialisiert. JSON In einigen Fällen kann eine solche Analyse zu unerwünschten Änderungen führen, z. B. zur Einschränkung der Genauigkeit von Zahlen mit vielen Ziffern.-
Type
:Boolean
-
Erforderlich: nein
-
-
LogOptions.LogParameters
: Das Read Log API von Kubernetes API unterstützt Abfrageparameter zur Steuerung des Log-Abrufs. Sie können beispielsweisetailLines
oder verwenden,limitBytes
um die Größe der abgerufenen Protokolle zu begrenzen und dabei das Datengrößenkontingent von Step Functions einzuhalten. Weitere Informationen finden Sie im Abschnitt „Protokoll lesen“ der Kubernetes-ReferenzAPI. -
Type:
Karte von bisString
List of Strings
-
Erforderlich: nein
-
Beispiel:
"LogParameters": { "tailLines": [ "6" ] }
-
Das folgende Beispiel enthält einen Task
Status, der einen Job ausführt, auf seinen Abschluss wartet und dann die Logs des Jobs abruft:
{
"StartAt": "Run a job on EKS",
"States": {
"Run a job on EKS": {
"Type": "Task",
"Resource": "arn:aws:states:::eks:runJob.sync",
"Parameters": {
"ClusterName": "MyCluster",
"CertificateAuthority": "ANPAJ2UCCR6DPCEXAMPLE",
"Endpoint": "https://AKIAIOSFODNN7EXAMPLE.yl4.us-east-1.eks.amazonaws.com",
"LogOptions": {
"RetrieveLogs": true
},
"Job": {
"apiVersion": "batch/v1",
"kind": "Job",
"metadata": {
"name": "example-job"
},
"spec": {
"backoffLimit": 0,
"template": {
"metadata": {
"name": "example-job"
},
"spec": {
"containers": [
{
"name": "pi-2000",
"image": "perl",
"command": [ "perl" ],
"args": [
"-Mbignum=bpi",
"-wle",
"print bpi(2000)"
]
}
],
"restartPolicy": "Never"
}
}
}
}
},
"End": true
}
}
}
Call
Die eks:call
Serviceintegration ermöglicht es Ihnen, Kubernetes zum Lesen und Schreiben von Kubernetes-Ressourcenobjekten über einen Kubernetes-Endpunkt API zu verwenden. API
Ihr API Kubernetes-Server muss der Rolle, die von Ihrer Zustandsmaschine verwendet wird, Berechtigungen gewähren. IAM Weitere Informationen finden Sie unter Berechtigungen.
Weitere Informationen zu den verfügbaren Vorgängen finden Sie in der APIKubernetes-Referenz
Zu den unterstützten Parametern für gehörenCall
:
-
ClusterName
: Der Name des EKS Amazon-Clusters, den Sie aufrufen möchten.-
Type
: Zeichenfolge -
Erforderlich: Ja
-
-
CertificateAuthority
: Die Base64-codierten Zertifikatsdaten, die für die Kommunikation mit Ihrem Cluster erforderlich sind. Sie können diesen Wert über die EKSAmazon-Konsoleoder über Amazon abrufen EKS DescribeClusterAPI. -
Type
:String
-
Erforderlich: Ja
-
-
Endpoint
: Der Endpunkt URL für Ihren Kubernetes-ServerAPI. Sie finden diesen Wert auf der EKSAmazon-Konsoleoder mithilfe von Amazon EKS ' DescribeCluster API. -
Type
:String
-
Erforderlich: Ja
-
-
Method
: Die HTTP Methode Ihrer Anfrage. Eins von:GET
,POST
,PUT
,DELETE
,HEAD
oder vonPATCH
.-
Type
:String
-
Erforderlich: Ja
-
-
Path
: Der HTTP Pfad der Kubernetes-Operation RESTAPI.-
Type
:String
-
Erforderlich: Ja
-
-
QueryParameters
: Die HTTP Abfrageparameter des REST API Kubernetes-Vorgangs.-
Type:
Karte von bisString
List of Strings
-
Erforderlich: Nein
-
Beispiel:
"QueryParameters": { "labelSelector": [ "job-name=example-job" ] }
-
-
RequestBody
: Der HTTP Nachrichtentext der Kubernetes-Operation RESTAPI.-
Type
:JSON
oderString
-
Erforderlich: Nein
-
Im Folgenden finden Sie einen Task
Status, der verwendet wird, eks:call
um die Pods aufzulisten, die zu dem Job gehören. example-job
{
"StartAt": "Call EKS",
"States": {
"Call EKS": {
"Type": "Task",
"Resource": "arn:aws:states:::eks:call",
"Parameters": {
"ClusterName": "MyCluster",
"CertificateAuthority": "ANPAJ2UCCR6DPCEXAMPLE",
"Endpoint": "https://444455556666.yl4.us-east-1.eks.amazonaws.com",
"Method": "GET",
"Path": "/api/v1/namespaces/default/pods",
"QueryParameters": {
"labelSelector": [
"job-name=example-job"
]
}
},
"End": true
}
}
}
Der folgende Status enthält einen Task
Status, der eks:call
zum Löschen des Auftrags verwendet wirdexample-job
, und legt den Status fest, propagationPolicy
um sicherzustellen, dass die Pods des Auftrags ebenfalls gelöscht werden.
{
"StartAt": "Call EKS",
"States": {
"Call EKS": {
"Type": "Task",
"Resource": "arn:aws:states:::eks:call",
"Parameters": {
"ClusterName": "MyCluster",
"CertificateAuthority": "ANPAJ2UCCR6DPCEXAMPLE",
"Endpoint": "https://444455556666.yl4.us-east-1.eks.amazonaws.com",
"Method": "DELETE",
"Path": "/apis/batch/v1/namespaces/default/jobs/example-job",
"QueryParameters": {
"propagationPolicy": [
"Foreground"
]
}
},
"End": true
}
}
}
Unterstütztes Amazon EKS APIs
Zu den unterstützten Amazon EKS APIs - und Syntaxeinstellungen gehören:
-
-
Wenn ein EKS Amazon-Cluster mithilfe der
eks:createCluster
Service-Integration erstellt wird, wird die IAM Rolle als Administrator (mit system:masters-Berechtigungen) zur RBAC Kubernetes-Autorisierungstabelle hinzugefügt. Anfänglich kann nur diese IAM Entität den Kubernetes-Server aufrufen. API Weitere Informationen finden Sie unter:-
Verwaltung von Benutzern oder IAM Rollen für Ihren Cluster im EKSAmazon-Benutzerhandbuch
-
Der Berechtigungen Abschnitt
Amazon EKS verwendet dienstbezogene Rollen, die die Berechtigungen enthalten, die Amazon EKS benötigt, um andere Dienste in Ihrem Namen aufzurufen. Wenn diese dienstbezogenen Rollen noch nicht in Ihrem Konto vorhanden sind, müssen Sie die
iam:CreateServiceLinkedRole
Berechtigung zu der von Step Functions verwendeten IAM Rolle hinzufügen. Weitere Informationen finden Sie unter Verwenden von serviceverknüpften Rollen im EKSAmazon-Benutzerhandbuch.Die von Step Functions verwendete IAM Rolle muss über
iam:PassRole
Berechtigungen verfügen, um die IAM Cluster-Rolle an Amazon weiterzugebenEKS. Weitere Informationen finden Sie unter EKSIAMAmazon-Clusterrolle im EKSAmazon-Benutzerhandbuch. -
-
-
Sie müssen alle Fargate-Profile oder Knotengruppen löschen, bevor Sie einen Cluster löschen.
-
-
Amazon EKS verwendet dienstbezogene Rollen, die die Berechtigungen enthalten, die Amazon EKS benötigt, um andere Dienste in Ihrem Namen aufzurufen. Wenn diese dienstbezogenen Rollen noch nicht in Ihrem Konto vorhanden sind, müssen Sie die
iam:CreateServiceLinkedRole
Berechtigung zu der von Step Functions verwendeten IAM Rolle hinzufügen. Weitere Informationen finden Sie unter Verwenden von serviceverknüpften Rollen im EKSAmazon-Benutzerhandbuch.Amazon EKS on Fargate ist möglicherweise nicht in allen Regionen verfügbar. Informationen zur regionalen Verfügbarkeit finden Sie im Abschnitt über Fargate im EKSAmazon-Benutzerhandbuch.
Die von Step Functions verwendete IAM Rolle muss über
iam:PassRole
Berechtigungen verfügen, um die IAM Pod-Ausführungsrolle an Amazon weiterzugebenEKS. Weitere Informationen finden Sie unter Pod-Ausführungsrolle im EKSAmazon-Benutzerhandbuch.
-
-
Amazon EKS verwendet dienstbezogene Rollen, die die Berechtigungen enthalten, die Amazon EKS benötigt, um andere Dienste in Ihrem Namen aufzurufen. Wenn diese dienstbezogenen Rollen noch nicht in Ihrem Konto vorhanden sind, müssen Sie die
iam:CreateServiceLinkedRole
Berechtigung zu der von Step Functions verwendeten IAM Rolle hinzufügen. Weitere Informationen finden Sie unter Verwenden von serviceverknüpften Rollen im EKSAmazon-Benutzerhandbuch.Die von Step Functions verwendete IAM Rolle muss über
iam:PassRole
Berechtigungen verfügen, um die IAM Knotenrolle an Amazon weiterzugebenEKS. Weitere Informationen finden Sie unter Verwenden von serviceverknüpften Rollen im EKSAmazon-Benutzerhandbuch.
Das Folgende beinhaltet eineTask
, die einen EKS Amazon-Cluster erstellt.
{
"StartAt": "CreateCluster.sync",
"States": {
"CreateCluster.sync": {
"Type": "Task",
"Resource": "arn:aws:states:::eks:createCluster.sync",
"Parameters": {
"Name": "MyCluster",
"ResourcesVpcConfig": {
"SubnetIds": [
"subnet-053e7c47012341234",
"subnet-027cfea4b12341234"
]
},
"RoleArn": "arn:aws:iam::123456789012:role/MyEKSClusterRole"
},
"End": true
}
}
}
Das Folgende beinhaltet einen Task
Status, der einen EKS Amazon-Cluster löscht.
{
"StartAt": "DeleteCluster.sync",
"States": {
"DeleteCluster.sync": {
"Type": "Task",
"Resource": "arn:aws:states:::eks:deleteCluster.sync",
"Parameters": {
"Name": "MyCluster"
},
"End": true
}
}
}
Im Folgenden wird ein Task
Bundesstaat beschrieben, der ein Fargate-Profil erstellt.
{
"StartAt": "CreateFargateProfile.sync",
"States": {
"CreateFargateProfile.sync": {
"Type": "Task",
"Resource": "arn:aws:states:::eks:createFargateProfile.sync",
"Parameters": {
"ClusterName": "MyCluster",
"FargateProfileName": "MyFargateProfile",
"PodExecutionRoleArn": "arn:aws:iam::123456789012:role/MyFargatePodExecutionRole",
"Selectors": [{
"Namespace": "my-namespace",
"Labels": { "my-label": "my-value" }
}]
},
"End": true
}
}
}
Das Folgende beinhaltet einen Task
Status, der ein Fargate-Profil löscht.
{
"StartAt": "DeleteFargateProfile.sync",
"States": {
"DeleteFargateProfile.sync": {
"Type": "Task",
"Resource": "arn:aws:states:::eks:deleteFargateProfile.sync",
"Parameters": {
"ClusterName": "MyCluster",
"FargateProfileName": "MyFargateProfile"
},
"End": true
}
}
}
Im Folgenden wird ein Task
Status beschrieben, der eine Knotengruppe erstellt.
{
"StartAt": "CreateNodegroup.sync",
"States": {
"CreateNodegroup.sync": {
"Type": "Task",
"Resource": "arn:aws:states:::eks:createNodegroup.sync",
"Parameters": {
"ClusterName": "MyCluster",
"NodegroupName": "MyNodegroup",
"NodeRole": "arn:aws:iam::123456789012:role/MyNodeInstanceRole",
"Subnets": ["subnet-09fb51df01234", "subnet-027cfea4b1234"]
},
"End": true
}
}
}
Das Folgende beinhaltet einen Task
Status, der eine Knotengruppe löscht.
{
"StartAt": "DeleteNodegroup.sync",
"States": {
"DeleteNodegroup.sync": {
"Type": "Task",
"Resource": "arn:aws:states:::eks:deleteNodegroup.sync",
"Parameters": {
"ClusterName": "MyCluster",
"NodegroupName": "MyNodegroup"
},
"End": true
}
}
}
Berechtigungen
Wenn ein EKS Amazon-Cluster mithilfe der eks:createCluster
Service-Integration erstellt wird, wird die IAM Rolle als Administrator mit system:masters
Berechtigungen zur RBAC Kubernetes-Autorisierungstabelle hinzugefügt. Anfänglich kann nur diese IAM Entität den API Kubernetes-Server aufrufen. Beispielsweise können Sie kubectl nicht verwenden, um mit Ihrem API Kubernetes-Server zu interagieren, es sei denn, Sie übernehmen dieselbe Rolle wie Ihre Step Functions Functions-Zustandsmaschine oder wenn Sie Kubernetes so konfigurieren, dass es zusätzlichen Entitäten Berechtigungen erteilt. IAM Weitere Informationen finden Sie unter Benutzer oder IAM Rollen für Ihren Cluster verwalten im EKSAmazon-Benutzerhandbuch.
Sie können Berechtigungen für zusätzliche IAM Entitäten wie Benutzer oder Rollen hinzufügen, indem Sie sie dem Namespace aws-auth
ConfigMap
in the kube-system hinzufügen. Wenn Sie Ihren Cluster aus Step Functions erstellen, verwenden Sie die eks:call
Serviceintegration.
Der folgende Status enthält einen Task
Status, der einen Benutzer aws-auth
ConfigMap
und die IAM Rolle erstellt arn:aws:iam::123456789012:user/my-user
und diesem system:masters
Berechtigungen erteiltarn:aws:iam::123456789012:role/my-role
.
{
"StartAt": "Add authorized user",
"States": {
"Add authorized user": {
"Type": "Task",
"Resource": "arn:aws:states:::eks:call",
"Parameters": {
"ClusterName": "MyCluster",
"CertificateAuthority": "LS0tLS1CRUd...UtLS0tLQo=",
"Endpoint": "https://444455556666.yl4.us-east-1.eks.amazonaws.com",
"Method": "POST",
"Path": "/api/v1/namespaces/kube-system/configmaps",
"RequestBody": {
"apiVersion": "v1",
"kind": "ConfigMap",
"metadata": {
"name": "aws-auth",
"namespace": "kube-system"
},
"data": {
"mapUsers": "[{ \"userarn\": \"arn:aws:iam::123456789012:user/my-user\", \"username\": \"my-user\", \"groups\": [ \"system:masters\" ] } ]",
"mapRoles": "[{ \"rolearn\": \"arn:aws:iam::123456789012:role/my-role\", \"username\": \"my-role\", \"groups\": [ \"system:masters\" ] } ]"
}
}
},
"End": true
}
}
Anmerkung
Möglicherweise wird der ARN für eine IAM Rolle in einem Format angezeigt, das den Pfad /service-role/ enthält, z. B. arn:aws:iam::123456789012:role/
Dieses Pfadtoken für die Dienstrolle sollte bei der Auflistung der Rolle in nicht enthalten sein. service-role
/my-roleaws-auth
Wenn Ihr Cluster zum ersten Mal erstellt aws-auth
ConfigMap
wird, ist er nicht vorhanden, wird aber automatisch hinzugefügt, wenn Sie ein Fargate-Profil erstellen. Sie können den aktuellen Wert von abrufenaws-auth
, die zusätzlichen Berechtigungen und PUT
eine neue Version hinzufügen. Es ist normalerweise einfacher, es aws-auth
vor dem Fargate-Profil zu erstellen.
Wenn Ihr Cluster außerhalb von Step Functions erstellt wurde, können Sie kubectl für die Kommunikation mit Ihrem API Kubernetes-Server konfigurieren. Erstellen Sie dann eine neue aws-auth
ConfigMap
Nutzung kubectl apply -f aws-auth.yaml
oder bearbeiten Sie eine, die bereits vorhanden ist, mit. kubectl edit -n kube-system configmap/aws-auth
Weitere Informationen finden Sie unter:
-
Erstellen Sie EKS im EKSAmazon-Benutzerhandbuch eine kubeconfig für Amazon.
-
Verwaltung von Benutzern oder IAM Rollen für Ihren Cluster im EKSAmazon-Benutzerhandbuch.
Wenn Ihre IAM Rolle nicht über ausreichende Berechtigungen in Kubernetes verfügt, schlagen die eks:call
oder eks:runJob
Service-Integrationen mit dem folgenden Fehler fehl:
Error:
EKS.401
Cause:
{
"ResponseBody": {
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "Unauthorized",
"reason": "Unauthorized",
"code": 401
},
"StatusCode": 401,
"StatusText": "Unauthorized"
}
IAMRichtlinien für das Anrufen von Amazon EKS
Die folgenden Beispielvorlagen zeigen, wie AWS Step Functions generiert IAM Richtlinien auf der Grundlage der Ressourcen in Ihrer State-Machine-Definition. Weitere Informationen erhalten Sie unter So generiert Step Functions IAM Richtlinien für integrierte Dienste und Entdecken Sie Serviceintegrationsmuster in Step Functions.
CreateCluster
Ressourcen
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eks:CreateCluster"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"eks:DescribeCluster",
"eks:DeleteCluster"
],
"Resource": "arn:aws:eks:sa-east-1:444455556666:cluster/*"
},
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": [
"arn:aws:iam::444455556666:role/StepFunctionsSample-EKSClusterManag-EKSServiceRole-ANPAJ2UCCR6DPCEXAMPLE"
],
"Condition": {
"StringEquals": {
"iam:PassedToService": "eks.amazonaws.com"
}
}
}
]
}
CreateNodeGroup
Ressourcen
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeSubnets",
"eks:CreateNodegroup"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"eks:DescribeNodegroup",
"eks:DeleteNodegroup"
],
"Resource": "arn:aws:eks:sa-east-1:444455556666:nodegroup/*"
},
{
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:ListAttachedRolePolicies"
],
"Resource": "arn:aws:iam::444455556666:role/*"
},
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": [
"arn:aws:iam::444455556666:role/StepFunctionsSample-EKSClusterMan-NodeInstanceRole-ANPAJ2UCCR6DPCEXAMPLE"
],
"Condition": {
"StringEquals": {
"iam:PassedToService": "eks.amazonaws.com"
}
}
}
]
}
DeleteCluster
Ressourcen
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eks:DeleteCluster",
"eks:DescribeCluster"
],
"Resource": [
"arn:aws:eks:sa-east-1:444455556666:cluster/ExampleCluster"
]
}
]
}
DeleteNodegroup
Ressourcen
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eks:DeleteNodegroup",
"eks:DescribeNodegroup"
],
"Resource": [
"arn:aws:eks:sa-east-1:444455556666:nodegroup/ExampleCluster/ExampleNodegroup/*"
]
}
]
}
Weitere Informationen zur Verwendung von Amazon EKS mit Step Functions finden Sie unterEKSAmazon-Cluster mit Step Functions erstellen und verwalten.