There are more AWS SDK examples available in the AWS Doc SDK Examples
Amazon EKS examples using AWS CLI
The following code examples show you how to perform actions and implement common scenarios by using the AWS Command Line Interface with Amazon EKS.
Actions are code excerpts from larger programs and must be run in context. While actions show you how to call individual service functions, you can see actions in context in their related scenarios.
Each example includes a link to the complete source code, where you can find instructions on how to set up and run the code in context.
Topics
Actions
The following code example shows how to use associate-access-policy.
- AWS CLI
-
To associate an access policy and its scope to the access entry of the cluster
The following
associate-access-policyassociates an access policy and its scope to the access entry of the specified cluster.aws eks associate-access-policy \ --cluster-nameeks-customer\ --principal-arnarn:aws:iam::111122223333:role/Admin\ --policy-arnarn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy\ --access-scopetype=namespace,namespaces=defaultOutput:
{ "clusterName": "eks-customer", "principalArn": "arn:aws:iam::111122223333:role/Admin", "associatedAccessPolicy": { "policyArn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy", "accessScope": { "type": "namespace", "namespaces": [ "default" ] }, "associatedAt": "2025-05-24T15:59:51.981000-05:00", "modifiedAt": "2025-05-24T15:59:51.981000-05:00" } }For more information, see Associate access policies with access entries in the Amazon EKS User Guide.
-
For API details, see AssociateAccessPolicy
in AWS CLI Command Reference.
-
The following code example shows how to use associate-encryption-config.
- AWS CLI
-
To associates an encryption configuration to an existing cluster
The following
associate-encryption-configexample enable's encryption on an existing EKS clusters that do not already have encryption enabled.aws eks associate-encryption-config \ --cluster-namemy-eks-cluster\ --encryption-config '[{"resources":["secrets"],"provider":{"keyArn":"arn:aws:kms:region-code:account:key/key"}}]'Output:
{ "update": { "id": "3141b835-8103-423a-8e68-12c2521ffa4d", "status": "InProgress", "type": "AssociateEncryptionConfig", "params": [ { "type": "EncryptionConfig", "value": "[{\"resources\":[\"secrets\"],\"provider\":{\"keyArn\":\"arn:aws:kms:region-code:account:key/key\"}}]" } ], "createdAt": "2024-03-14T11:01:26.297000-04:00", "errors": [] } }For more information, see Enabling secret encryption on an existing cluster in the Amazon EKS User Guide.
-
For API details, see AssociateEncryptionConfig
in AWS CLI Command Reference.
-
The following code example shows how to use associate-identity-provider-config.
- AWS CLI
-
Associate identity provider to your Amazon EKS Cluster
The following
associate-identity-provider-configexample associates an identity provider to your Amazon EKS Cluster.aws eks associate-identity-provider-config \ --cluster-namemy-eks-cluster\ --oidc 'identityProviderConfigName=my-identity-provider,issuerUrl=https://oidc.eks.us-east-2.amazonaws.com/id/38D6A4619A0A69E342B113ED7F1A7652,clientId=kubernetes,usernameClaim=email,usernamePrefix=my-username-prefix,groupsClaim=my-claim,groupsPrefix=my-groups-prefix,requiredClaims={Claim1=value1,Claim2=value2}' \ --tagsenv=devOutput:
{ "update": { "id": "8c6c1bef-61fe-42ac-a242-89412387b8e7", "status": "InProgress", "type": "AssociateIdentityProviderConfig", "params": [ { "type": "IdentityProviderConfig", "value": "[{\"type\":\"oidc\",\"name\":\"my-identity-provider\"}]" } ], "createdAt": "2024-04-11T13:46:49.648000-04:00", "errors": [] }, "tags": { "env": "dev" } }For more information, see Authenticate users for your cluster from an OpenID Connect identity provider - Associate an OIDC identity provider in the Amazon EKS User Guide.
-
For API details, see AssociateIdentityProviderConfig
in AWS CLI Command Reference.
-
The following code example shows how to use create-access-entry.
- AWS CLI
-
Example 1: To create the access entry for EKS cluster
The following
create-access-entryexample creates an access entry that allows an IAM principal to access the EKS cluster.aws eks create-access-entry \ --cluster-nameeks-customer\ --principal-arnarn:aws:iam::111122223333:user/eks-userOutput:
{ "accessEntry": { "clusterName": "eks-customer", "principalArn": "arn:aws:iam::111122223333:user/eks-user", "kubernetesGroups": [], "accessEntryArn": "arn:aws:eks:us-west-2:111122223333:access-entry/eks-customer/user/111122223333/eks-user/a1b2c3d4-5678-90ab-cdef-a6506e3d36p0", "createdAt": "2025-04-14T22:45:48.097000-05:00", "modifiedAt": "2025-04-14T22:45:48.097000-05:00", "tags": {}, "username": "arn:aws:iam::111122223333:user/eks-user", "type": "STANDARD" } }For more information, see Create access entries in the Amazon EKS User Guide.
Example 2: To create the access entry for EKS cluster by specifying the type of access entry
The following
create-access-entryexample creates an access entry of typeEC2_LINUXin the EKS cluster. By default, a typeSTANDARDaccess entry is created. Apart from the default, if we specify any other access entry types, an IAM role ARN needs to be passed in the CLI.aws eks create-access-entry \ --cluster-nameeks-customer\ --principal-arnarn:aws:iam::111122223333:role/admin-test-ip\ --typeEC2_LINUXOutput:
{ "accessEntry": { "clusterName": "eks-customer", "principalArn": "arn:aws:iam::111122223333:role/admin-test-ip", "kubernetesGroups": [ "system:nodes" ], "accessEntryArn": "arn:aws:eks:us-west-2:111122223333:access-entry/eks-customer/role/111122223333/admin-test-ip/accb5418-f493-f390-3e6e-c3f19f725fcp", "createdAt": "2025-05-06T19:42:45.453000-05:00", "modifiedAt": "2025-05-06T19:42:45.453000-05:00", "tags": {}, "username": "system:node:{{EC2PrivateDNSName}}", "type": "EC2_LINUX" } }For more information, see Create access entries in the Amazon EKS User Guide.
-
For API details, see CreateAccessEntry
in AWS CLI Command Reference.
-
The following code example shows how to use create-addon.
- AWS CLI
-
Example 1: To create an Amazon EKS add-on with default compatibile version for the respective EKS cluster version
The following
create-addonexample command creates an Amazon EKS add-on with default compatibile version for the respective EKS cluster version.aws eks create-addon \ --cluster-namemy-eks-cluster\ --addon-namemy-eks-addon\ --service-account-role-arnarn:aws:iam::111122223333:role/role-nameOutput:
{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "CREATING", "addonVersion": "v1.15.1-eksbuild.1", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/1ec71ee1-b9c2-8915-4e17-e8be0a55a149", "createdAt": "2024-03-14T12:20:03.264000-04:00", "modifiedAt": "2024-03-14T12:20:03.283000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/role-name", "tags": {} } }For more information, see Managing Amazon EKS add-ons - Creating an add-on in the Amazon EKS User Guide.
Example 2: To create an Amazon EKS add-on with specific add-on version
The following
create-addonexample command creates an Amazon EKS add-on with specific add-on version.aws eks create-addon \ --cluster-namemy-eks-cluster\ --addon-namemy-eks-addon\ --service-account-role-arnarn:aws:iam::111122223333:role/role-name\ --addon-versionv1.16.4-eksbuild.2Output:
{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "CREATING", "addonVersion": "v1.16.4-eksbuild.2", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/34c71ee6-7738-6c8b-c6bd-3921a176b5ff", "createdAt": "2024-03-14T12:30:24.507000-04:00", "modifiedAt": "2024-03-14T12:30:24.521000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/role-name", "tags": {} } }For more information, see Managing Amazon EKS add-ons - Creating an add-on in the Amazon EKS User Guide.
Example 3: To create an Amazon EKS add-on with custom configuration values and resolve conflicts details
The following
create-addonexample command creates an Amazon EKS add-on with custom configuration values and resolves conflicts details.aws eks create-addon \ --cluster-namemy-eks-cluster\ --addon-namemy-eks-addon\ --service-account-role-arnarn:aws:iam::111122223333:role/role-name\ --addon-versionv1.16.4-eksbuild.2\ --configuration-values '{"resources":{"limits":{"cpu":"100m"}}}' \ --resolve-conflictsOVERWRITEOutput:
{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "CREATING", "addonVersion": "v1.16.4-eksbuild.2", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/a6c71ee9-0304-9237-1be8-25af1b0f1ffb", "createdAt": "2024-03-14T12:35:58.313000-04:00", "modifiedAt": "2024-03-14T12:35:58.327000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/role-name", "tags": {}, "configurationValues": "{\"resources\":{\"limits\":{\"cpu\":\"100m\"}}}" } }For more information, see Managing Amazon EKS add-ons - Creating an add-on in the Amazon EKS User Guide.
Example 4: To create an Amazon EKS add-on with custom JSON configuration values file
The following
create-addonexample command creates an Amazon EKS add-on with custom configuration values and resolve conflicts details.aws eks create-addon \ --cluster-namemy-eks-cluster\ --addon-namemy-eks-addon\ --service-account-role-arnarn:aws:iam::111122223333:role/role-name\ --addon-versionv1.16.4-eksbuild.2\ --configuration-values 'file://configuration-values.json' \ --resolve-conflictsOVERWRITE\ --tags '{"eks-addon-key-1": "value-1" , "eks-addon-key-2": "value-2"}'Contents of
configuration-values.json:{ "resources": { "limits": { "cpu": "150m" } }, "env": { "AWS_VPC_K8S_CNI_LOGLEVEL": "ERROR" } }Output:
{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "CREATING", "addonVersion": "v1.16.4-eksbuild.2", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/d8c71ef8-fbd8-07d0-fb32-6a7be19ececd", "createdAt": "2024-03-14T13:10:51.763000-04:00", "modifiedAt": "2024-03-14T13:10:51.777000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/role-name", "tags": { "eks-addon-key-1": "value-1", "eks-addon-key-2": "value-2" }, "configurationValues": "{\n \"resources\": {\n \"limits\": {\n \"cpu\": \"150m\"\n }\n },\n \"env\": {\n \"AWS_VPC_K8S_CNI_LOGLEVEL\": \"ERROR\"\n }\n}" } }For more information, see Managing Amazon EKS add-ons - Creating an add-on in the Amazon EKS User Guide.
Example 5: To create an Amazon EKS add-on with custom YAML configuration values file
The following
create-addonexample command creates an Amazon EKS add-on with custom configuration values and resolve conflicts details.aws eks create-addon \ --cluster-namemy-eks-cluster\ --addon-namemy-eks-addon\ --service-account-role-arnarn:aws:iam::111122223333:role/role-name\ --addon-versionv1.16.4-eksbuild.2\ --configuration-values 'file://configuration-values.yaml' \ --resolve-conflictsOVERWRITE\ --tags '{"eks-addon-key-1": "value-1" , "eks-addon-key-2": "value-2"}'Contents of
configuration-values.yaml:resources: limits: cpu: '100m' env: AWS_VPC_K8S_CNI_LOGLEVEL: 'DEBUG'Output:
{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "CREATING", "addonVersion": "v1.16.4-eksbuild.2", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/d4c71efb-3909-6f36-a548-402cd4b5d59e", "createdAt": "2024-03-14T13:15:45.220000-04:00", "modifiedAt": "2024-03-14T13:15:45.237000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/role-name", "tags": { "eks-addon-key-3": "value-3", "eks-addon-key-4": "value-4" }, "configurationValues": "resources:\n limits:\n cpu: '100m'\nenv:\n AWS_VPC_K8S_CNI_LOGLEVEL: 'INFO'" } }For more information, see Managing Amazon EKS add-ons - Creating an add-on in the Amazon EKS User Guide.
-
For API details, see CreateAddon
in AWS CLI Command Reference.
-
The following code example shows how to use create-cluster.
- AWS CLI
-
To create a new cluster
This example command creates a cluster named
prodin your default region.Command:
aws eks create-cluster --nameprod\ --role-arnarn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI\ --resources-vpc-configsubnetIds=subnet-6782e71e,subnet-e7e761ac,securityGroupIds=sg-6979fe18Output:
{ "cluster": { "name": "prod", "arn": "arn:aws:eks:us-west-2:012345678910:cluster/prod", "createdAt": 1527808069.147, "version": "1.10", "roleArn": "arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI", "resourcesVpcConfig": { "subnetIds": [ "subnet-6782e71e", "subnet-e7e761ac" ], "securityGroupIds": [ "sg-6979fe18" ], "vpcId": "vpc-950809ec" }, "status": "CREATING", "certificateAuthority": {} } }To create a new cluster with private endpoint access and logging enabled
This example command creates a cluster named
examplein your default region with public endpoint access disabled, private endpoint access enabled, and all logging types enabled.Command:
aws eks create-cluster --nameexample--kubernetes-version1.12\ --role-arnarn:aws:iam::012345678910:role/example-cluster-ServiceRole-1XWBQWYSFRE2Q\ --resources-vpc-configsubnetIds=subnet-0a188dccd2f9a632f,subnet-09290d93da4278664,subnet-0f21dd86e0e91134a,subnet-0173dead68481a583,subnet-051f70a57ed6fcab6,subnet-01322339c5c7de9b4,securityGroupIds=sg-0c5b580845a031c10,endpointPublicAccess=false,endpointPrivateAccess=true\ --logging '{"clusterLogging":[{"types":["api","audit","authenticator","controllerManager","scheduler"],"enabled":true}]}'Output:
{ "cluster": { "name": "example", "arn": "arn:aws:eks:us-west-2:012345678910:cluster/example", "createdAt": 1565804921.901, "version": "1.12", "roleArn": "arn:aws:iam::012345678910:role/example-cluster-ServiceRole-1XWBQWYSFRE2Q", "resourcesVpcConfig": { "subnetIds": [ "subnet-0a188dccd2f9a632f", "subnet-09290d93da4278664", "subnet-0f21dd86e0e91134a", "subnet-0173dead68481a583", "subnet-051f70a57ed6fcab6", "subnet-01322339c5c7de9b4" ], "securityGroupIds": [ "sg-0c5b580845a031c10" ], "vpcId": "vpc-0f622c01f68d4afec", "endpointPublicAccess": false, "endpointPrivateAccess": true }, "logging": { "clusterLogging": [ { "types": [ "api", "audit", "authenticator", "controllerManager", "scheduler" ], "enabled": true } ] }, "status": "CREATING", "certificateAuthority": {}, "platformVersion": "eks.3" } }-
For API details, see CreateCluster
in AWS CLI Command Reference.
-
The following code example shows how to use create-fargate-profile.
- AWS CLI
-
Example 1: Create EKS Fargate Profile for a selector with a namespace
The following
create-fargate-profileexample creates an EKS Fargate Profile for a selector with a namespace.aws eks create-fargate-profile \ --cluster-namemy-eks-cluster\ --pod-execution-role-arnarn:aws:iam::111122223333:role/role-name\ --fargate-profile-namemy-fargate-profile\ --selectors '[{"namespace": "default"}]'Output:
{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/a2c72bca-318e-abe8-8ed1-27c6d4892e9e", "clusterName": "my-eks-cluster", "createdAt": "2024-03-19T12:38:47.368000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/role-name", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "default" } ], "status": "CREATING", "tags": {} } }For more information, see AWS Fargate profile - Creating a Fargate profile in the Amazon EKS User Guide.
Example 2: Create EKS Fargate Profile for a selector with a namespace and labels
The following
create-fargate-profileexample creates an EKS Fargate Profile for a selector with a namespace and labels.aws eks create-fargate-profile \ --cluster-namemy-eks-cluster\ --pod-execution-role-arnarn:aws:iam::111122223333:role/role-name\ --fargate-profile-namemy-fargate-profile\ --selectors '[{"namespace": "default", "labels": {"labelname1": "labelvalue1"}}]'Output:
{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/88c72bc7-e8a4-fa34-44e4-2f1397224bb3", "clusterName": "my-eks-cluster", "createdAt": "2024-03-19T12:33:48.125000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/role-name", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "default", "labels": { "labelname1": "labelvalue1" } } ], "status": "CREATING", "tags": {} } }For more information, see AWS Fargate profile - Creating a Fargate profile in the Amazon EKS User Guide.
Example 3: Create EKS Fargate Profile for a selector with a namespace and labels, along with IDs of subnets to launch a Pod into.
The following
create-fargate-profileexample create EKS Fargate Profile for a selector with a namespace and labels, along with IDs of subnets to launch a Pod into.aws eks create-fargate-profile \ --cluster-namemy-eks-cluster\ --pod-execution-role-arnarn:aws:iam::111122223333:role/role-name\ --fargate-profile-namemy-fargate-profile\ --selectors '[{"namespace": "default", "labels": {"labelname1": "labelvalue1"}}]' \ --subnets '["subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72"]'Output:
{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/e8c72bc8-e87b-5eb6-57cb-ed4fe57577e3", "clusterName": "my-eks-cluster", "createdAt": "2024-03-19T12:35:58.640000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/role-name", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "default", "labels": { "labelname1": "labelvalue1" } } ], "status": "CREATING", "tags": {} } }For more information, see AWS Fargate profile - Creating a Fargate profile in the Amazon EKS User Guide.
Example 4: Create EKS Fargate Profile for a selector with multiple namespace and labels, along with IDs of subnets to launch a Pod into
The following
create-fargate-profileexample creates an EKS Fargate Profile for a selector with multiple namespace and labels, along with IDs of subnets to launch a Pod into.aws eks create-fargate-profile \ --cluster-namemy-eks-cluster\ --pod-execution-role-arnarn:aws:iam::111122223333:role/role-name\ --fargate-profile-namemy-fargate-profile\ --selectors '[{"namespace": "default1", "labels": {"labelname1": "labelvalue1", "labelname2": "labelvalue2"}}, {"namespace": "default2", "labels": {"labelname1": "labelvalue1", "labelname2": "labelvalue2"}}]' \ --subnets '["subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72"]' \ --tags '{"eks-fargate-profile-key-1": "value-1" , "eks-fargate-profile-key-2": "value-2"}'Output:
{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/4cc72bbf-b766-8ee6-8d29-e62748feb3cd", "clusterName": "my-eks-cluster", "createdAt": "2024-03-19T12:15:55.271000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/role-name", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "default1", "labels": { "labelname2": "labelvalue2", "labelname1": "labelvalue1" } }, { "namespace": "default2", "labels": { "labelname2": "labelvalue2", "labelname1": "labelvalue1" } } ], "status": "CREATING", "tags": { "eks-fargate-profile-key-2": "value-2", "eks-fargate-profile-key-1": "value-1" } } }For more information, see AWS Fargate profile - Creating a Fargate profile in the Amazon EKS User Guide.
Example 5: Create EKS Fargate Profile with a wildcard selector for namespaces and labels, along with IDs of subnets to launch a Pod into
The following
create-fargate-profileexample creates an EKS Fargate Profile for a selector with multiple namespace and labels, along with IDs of subnets to launch a Pod into.aws eks create-fargate-profile \ --cluster-namemy-eks-cluster\ --pod-execution-role-arnarn:aws:iam::111122223333:role/role-name\ --fargate-profile-namemy-fargate-profile\ --selectors '[{"namespace": "prod*", "labels": {"labelname*?": "*value1"}}, {"namespace": "*dev*", "labels": {"labelname*?": "*value*"}}]' \ --subnets '["subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72"]' \ --tags '{"eks-fargate-profile-key-1": "value-1" , "eks-fargate-profile-key-2": "value-2"}'Output:
{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/e8c72bd6-5966-0bfe-b77b-1802893e5a6f", "clusterName": "my-eks-cluster", "createdAt": "2024-03-19T13:05:20.550000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/role-name", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "prod*", "labels": { "labelname*?": "*value1" } }, { "namespace": "*dev*", "labels": { "labelname*?": "*value*" } } ], "status": "CREATING", "tags": { "eks-fargate-profile-key-2": "value-2", "eks-fargate-profile-key-1": "value-1" } } }For more information, see AWS Fargate profile - Creating a Fargate profile in the Amazon EKS User Guide.
-
For API details, see CreateFargateProfile
in AWS CLI Command Reference.
-
The following code example shows how to use create-nodegroup.
- AWS CLI
-
Example 1: Creates a managed node group for an Amazon EKS cluster
The following
create-nodegroupexample creates a managed node group for an Amazon EKS cluster.aws eks create-nodegroup \ --cluster-namemy-eks-cluster\ --nodegroup-namemy-eks-nodegroup\ --node-rolearn:aws:iam::111122223333:role/role-name\ --subnets"subnet-0e2907431c9988b72""subnet-04ad87f71c6e5ab4d""subnet-09d912bb63ef21b9a"\ --scaling-configminSize=1,maxSize=3,desiredSize=1\ --regionus-east-2Output:
{ "nodegroup": { "nodegroupName": "my-eks-nodegroup", "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/bac7550f-b8b8-5fbb-4f3e-7502a931119e", "clusterName": "my-eks-cluster", "version": "1.26", "releaseVersion": "1.26.12-20240329", "createdAt": "2024-04-04T13:19:32.260000-04:00", "modifiedAt": "2024-04-04T13:19:32.260000-04:00", "status": "CREATING", "capacityType": "ON_DEMAND", "scalingConfig": { "minSize": 1, "maxSize": 3, "desiredSize": 1 }, "instanceTypes": [ "t3.medium" ], "subnets": [ "subnet-0e2907431c9988b72, subnet-04ad87f71c6e5ab4d, subnet-09d912bb63ef21b9a" ], "amiType": "AL2_x86_64", "nodeRole": "arn:aws:iam::111122223333:role/role-name", "diskSize": 20, "health": { "issues": [] }, "updateConfig": { "maxUnavailable": 1 }, "tags": {} } }For more information, see Creating a managed node group in the Amazon EKS User Guide.
Example 2: Creates a managed node group for an Amazon EKS cluster with custom instance-types and disk-size
The following
create-nodegroupexample creates a managed node group for an Amazon EKS cluster with custom instance-types and disk-size.aws eks create-nodegroup \ --cluster-namemy-eks-cluster\ --nodegroup-namemy-eks-nodegroup\ --node-rolearn:aws:iam::111122223333:role/role-name\ --subnets"subnet-0e2907431c9988b72""subnet-04ad87f71c6e5ab4d""subnet-09d912bb63ef21b9a"\ --scaling-configminSize=1,maxSize=3,desiredSize=1\ --capacity-typeON_DEMAND\ --instance-types 'm5.large' \ --disk-size50\ --regionus-east-2Output:
{ "nodegroup": { "nodegroupName": "my-eks-nodegroup", "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/c0c7551b-e4f9-73d9-992c-a450fdb82322", "clusterName": "my-eks-cluster", "version": "1.26", "releaseVersion": "1.26.12-20240329", "createdAt": "2024-04-04T13:46:07.595000-04:00", "modifiedAt": "2024-04-04T13:46:07.595000-04:00", "status": "CREATING", "capacityType": "ON_DEMAND", "scalingConfig": { "minSize": 1, "maxSize": 3, "desiredSize": 1 }, "instanceTypes": [ "m5.large" ], "subnets": [ "subnet-0e2907431c9988b72", "subnet-04ad87f71c6e5ab4d", "subnet-09d912bb63ef21b9a" ], "amiType": "AL2_x86_64", "nodeRole": "arn:aws:iam::111122223333:role/role-name", "diskSize": 50, "health": { "issues": [] }, "updateConfig": { "maxUnavailable": 1 }, "tags": {} } }For more information, see Creating a managed node group in the Amazon EKS User Guide.
Example 3: Creates a managed node group for an Amazon EKS cluster with custom instance-types, disk-size, ami-type, capacity-type, update-config, labels, taints and tags.
The following
create-nodegroupexample creates a managed node group for an Amazon EKS cluster with custom instance-types, disk-size, ami-type, capacity-type, update-config, labels, taints and tags.aws eks create-nodegroup \ --cluster-namemy-eks-cluster\ --nodegroup-namemy-eks-nodegroup\ --node-rolearn:aws:iam::111122223333:role/role-name\ --subnets"subnet-0e2907431c9988b72""subnet-04ad87f71c6e5ab4d""subnet-09d912bb63ef21b9a"\ --scaling-configminSize=1,maxSize=5,desiredSize=4\ --instance-types 't3.large' \ --disk-size50\ --ami-typeAL2_x86_64\ --capacity-typeSPOT\ --update-configmaxUnavailable=2\ --labels '{"my-eks-nodegroup-label-1": "value-1" , "my-eks-nodegroup-label-2": "value-2"}' \ --taints '{"key": "taint-key-1" , "value": "taint-value-1", "effect": "NO_EXECUTE"}' \ --tags '{"my-eks-nodegroup-key-1": "value-1" , "my-eks-nodegroup-key-2": "value-2"}'Output:
{ "nodegroup": { "nodegroupName": "my-eks-nodegroup", "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/88c75524-97af-0cb9-a9c5-7c0423ab5314", "clusterName": "my-eks-cluster", "version": "1.26", "releaseVersion": "1.26.12-20240329", "createdAt": "2024-04-04T14:05:07.940000-04:00", "modifiedAt": "2024-04-04T14:05:07.940000-04:00", "status": "CREATING", "capacityType": "SPOT", "scalingConfig": { "minSize": 1, "maxSize": 5, "desiredSize": 4 }, "instanceTypes": [ "t3.large" ], "subnets": [ "subnet-0e2907431c9988b72", "subnet-04ad87f71c6e5ab4d", "subnet-09d912bb63ef21b9a" ], "amiType": "AL2_x86_64", "nodeRole": "arn:aws:iam::111122223333:role/role-name", "labels": { "my-eks-nodegroup-label-2": "value-2", "my-eks-nodegroup-label-1": "value-1" }, "taints": [ { "key": "taint-key-1", "value": "taint-value-1", "effect": "NO_EXECUTE" } ], "diskSize": 50, "health": { "issues": [] }, "updateConfig": { "maxUnavailable": 2 }, "tags": { "my-eks-nodegroup-key-1": "value-1", "my-eks-nodegroup-key-2": "value-2" } } }For more information, see Creating a managed node group in the Amazon EKS User Guide.
-
For API details, see CreateNodegroup
in AWS CLI Command Reference.
-
The following code example shows how to use create-pod-identity-association.
- AWS CLI
-
Example 1: To create an EKS Pod Identity association in EKS cluster
The following
create-pod-identity-associationexample creates an EKS Pod Identity association between a service account in the EKS cluster and an IAM role.aws eks create-pod-identity-association \ --cluster-nameeks-customer\ --namespacedefault\ --service-accountdefault\ --role-arnarn:aws:iam::111122223333:role/my-roleOutput:
{ "association": { "clusterName": "eks-customer", "namespace": "default", "serviceAccount": "default", "roleArn": "arn:aws:iam::111122223333:role/my-role", "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-8mvwvh57cu74mgcst", "associationId": "a-8mvwvh57cu74mgcst", "tags": {}, "createdAt": "2025-05-24T19:40:13.961000-05:00", "modifiedAt": "2025-05-24T19:40:13.961000-05:00" } }For more information, see Learn how EKS Pod Identity grants pods access to AWS services in the Amazon EKS User Guide.
Example 2: To create an EKS Pod Identity association in EKS cluster with tags
The following
create-pod-identity-associationcreates an EKS Pod Identity association between a service account and an IAM role in the EKS cluster with tags.aws eks create-pod-identity-association \ --cluster-nameeks-customer\ --namespacedefault\ --service-accountdefault\ --role-arnarn:aws:iam::111122223333:role/my-role\ --tagsKey1=value1,Key2=value2Output:
{ "association": { "clusterName": "eks-customer", "namespace": "default", "serviceAccount": "default", "roleArn": "arn:aws:iam::111122223333:role/my-role", "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-9njjin9gfghecgoda", "associationId": "a-9njjin9gfghecgoda", "tags": { "Key2": "value2", "Key1": "value1" }, "createdAt": "2025-05-24T19:52:14.135000-05:00", "modifiedAt": "2025-05-24T19:52:14.135000-05:00" } }For more information, see Learn how EKS Pod Identity grants pods access to AWS services in the Amazon EKS User Guide.
-
For API details, see CreatePodIdentityAssociation
in AWS CLI Command Reference.
-
The following code example shows how to use delete-access-entry.
- AWS CLI
-
To delete an access entry associated with the cluster
The following
delete-access-entrydeletes an access entry associated with the EKS cluster namedeks-customer.aws eks delete-access-entry \ --cluster-nameeks-customer\ --principal-arnarn:aws:iam::111122223333:role/AdminThis command produces no output.
For more information, see Delete access entries in the Amazon EKS User Guide.
-
For API details, see DeleteAccessEntry
in AWS CLI Command Reference.
-
The following code example shows how to use delete-addon.
- AWS CLI
-
Example 1. To deletes an Amazon EKS add-on but preserve the add-on software on the EKS Cluster
The following
delete-addonexample command deletes an Amazon EKS add-on but preserve the add-on software on the EKS Cluster.aws eks delete-addon \ --cluster-namemy-eks-cluster\ --addon-namemy-eks-addon\ --preserveOutput:
{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "DELETING", "addonVersion": "v1.9.3-eksbuild.7", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/a8c71ed3-944e-898b-9167-c763856af4b8", "createdAt": "2024-03-14T11:49:09.009000-04:00", "modifiedAt": "2024-03-14T12:03:49.776000-04:00", "tags": {} } }For more information, see Managing Amazon EKS add-ons - Deleting an add-on in the Amazon EKS.
Example 2. To deletes an Amazon EKS add-on and also delete the add-on software from the EKS Cluster
The following
delete-addonexample command deletes an Amazon EKS add-on and also delete the add-on software from the EKS Cluster.aws eks delete-addon \ --cluster-namemy-eks-cluster\ --addon-namemy-eks-addonOutput:
{ "addon": { "addonName": "my-eks-addon", "clusterName": "my-eks-cluster", "status": "DELETING", "addonVersion": "v1.15.1-eksbuild.1", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/my-eks-addon/bac71ed1-ec43-3bb6-88ea-f243cdb58954", "createdAt": "2024-03-14T11:45:31.983000-04:00", "modifiedAt": "2024-03-14T11:58:40.136000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/role-name", "tags": {} } }For more information, see Managing Amazon EKS add-ons - Deleting an add-on in the Amazon EKS.
-
For API details, see DeleteAddon
in AWS CLI Command Reference.
-
The following code example shows how to use delete-cluster.
- AWS CLI
-
Delete an Amazon EKS cluster control plane
The following
delete-clusterexample deletes an Amazon EKS cluster control plane.aws eks delete-cluster \ --namemy-eks-clusterOutput:
{ "cluster": { "name": "my-eks-cluster", "arn": "arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster", "createdAt": "2024-03-14T11:31:44.348000-04:00", "version": "1.27", "endpoint": "https://DALSJ343KE23J3RN45653DSKJTT647TYD.yl4.us-east-2.eks.amazonaws.com", "roleArn": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-cluster-ServiceRole-zMF6CBakwwbW", "resourcesVpcConfig": { "subnetIds": [ "subnet-0fb75d2d8401716e7", "subnet-02184492f67a3d0f9", "subnet-04098063527aab776", "subnet-0e2907431c9988b72", "subnet-04ad87f71c6e5ab4d", "subnet-09d912bb63ef21b9a" ], "securityGroupIds": [ "sg-0c1327f6270afbb36" ], "clusterSecurityGroupId": "sg-01c84d09d70f39a7f", "vpcId": "vpc-0012b8e1cc0abb17d", "endpointPublicAccess": true, "endpointPrivateAccess": true, "publicAccessCidrs": [ "0.0.0.0/0" ] }, "kubernetesNetworkConfig": { "serviceIpv4Cidr": "10.100.0.0/16", "ipFamily": "ipv4" }, "logging": { "clusterLogging": [ { "types": [ "api", "audit", "authenticator", "controllerManager", "scheduler" ], "enabled": true } ] }, "identity": { "oidc": { "issuer": "https://oidc.eks.us-east-2.amazonaws.com/id/DALSJ343KE23J3RN45653DSKJTT647TYD" } }, "status": "DELETING", "certificateAuthority": { "data": "XXX_CA_DATA_XXX" }, "platformVersion": "eks.16", "tags": { "aws:cloudformation:stack-name": "eksctl-my-eks-cluster-cluster", "alpha.eksctl.io/cluster-name": "my-eks-cluster", "karpenter.sh/discovery": "my-eks-cluster", "aws:cloudformation:stack-id": "arn:aws:cloudformation:us-east-2:111122223333:stack/eksctl-my-eks-cluster-cluster/e752ea00-e217-11ee-beae-0a9599c8c7ed", "auto-delete": "no", "eksctl.cluster.k8s.io/v1alpha1/cluster-name": "my-eks-cluster", "EKS-Cluster-Name": "my-eks-cluster", "alpha.eksctl.io/cluster-oidc-enabled": "true", "aws:cloudformation:logical-id": "ControlPlane", "alpha.eksctl.io/eksctl-version": "0.173.0-dev+a7ee89342.2024-03-01T03:40:57Z", "Name": "eksctl-my-eks-cluster-cluster/ControlPlane" }, "accessConfig": { "authenticationMode": "API_AND_CONFIG_MAP" } } }For more information, see Deleting an Amazon EKS cluster in the Amazon EKS User Guide.
-
For API details, see DeleteCluster
in AWS CLI Command Reference.
-
The following code example shows how to use delete-fargate-profile.
- AWS CLI
-
Example 1: Create EKS Fargate Profile for a selector with a namespace
The following
delete-fargate-profileexample creates an EKS Fargate Profile for a selector with a namespace.aws eks delete-fargate-profile \ --cluster-namemy-eks-cluster\ --fargate-profile-namemy-fargate-profileOutput:
{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/1ac72bb3-3fc6-2631-f1e1-98bff53bed62", "clusterName": "my-eks-cluster", "createdAt": "2024-03-19T11:48:39.975000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/role-name", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "default", "labels": { "foo": "bar" } } ], "status": "DELETING", "tags": {} } }For more information, see AWS Fargate profile - Deleting a Fargate in the Amazon EKS User Guide.
-
For API details, see DeleteFargateProfile
in AWS CLI Command Reference.
-
The following code example shows how to use delete-nodegroup.
- AWS CLI
-
Example 1: Delete a managed node group for an Amazon EKS cluster
The following
delete-nodegroupexample deletes a managed node group for an Amazon EKS cluster.aws eks delete-nodegroup \ --cluster-namemy-eks-cluster\ --nodegroup-namemy-eks-nodegroupOutput:
{ "nodegroup": { "nodegroupName": "my-eks-nodegroup", "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/1ec75f5f-0e21-dcc0-b46e-f9c442685cd8", "clusterName": "my-eks-cluster", "version": "1.26", "releaseVersion": "1.26.12-20240329", "createdAt": "2024-04-08T13:25:15.033000-04:00", "modifiedAt": "2024-04-08T13:25:31.252000-04:00", "status": "DELETING", "capacityType": "SPOT", "scalingConfig": { "minSize": 1, "maxSize": 5, "desiredSize": 4 }, "instanceTypes": [ "t3.large" ], "subnets": [ "subnet-0e2907431c9988b72", "subnet-04ad87f71c6e5ab4d", "subnet-09d912bb63ef21b9a" ], "amiType": "AL2_x86_64", "nodeRole": "arn:aws:iam::111122223333:role/role-name", "labels": { "my-eks-nodegroup-label-2": "value-2", "my-eks-nodegroup-label-1": "value-1" }, "taints": [ { "key": "taint-key-1", "value": "taint-value-1", "effect": "NO_EXECUTE" } ], "diskSize": 50, "health": { "issues": [] }, "updateConfig": { "maxUnavailable": 2 }, "tags": { "my-eks-nodegroup-key-1": "value-1", "my-eks-nodegroup-key-2": "value-2" } } }-
For API details, see DeleteNodegroup
in AWS CLI Command Reference.
-
The following code example shows how to use delete-pod-identity-association.
- AWS CLI
-
To delete the EKS Pod Identity association
The following
delete-pod-identity-associationexample deletes the EKS Pod Identity association with association IDa-9njjin9gfghecgocdfrom the EKS cluster namedeks-customer.aws eks delete-pod-identity-association \ --cluster-nameeks-customer\ --association-ida-9njjin9gfghecgocdOutput:
{ "association": { "clusterName": "eks-customer", "namespace": "default", "serviceAccount": "default", "roleArn": "arn:aws:iam::111122223333:role/s3-role", "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-9njjin9gfghecgocd", "associationId": "a-9njjin9gfghecgocd", "tags": { "Key2": "value2", "Key1": "value1" }, "createdAt": "2025-05-24T19:52:14.135000-05:00", "modifiedAt": "2025-05-25T21:10:56.923000-05:00" } }For more information, see Learn how EKS Pod Identity grants pods access to AWS services in the Amazon EKS User Guide.
-
For API details, see DeletePodIdentityAssociation
in AWS CLI Command Reference.
-
The following code example shows how to use deregister-cluster.
- AWS CLI
-
To deregisters a connected cluster to remove it from the Amazon EKS control plane
The following
deregister-clusterexample deregisters a connected cluster to remove it from the Amazon EKS control plane.aws eks deregister-cluster \ --namemy-eks-anywhere-clusterOutput:
{ "cluster": { "name": "my-eks-anywhere-cluster", "arn": "arn:aws:eks:us-east-2:111122223333:cluster/my-eks-anywhere-cluster", "createdAt": "2024-04-12T12:38:37.561000-04:00", "status": "DELETING", "tags": {}, "connectorConfig": { "activationId": "dfb5ad28-13c3-4e26-8a19-5b2457638c74", "activationExpiry": "2024-04-15T12:38:37.082000-04:00", "provider": "EKS_ANYWHERE", "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole" } } }For more information, see Deregistering a cluster in the Amazon EKS User Guide.
-
For API details, see DeregisterCluster
in AWS CLI Command Reference.
-
The following code example shows how to use describe-access-entry.
- AWS CLI
-
To describe the access entry for EKS cluster
The following
describe-access-entryexample describes an access entry for the EKS cluster.aws eks describe-access-entry \ --cluster-nameeks-customer\ --principal-arnarn:aws:iam::111122223333:user/eks-admin-userOutput:
{ "accessEntry": { "clusterName": "eks-customer", "principalArn": "arn:aws:iam::111122223333:user/eks-admin-user", "kubernetesGroups": [], "accessEntryArn": "arn:aws:eks:us-west-2:111122223333:access-entry/eks-customer/user/111122223333/eks-admin-user/0acb1bc6-cb0a-ede6-11ae-a6506e3d36p0", "createdAt": "2025-04-14T22:45:48.097000-05:00", "modifiedAt": "2025-04-14T22:45:48.097000-05:00", "tags": {}, "username": "arn:aws:iam::111122223333:user/eks-admin-user", "type": "STANDARD" } }For more information, see Grant IAM users access to Kubernetes with EKS access entries in the Amazon EKS User Guide.
-
For API details, see DescribeAccessEntry
in AWS CLI Command Reference.
-
The following code example shows how to use describe-addon-configuration.
- AWS CLI
-
Example 1: Configuration options available when creating or updating Amazon vpc-cni AddOns
The following
describe-addon-configurationexample returns the all the available configuration schema you use when an add-on is created or updated for vpc-cni add-on with respective version.aws eks describe-addon-configuration \ --addon-namevpc-cni\ --addon-versionv1.15.1-eksbuild.1Output:
{ "addonName": "vpc-cni", "addonVersion": "v1.15.1-eksbuild.1", "configurationSchema": "{\"$ref\":\"#/definitions/VpcCni\",\"$schema\":\"http://json-schema.org/draft-06/schema#\",\"definitions\":{\"Affinity\":{\"type\":[\"object\",\"null\"]},\"EniConfig\":{\"additionalProperties\":false,\"properties\":{\"create\":{\"type\":\"boolean\"},\"region\":{\"type\":\"string\"},\"subnets\":{\"additionalProperties\":{\"additionalProperties\":false,\"properties\":{\"id\":{\"type\":\"string\"},\"securityGroups\":{\"items\":{\"type\":\"string\"},\"type\":\"array\"}},\"required\":[\"id\"],\"type\":\"object\"},\"minProperties\":1,\"type\":\"object\"}},\"required\":[\"create\",\"region\",\"subnets\"],\"type\":\"object\"},\"Env\":{\"additionalProperties\":false,\"properties\":{\"ADDITIONAL_ENI_TAGS\":{\"type\":\"string\"},\"ANNOTATE_POD_IP\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_EC2_ENDPOINT\":{\"type\":\"string\"},\"AWS_EXTERNAL_SERVICE_CIDRS\":{\"type\":\"string\"},\"AWS_MANAGE_ENIS_NON_SCHEDULABLE\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_CNI_NODE_PORT_SUPPORT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_ENI_MTU\":{\"format\":\"integer\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOGLEVEL\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_RANDOMIZESNAT\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_VETHPREFIX\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_LEVEL\":{\"type\":\"string\"},\"CLUSTER_ENDPOINT\":{\"type\":\"string\"},\"DISABLE_INTROSPECTION\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_LEAKED_ENI_CLEANUP\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_METRICS\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_NETWORK_RESOURCE_PROVISIONING\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_POD_V6\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_BANDWIDTH_PLUGIN\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_POD_ENI\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_PREFIX_DELEGATION\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_V4_EGRESS\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_V6_EGRESS\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENI_CONFIG_ANNOTATION_DEF\":{\"type\":\"string\"},\"ENI_CONFIG_LABEL_DEF\":{\"type\":\"string\"},\"INTROSPECTION_BIND_ADDRESS\":{\"type\":\"string\"},\"IP_COOLDOWN_PERIOD\":{\"format\":\"integer\",\"type\":\"string\"},\"MAX_ENI\":{\"format\":\"integer\",\"type\":\"string\"},\"MINIMUM_IP_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"POD_SECURITY_GROUP_ENFORCING_MODE\":{\"type\":\"string\"},\"WARM_ENI_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"WARM_IP_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"WARM_PREFIX_TARGET\":{\"format\":\"integer\",\"type\":\"string\"}},\"title\":\"Env\",\"type\":\"object\"},\"Init\":{\"additionalProperties\":false,\"properties\":{\"env\":{\"$ref\":\"#/definitions/InitEnv\"}},\"title\":\"Init\",\"type\":\"object\"},\"InitEnv\":{\"additionalProperties\":false,\"properties\":{\"DISABLE_TCP_EARLY_DEMUX\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_V6_EGRESS\":{\"format\":\"boolean\",\"type\":\"string\"}},\"title\":\"InitEnv\",\"type\":\"object\"},\"Limits\":{\"additionalProperties\":false,\"properties\":{\"cpu\":{\"type\":\"string\"},\"memory\":{\"type\":\"string\"}},\"title\":\"Limits\",\"type\":\"object\"},\"NodeAgent\":{\"additionalProperties\":false,\"properties\":{\"enableCloudWatchLogs\":{\"format\":\"boolean\",\"type\":\"string\"},\"enablePolicyEventLogs\":{\"format\":\"boolean\",\"type\":\"string\"},\"healthProbeBindAddr\":{\"format\":\"integer\",\"type\":\"string\"},\"metricsBindAddr\":{\"format\":\"integer\",\"type\":\"string\"}},\"title\":\"NodeAgent\",\"type\":\"object\"},\"Resources\":{\"additionalProperties\":false,\"properties\":{\"limits\":{\"$ref\":\"#/definitions/Limits\"},\"requests\":{\"$ref\":\"#/definitions/Limits\"}},\"title\":\"Resources\",\"type\":\"object\"},\"Tolerations\":{\"additionalProperties\":false,\"items\":{\"type\":\"object\"},\"type\":\"array\"},\"VpcCni\":{\"additionalProperties\":false,\"properties\":{\"affinity\":{\"$ref\":\"#/definitions/Affinity\"},\"enableNetworkPolicy\":{\"format\":\"boolean\",\"type\":\"string\"},\"enableWindowsIpam\":{\"format\":\"boolean\",\"type\":\"string\"},\"eniConfig\":{\"$ref\":\"#/definitions/EniConfig\"},\"env\":{\"$ref\":\"#/definitions/Env\"},\"init\":{\"$ref\":\"#/definitions/Init\"},\"livenessProbeTimeoutSeconds\":{\"type\":\"integer\"},\"nodeAgent\":{\"$ref\":\"#/definitions/NodeAgent\"},\"readinessProbeTimeoutSeconds\":{\"type\":\"integer\"},\"resources\":{\"$ref\":\"#/definitions/Resources\"},\"tolerations\":{\"$ref\":\"#/definitions/Tolerations\"}},\"title\":\"VpcCni\",\"type\":\"object\"}},\"description\":\"vpc-cni\"}" }Example 2: Configuration options available when creating or updating Amazon coredns AddOns
The following
describe-addon-configurationexample returns all the available configuration schema you use when an add-on is created or updated for coredns add-on with respective version.aws eks describe-addon-configuration \ --addon-namecoredns\ --addon-versionv1.8.7-eksbuild.4Output:
{ "addonName": "coredns", "addonVersion": "v1.8.7-eksbuild.4", "configurationSchema": "{\"$ref\":\"#/definitions/Coredns\",\"$schema\":\"http://json-schema.org/draft-06/schema#\",\"definitions\":{\"Coredns\":{\"additionalProperties\":false,\"properties\":{\"computeType\":{\"type\":\"string\"},\"corefile\":{\"description\":\"Entire corefile contents to use with installation\",\"type\":\"string\"},\"nodeSelector\":{\"additionalProperties\":{\"type\":\"string\"},\"type\":\"object\"},\"replicaCount\":{\"type\":\"integer\"},\"resources\":{\"$ref\":\"#/definitions/Resources\"}},\"title\":\"Coredns\",\"type\":\"object\"},\"Limits\":{\"additionalProperties\":false,\"properties\":{\"cpu\":{\"type\":\"string\"},\"memory\":{\"type\":\"string\"}},\"title\":\"Limits\",\"type\":\"object\"},\"Resources\":{\"additionalProperties\":false,\"properties\":{\"limits\":{\"$ref\":\"#/definitions/Limits\"},\"requests\":{\"$ref\":\"#/definitions/Limits\"}},\"title\":\"Resources\",\"type\":\"object\"}}}" }For more information, see Creating or updating a kubeconfig file for an Amazon EKS cluster in the Amazon EKS.
-
For API details, see DescribeAddonConfiguration
in AWS CLI Command Reference.
-
The following code example shows how to use describe-addon-versions.
- AWS CLI
-
Example 1: List all the available addons for EKS Cluster
The following
describe-addon-versionsexample list all the available AWS addons.aws eks describe-addon-versions \ --query 'sort_by(addons &owner)[].{publisher: publisher, owner: owner, addonName: addonName, type: type}' \ --outputtableOutput:
-------------------------------------------------------------------------------------------------------------------- | DescribeAddonVersions | +---------------------------------------------+------------------+-----------------------+-------------------------+ | addonName | owner | publisher | type | +---------------------------------------------+------------------+-----------------------+-------------------------+ | vpc-cni | aws | eks | networking | | snapshot-controller | aws | eks | storage | | kube-proxy | aws | eks | networking | | eks-pod-identity-agent | aws | eks | security | | coredns | aws | eks | networking | | aws-mountpoint-s3-csi-driver | aws | s3 | storage | | aws-guardduty-agent | aws | eks | security | | aws-efs-csi-driver | aws | eks | storage | | aws-ebs-csi-driver | aws | eks | storage | | amazon-cloudwatch-observability | aws | eks | observability | | adot | aws | eks | observability | | upwind-security_upwind-operator | aws-marketplace | Upwind Security | security | | upbound_universal-crossplane | aws-marketplace | upbound | infra-management | | tetrate-io_istio-distro | aws-marketplace | tetrate-io | policy-management | | teleport_teleport | aws-marketplace | teleport | policy-management | | stormforge_optimize-live | aws-marketplace | StormForge | cost-management | | splunk_splunk-otel-collector-chart | aws-marketplace | Splunk | monitoring | | solo-io_istio-distro | aws-marketplace | Solo.io | service-mesh | | rafay-systems_rafay-operator | aws-marketplace | rafay-systems | kubernetes-management | | new-relic_kubernetes-operator | aws-marketplace | New Relic | observability | | netapp_trident-operator | aws-marketplace | NetApp Inc. | storage | | leaksignal_leakagent | aws-marketplace | leaksignal | monitoring | | kubecost_kubecost | aws-marketplace | kubecost | cost-management | | kong_konnect-ri | aws-marketplace | kong | ingress-service-type | | kasten_k10 | aws-marketplace | Kasten by Veeam | data-protection | | haproxy-technologies_kubernetes-ingress-ee | aws-marketplace | HAProxy Technologies | ingress-controller | | groundcover_agent | aws-marketplace | groundcover | monitoring | | grafana-labs_kubernetes-monitoring | aws-marketplace | Grafana Labs | monitoring | | factorhouse_kpow | aws-marketplace | factorhouse | monitoring | | dynatrace_dynatrace-operator | aws-marketplace | dynatrace | monitoring | | datree_engine-pro | aws-marketplace | datree | policy-management | | datadog_operator | aws-marketplace | Datadog | monitoring | | cribl_cribledge | aws-marketplace | Cribl | observability | | calyptia_fluent-bit | aws-marketplace | Calyptia Inc | observability | | accuknox_kubearmor | aws-marketplace | AccuKnox | security | +---------------------------------------------+------------------+-----------------------+-------------------------+For more information, see Managing Amazon EKS add-ons - Creating an add-on in the Amazon EKS User Guide.
Example 2: List all the available addons for specified Kubernetes version suppoerted for EKS
The following
describe-addon-versionsexample list all the available addons for specified Kubernetes version suppoerted for EKS.aws eks describe-addon-versions \ --kubernetes-version=1.26 \ --query 'sort_by(addons &owner)[].{publisher: publisher, owner: owner, addonName: addonName, type: type}' \ --outputtableOutput:
-------------------------------------------------------------------------------------------------------------------- | DescribeAddonVersions | +---------------------------------------------+------------------+-----------------------+-------------------------+ | addonName | owner | publisher | type | +---------------------------------------------+------------------+-----------------------+-------------------------+ | vpc-cni | aws | eks | networking | | snapshot-controller | aws | eks | storage | | kube-proxy | aws | eks | networking | | eks-pod-identity-agent | aws | eks | security | | coredns | aws | eks | networking | | aws-mountpoint-s3-csi-driver | aws | s3 | storage | | aws-guardduty-agent | aws | eks | security | | aws-efs-csi-driver | aws | eks | storage | | aws-ebs-csi-driver | aws | eks | storage | | amazon-cloudwatch-observability | aws | eks | observability | | adot | aws | eks | observability | | upwind-security_upwind-operator | aws-marketplace | Upwind Security | security | | tetrate-io_istio-distro | aws-marketplace | tetrate-io | policy-management | | stormforge_optimize-live | aws-marketplace | StormForge | cost-management | | splunk_splunk-otel-collector-chart | aws-marketplace | Splunk | monitoring | | solo-io_istio-distro | aws-marketplace | Solo.io | service-mesh | | rafay-systems_rafay-operator | aws-marketplace | rafay-systems | kubernetes-management | | new-relic_kubernetes-operator | aws-marketplace | New Relic | observability | | netapp_trident-operator | aws-marketplace | NetApp Inc. | storage | | leaksignal_leakagent | aws-marketplace | leaksignal | monitoring | | kubecost_kubecost | aws-marketplace | kubecost | cost-management | | kong_konnect-ri | aws-marketplace | kong | ingress-service-type | | haproxy-technologies_kubernetes-ingress-ee | aws-marketplace | HAProxy Technologies | ingress-controller | | groundcover_agent | aws-marketplace | groundcover | monitoring | | grafana-labs_kubernetes-monitoring | aws-marketplace | Grafana Labs | monitoring | | dynatrace_dynatrace-operator | aws-marketplace | dynatrace | monitoring | | datadog_operator | aws-marketplace | Datadog | monitoring | | cribl_cribledge | aws-marketplace | Cribl | observability | | calyptia_fluent-bit | aws-marketplace | Calyptia Inc | observability | | accuknox_kubearmor | aws-marketplace | AccuKnox | security | +---------------------------------------------+------------------+-----------------------+-------------------------+For more information, see Managing Amazon EKS add-ons - Creating an add-on in the Amazon EKS User Guide.
Example 3: List all the available vpc-cni addons version for specified Kubernetes version suppoerted for EKS
The following
describe-addon-versionsexample list all the available vpc-cni addons version for specified Kubernetes version suppoerted for EKS.aws eks describe-addon-versions \ --kubernetes-version=1.26 \ --addon-name=vpc-cni \ --query='addons[].addonVersions[].addonVersion'Output:
[ "v1.18.0-eksbuild.1", "v1.17.1-eksbuild.1", "v1.16.4-eksbuild.2", "v1.16.3-eksbuild.2", "v1.16.2-eksbuild.1", "v1.16.0-eksbuild.1", "v1.15.5-eksbuild.1", "v1.15.4-eksbuild.1", "v1.15.3-eksbuild.1", "v1.15.1-eksbuild.1", "v1.15.0-eksbuild.2", "v1.14.1-eksbuild.1", "v1.14.0-eksbuild.3", "v1.13.4-eksbuild.1", "v1.13.3-eksbuild.1", "v1.13.2-eksbuild.1", "v1.13.0-eksbuild.1", "v1.12.6-eksbuild.2", "v1.12.6-eksbuild.1", "v1.12.5-eksbuild.2", "v1.12.0-eksbuild.2" ]For more information, see Managing Amazon EKS add-ons - Creating an add-on in the Amazon EKS User Guide.
-
For API details, see DescribeAddonVersions
in AWS CLI Command Reference.
-
The following code example shows how to use describe-addon.
- AWS CLI
-
Describe actively running EKS addon in your Amazon EKS cluster
The following
describe-addonexample actively running EKS addon in your Amazon EKS cluster.aws eks describe-addon \ --cluster-namemy-eks-cluster\ --addon-namevpc-cniOutput:
{ "addon": { "addonName": "vpc-cni", "clusterName": "my-eks-cluster", "status": "ACTIVE", "addonVersion": "v1.16.4-eksbuild.2", "health": { "issues": [] }, "addonArn": "arn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/vpc-cni/0ec71efc-98dd-3203-60b0-4b939b2a5e5f", "createdAt": "2024-03-14T13:18:45.417000-04:00", "modifiedAt": "2024-03-14T13:18:49.557000-04:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm", "tags": { "eks-addon-key-3": "value-3", "eks-addon-key-4": "value-4" }, "configurationValues": "resources:\n limits:\n cpu: '100m'\nenv:\n AWS_VPC_K8S_CNI_LOGLEVEL: 'DEBUG'" } }-
For API details, see DescribeAddon
in AWS CLI Command Reference.
-
The following code example shows how to use describe-cluster.
- AWS CLI
-
Describe actively running EKS addon in your Amazon EKS cluster
The following
describe-clusterexample actively running EKS addon in your Amazon EKS cluster.aws eks describe-cluster \ --namemy-eks-clusterOutput:
{ "cluster": { "name": "my-eks-cluster", "arn": "arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster", "createdAt": "2024-03-14T11:31:44.348000-04:00", "version": "1.26", "endpoint": "https://JSA79429HJDASKJDJ8223829MNDNASW.yl4.us-east-2.eks.amazonaws.com", "roleArn": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-cluster-ServiceRole-zMF6CBakwwbW", "resourcesVpcConfig": { "subnetIds": [ "subnet-0fb75d2d8401716e7", "subnet-02184492f67a3d0f9", "subnet-04098063527aab776", "subnet-0e2907431c9988b72", "subnet-04ad87f71c6e5ab4d", "subnet-09d912bb63ef21b9a" ], "securityGroupIds": [ "sg-0c1327f6270afbb36" ], "clusterSecurityGroupId": "sg-01c84d09d70f39a7f", "vpcId": "vpc-0012b8e1cc0abb17d", "endpointPublicAccess": true, "endpointPrivateAccess": true, "publicAccessCidrs": [ "22.19.18.2/32" ] }, "kubernetesNetworkConfig": { "serviceIpv4Cidr": "10.100.0.0/16", "ipFamily": "ipv4" }, "logging": { "clusterLogging": [ { "types": [ "api", "audit", "authenticator", "controllerManager", "scheduler" ], "enabled": true } ] }, "identity": { "oidc": { "issuer": "https://oidc.eks.us-east-2.amazonaws.com/id/JSA79429HJDASKJDJ8223829MNDNASW" } }, "status": "ACTIVE", "certificateAuthority": { "data": "CA_DATA_STRING..." }, "platformVersion": "eks.14", "tags": { "aws:cloudformation:stack-name": "eksctl-my-eks-cluster-cluster", "alpha.eksctl.io/cluster-name": "my-eks-cluster", "karpenter.sh/discovery": "my-eks-cluster", "aws:cloudformation:stack-id": "arn:aws:cloudformation:us-east-2:111122223333:stack/eksctl-my-eks-cluster-cluster/e752ea00-e217-11ee-beae-0a9599c8c7ed", "auto-delete": "no", "eksctl.cluster.k8s.io/v1alpha1/cluster-name": "my-eks-cluster", "EKS-Cluster-Name": "my-eks-cluster", "alpha.eksctl.io/cluster-oidc-enabled": "true", "aws:cloudformation:logical-id": "ControlPlane", "alpha.eksctl.io/eksctl-version": "0.173.0-dev+a7ee89342.2024-03-01T03:40:57Z", "Name": "eksctl-my-eks-cluster-cluster/ControlPlane" }, "health": { "issues": [] }, "accessConfig": { "authenticationMode": "API_AND_CONFIG_MAP" } } }-
For API details, see DescribeCluster
in AWS CLI Command Reference.
-
The following code example shows how to use describe-fargate-profile.
- AWS CLI
-
Describe a Fargate profile
The following
describe-fargate-profileexample describes a Fargate profile.aws eks describe-fargate-profile \ --cluster-namemy-eks-cluster\ --fargate-profile-namemy-fargate-profileOutput:
{ "fargateProfile": { "fargateProfileName": "my-fargate-profile", "fargateProfileArn": "arn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/96c766ce-43d2-f9c9-954c-647334391198", "clusterName": "my-eks-cluster", "createdAt": "2024-04-11T10:42:52.486000-04:00", "podExecutionRoleArn": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-farga-FargatePodExecutionRole-1htfAaJdJUEO", "subnets": [ "subnet-09d912bb63ef21b9a", "subnet-04ad87f71c6e5ab4d", "subnet-0e2907431c9988b72" ], "selectors": [ { "namespace": "prod*", "labels": { "labelname*?": "*value1" } }, { "namespace": "*dev*", "labels": { "labelname*?": "*value*" } } ], "status": "ACTIVE", "tags": { "eks-fargate-profile-key-2": "value-2", "eks-fargate-profile-key-1": "value-1" } } }-
For API details, see DescribeFargateProfile
in AWS CLI Command Reference.
-
The following code example shows how to use describe-identity-provider-config.
- AWS CLI
-
Describe an identity provider configuration associated to your Amazon EKS Cluster
The following
describe-identity-provider-configexample describes an identity provider configuration associated to your Amazon EKS Cluster.aws eks describe-identity-provider-config \ --cluster-namemy-eks-cluster\ --identity-provider-configtype=oidc,name=my-identity-providerOutput:
{ "identityProviderConfig": { "oidc": { "identityProviderConfigName": "my-identity-provider", "identityProviderConfigArn": "arn:aws:eks:us-east-2:111122223333:identityproviderconfig/my-eks-cluster/oidc/my-identity-provider/8ac76722-78e4-cec1-ed76-d49eea058622", "clusterName": "my-eks-cluster", "issuerUrl": "https://oidc.eks.us-east-2.amazonaws.com/id/38D6A4619A0A69E342B113ED7F1A7652", "clientId": "kubernetes", "usernameClaim": "email", "usernamePrefix": "my-username-prefix", "groupsClaim": "my-claim", "groupsPrefix": "my-groups-prefix", "requiredClaims": { "Claim1": "value1", "Claim2": "value2" }, "tags": { "env": "dev" }, "status": "ACTIVE" } } }For more information, see Authenticate users for your cluster from an OpenID Connect identity provider in the Amazon EKS User Guide.
-
For API details, see DescribeIdentityProviderConfig
in AWS CLI Command Reference.
-
The following code example shows how to use describe-insight.
- AWS CLI
-
To get the details of an insight for an EKS cluster using its ID
The following
describe-insightexample returns the details about the insight specified using the cluster name and insight ID.aws eks describe-insight \ --cluster-nameeks-customer\ --id38ea7a64-a14f-4e0e-95c7-8dbcab3c3623Output:
{ "insight": { "id": "38ea7a64-a14f-4e0e-95c7-8dbcab3c3623", "name": "Kubelet version skew", "category": "UPGRADE_READINESS", "kubernetesVersion": "1.33", "lastRefreshTime": "2025-05-24T11:22:50-05:00", "lastTransitionTime": "2025-05-24T11:22:50-05:00", "description": "Checks for kubelet versions of worker nodes in the cluster to see if upgrade would cause noncompliance with supported Kubernetes kubelet version skew policy.", "insightStatus": { "status": "PASSING", "reason": "Node kubelet versions match the cluster control plane version." }, "recommendation": "Upgrade your worker nodes to match the Kubernetes version of your cluster control plane.", "additionalInfo": { "Kubelet version skew policy": "https://kubernetes.io/releases/version-skew-policy/#kubelet", "Updating a managed node group": "https://docs.aws.amazon.com/eks/latest/userguide/update-managed-node-group.html" }, "resources": [], "categorySpecificSummary": { "deprecationDetails": [] } } }For more information, see View cluster insights in the Amazon EKS User Guide.
-
For API details, see DescribeInsight
in AWS CLI Command Reference.
-
The following code example shows how to use describe-nodegroup.
- AWS CLI
-
Describe a managed node group for an Amazon EKS cluster
The following
describe-nodegroupexample describes a managed node group for an Amazon EKS cluster.aws eks describe-nodegroup \ --cluster-namemy-eks-cluster\ --nodegroup-namemy-eks-nodegroupOutput:
{ "nodegroup": { "nodegroupName": "my-eks-nodegroup", "nodegroupArn": "arn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-nodegroup/a8c75f2f-df78-a72f-4063-4b69af3de5b1", "clusterName": "my-eks-cluster", "version": "1.26", "releaseVersion": "1.26.12-20240329", "createdAt": "2024-04-08T11:42:10.555000-04:00", "modifiedAt": "2024-04-08T11:44:12.402000-04:00", "status": "ACTIVE", "capacityType": "ON_DEMAND", "scalingConfig": { "minSize": 1, "maxSize": 3, "desiredSize": 1 }, "instanceTypes": [ "t3.medium" ], "subnets": [ "subnet-0e2907431c9988b72", "subnet-04ad87f71c6e5ab4d", "subnet-09d912bb63ef21b9a" ], "amiType": "AL2_x86_64", "nodeRole": "arn:aws:iam::111122223333:role/role-name", "labels": {}, "resources": { "autoScalingGroups": [ { "name": "eks-my-eks-nodegroup-a8c75f2f-df78-a72f-4063-4b69af3de5b1" } ] }, "diskSize": 20, "health": { "issues": [] }, "updateConfig": { "maxUnavailable": 1 }, "tags": {} } }-
For API details, see DescribeNodegroup
in AWS CLI Command Reference.
-
The following code example shows how to use describe-pod-identity-association.
- AWS CLI
-
To provide the details about Pod Identity association
The following
describe-pod-identity-associationexample describes a Pod Identity association in the EKS cluster.aws eks describe-pod-identity-association \ --cluster-nameeks-customer\ --association-ida-9njjin9gfghecgocdOutput:
{ "association": { "clusterName": "eks-customer", "namespace": "default", "serviceAccount": "default", "roleArn": "arn:aws:iam::111122223333:role/my-role", "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-9njjin9gfghecgocd", "associationId": "a-9njjin9gfghecgocd", "tags": { "Key2": "value2", "Key1": "value1" }, "createdAt": "2025-05-24T19:52:14.135000-05:00", "modifiedAt": "2025-05-24T19:52:14.135000-05:00" } }For more information, see Learn how EKS Pod Identity grants pods access to AWS services in the Amazon EKS User Guide.
-
For API details, see DescribePodIdentityAssociation
in AWS CLI Command Reference.
-
The following code example shows how to use describe-update.
- AWS CLI
-
Example 1: To describe an update for a cluster
The following
describe-updateexample describes an update for a cluster named.aws eks describe-update \ --namemy-eks-cluster\ --update-id10bddb13-a71b-425a-b0a6-71cd03e59161Output:
{ "update": { "id": "10bddb13-a71b-425a-b0a6-71cd03e59161", "status": "Successful", "type": "EndpointAccessUpdate", "params": [ { "type": "EndpointPublicAccess", "value": "false" }, { "type": "EndpointPrivateAccess", "value": "true" } ], "createdAt": "2024-03-14T10:01:26.297000-04:00", "errors": [] } }For more information, see Updating an Amazon EKS cluster Kubernetes version in the Amazon EKS User Guide.
Example 2: To describe an update for a cluster
The following
describe-updateexample describes an update for a cluster named.aws eks describe-update \ --namemy-eks-cluster\ --update-ide4994991-4c0f-475a-a040-427e6da52966Output:
{ "update": { "id": "e4994991-4c0f-475a-a040-427e6da52966", "status": "Successful", "type": "AssociateEncryptionConfig", "params": [ { "type": "EncryptionConfig", "value": "[{\"resources\":[\"secrets\"],\"provider\":{\"keyArn\":\"arn:aws:kms:region-code:account:key/key\"}}]" } ], "createdAt": "2024-03-14T11:01:26.297000-04:00", "errors": [] } }For more information, see Updating an Amazon EKS cluster Kubernetes version in the Amazon EKS User Guide.
Example 3: To describe an update for a cluster
The following
describe-updateexample describes an update for a cluster named.aws eks describe-update \ --namemy-eks-cluster\ --update-idb5f0ba18-9a87-4450-b5a0-825e6e84496fOutput:
{ "update": { "id": "b5f0ba18-9a87-4450-b5a0-825e6e84496f", "status": "Successful", "type": "VersionUpdate", "params": [ { "type": "Version", "value": "1.29" }, { "type": "PlatformVersion", "value": "eks.1" } ], "createdAt": "2024-03-14T12:05:26.297000-04:00", "errors": [] } }For more information, see Updating an Amazon EKS cluster Kubernetes version in the Amazon EKS User Guide.
-
For API details, see DescribeUpdate
in AWS CLI Command Reference.
-
The following code example shows how to use disassociate-access-policy.
- AWS CLI
-
To disassociate the access policy from an access entry
The following
disassociate-access-policyremoves the access policy associated with the access entry.aws eks disassociate-access-policy \ --cluster-nameeks-customer\ --principal-arnarn:aws:iam::111122223333:role/Admin\ --policy-arnarn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicyThis command produces no output.
For more information, see Associate access policies with access entries in the Amazon EKS User Guide.
-
For API details, see DisassociateAccessPolicy
in AWS CLI Command Reference.
-
The following code example shows how to use disassociate-identity-provider-config.
- AWS CLI
-
Disassociate identity provider to your Amazon EKS Cluster
The following
disassociate-identity-provider-configexample disassociates an identity provider to your Amazon EKS Cluster.aws eks disassociate-identity-provider-config \ --cluster-namemy-eks-cluster\ --identity-provider-config 'type=oidc,name=my-identity-provider'Output:
{ "update": { "id": "5f78d14e-c57b-4857-a3e4-cf664ae20949", "status": "InProgress", "type": "DisassociateIdentityProviderConfig", "params": [ { "type": "IdentityProviderConfig", "value": "[]" } ], "createdAt": "2024-04-11T13:53:43.314000-04:00", "errors": [] } }For more information, see Authenticate users for your cluster from an OpenID Connect identity provider - Disassociate an OIDC identity provider from your cluster in the Amazon EKS User Guide.
-
For API details, see DisassociateIdentityProviderConfig
in AWS CLI Command Reference.
-
The following code example shows how to use get-token.
- AWS CLI
-
Example 1: Get an authentication token for an Amazon EKS Cluster named `my-eks-cluster`
The following
get-tokenexample gets an authentication token for an Amazon EKS Cluster named my-eks-cluster.aws eks get-token \ --cluster-namemy-eks-clusterOutput:
{ "kind": "ExecCredential", "apiVersion": "client.authentication.k8s.io/v1beta1", "spec": {}, "status": { "expirationTimestamp": "2024-04-11T20:59:56Z", "token": "k8s-aws-v1.EXAMPLE_TOKEN_DATA_STRING..." } }Example 2: Gets an authentication token for an Amazon EKS Cluster named `my-eks-cluster` by assuming this roleARN for credentials when signing the token
The following
get-tokenexample gets an authentication token for an Amazon EKS Cluster named my-eks-cluster by assuming this roleARN for credentials when signing the token.aws eks get-token \ --cluster-namemy-eks-cluster\ --role-arnarn:aws:iam::111122223333:role/eksctl-EKS-Linux-Cluster-v1-24-cluster-ServiceRole-j1k7AfTIQtnMOutput:
{ "kind": "ExecCredential", "apiVersion": "client.authentication.k8s.io/v1beta1", "spec": {}, "status": { "expirationTimestamp": "2024-04-11T21:05:26Z", "token": "k8s-aws-v1.EXAMPLE_TOKEN_DATA_STRING..." } }-
For API details, see GetToken
in AWS CLI Command Reference.
-
The following code example shows how to use list-access-entries.
- AWS CLI
-
To list the access entries for an EKS cluster
The following
list-access-entriesreturns the list of access entries associated with the EKS clustereks-customer.aws eks list-access-entries \ --cluster-nameeks-customerOutput:
{ "accessEntries": [ "arn:aws:iam::111122223333:role/Admin", "arn:aws:iam::111122223333:role/admin-test-ip", "arn:aws:iam::111122223333:role/assume-worker-node-role", "arn:aws:iam::111122223333:user/eks-admin-user" ] }For more information, see Grant IAM users access to Kubernetes with EKS access entries in the Amazon EKS User Guide.
-
For API details, see ListAccessEntries
in AWS CLI Command Reference.
-
The following code example shows how to use list-access-policies.
- AWS CLI
-
To list all available access policies
This
list-access-policiesexample returns the list of all available access policies.aws eks list-access-policiesOutput:
{ "accessPolicies": [ { "name": "AmazonEKSAdminPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy" }, { "name": "AmazonEKSAdminViewPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminViewPolicy" }, { "name": "AmazonEKSAutoNodePolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSAutoNodePolicy" }, { "name": "AmazonEKSBlockStorageClusterPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSBlockStorageClusterPolicy" }, { "name": "AmazonEKSBlockStoragePolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSBlockStoragePolicy" }, { "name": "AmazonEKSClusterAdminPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy" }, { "name": "AmazonEKSComputeClusterPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSComputeClusterPolicy" }, { "name": "AmazonEKSComputePolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSComputePolicy" }, { "name": "AmazonEKSEditPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSEditPolicy" }, { "name": "AmazonEKSHybridPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSHybridPolicy" }, { "name": "AmazonEKSLoadBalancingClusterPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSLoadBalancingClusterPolicy" }, { "name": "AmazonEKSLoadBalancingPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSLoadBalancingPolicy" }, { "name": "AmazonEKSNetworkingClusterPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSNetworkingClusterPolicy" }, { "name": "AmazonEKSNetworkingPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSNetworkingPolicy" }, { "name": "AmazonEKSViewPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSViewPolicy" }, { "name": "AmazonEMRJobPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonEMRJobPolicy" }, { "name": "AmazonSagemakerHyperpodClusterPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonSagemakerHyperpodClusterPolicy" }, { "name": "AmazonSagemakerHyperpodControllerPolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonSagemakerHyperpodControllerPolicy" }, { "name": "AmazonSagemakerHyperpodSystemNamespacePolicy", "arn": "arn:aws:eks::aws:cluster-access-policy/AmazonSagemakerHyperpodSystemNamespacePolicy" } ] }For more information, see Associate access policies with access entries in the Amazon EKS User Guide.
-
For API details, see ListAccessPolicies
in AWS CLI Command Reference.
-
The following code example shows how to use list-addons.
- AWS CLI
-
List all the installed add-ons in your Amazon EKS cluster named `my-eks-cluster`
The following
list-addonsexample lists all the installed add-ons in your Amazon EKS cluster named my-eks-cluster.aws eks list-addons \ --cluster-namemy-eks-clusterOutput:
{ "addons": [ "kube-proxy", "vpc-cni" ] }-
For API details, see ListAddons
in AWS CLI Command Reference.
-
The following code example shows how to use list-associated-access-policies.
- AWS CLI
-
To list the access policies associated with an access entry
The following
list-associated-access-policiesexample returns the list of access policies associated with an access entry in the EKS cluster.aws eks list-associated-access-policies \ --cluster-nameeks-customer\ --principal-arnarn:aws:iam::111122223333:role/AdminOutput:
{ "associatedAccessPolicies": [ { "policyArn": "arn:aws:eks::aws:cluster-access-policy/AmazonEKSAdminPolicy", "accessScope": { "type": "cluster", "namespaces": [] }, "associatedAt": "2025-05-24T17:26:22.935000-05:00", "modifiedAt": "2025-05-24T17:26:22.935000-05:00" } ], "clusterName": "eks-customer", "principalArn": "arn:aws:iam::111122223333:role/Admin" }For more information, see Grant IAM users access to Kubernetes with EKS access entries in the Amazon EKS User Guide.
-
For API details, see ListAssociatedAccessPolicies
in AWS CLI Command Reference.
-
The following code example shows how to use list-clusters.
- AWS CLI
-
To list all the installed add-ons in your Amazon EKS cluster named `my-eks-cluster`
The following
list-clustersexample lists all the installed add-ons in your Amazon EKS cluster named my-eks-cluster.aws eks list-clustersOutput:
{ "clusters": [ "prod", "qa", "stage", "my-eks-cluster" ] }-
For API details, see ListClusters
in AWS CLI Command Reference.
-
The following code example shows how to use list-fargate-profiles.
- AWS CLI
-
To list all the fargate profiles in your Amazon EKS cluster named `my-eks-cluster`
The following
list-fargate-profilesexample lists all the fargate profiles in your Amazon EKS cluster named my-eks-cluster.aws eks list-fargate-profiles \ --cluster-namemy-eks-clusterOutput:
{ "fargateProfileNames": [ "my-fargate-profile" ] }-
For API details, see ListFargateProfiles
in AWS CLI Command Reference.
-
The following code example shows how to use list-identity-provider-configs.
- AWS CLI
-
List identity providers associated to an Amazon EKS Cluster
The following
list-identity-provider-configsexample lists identity provider associated to an Amazon EKS Cluster.aws eks list-identity-provider-configs \ --cluster-namemy-eks-clusterOutput:
{ "identityProviderConfigs": [ { "type": "oidc", "name": "my-identity-provider" } ] }For more information, see Authenticate users for your cluster from an OpenID Connect identity provider in the Amazon EKS User Guide.
-
For API details, see ListIdentityProviderConfigs
in AWS CLI Command Reference.
-
The following code example shows how to use list-insights.
- AWS CLI
-
To list all insights for the specified cluster
The following
list-insightsexample returns the list of all insights checked against the specified cluster.aws eks list-insights \ --cluster-nameeks-customerOutput:
{ "insights": [ { "id": "38ea7a64-a14f-4e0e-95c7-8dbcab3c3616", "name": "Kubelet version skew", "category": "UPGRADE_READINESS", "kubernetesVersion": "1.33", "lastRefreshTime": "2025-05-24T11:22:50-05:00", "lastTransitionTime": "2025-05-24T11:22:50-05:00", "description": "Checks for kubelet versions of worker nodes in the cluster to see if upgrade would cause noncompliance with supported Kubernetes kubelet version skew policy.", "insightStatus": { "status": "PASSING", "reason": "Node kubelet versions match the cluster control plane version." } }, { "id": "9cd91472-f99c-45a9-b7d7-54d4900dee23", "name": "EKS add-on version compatibility", "category": "UPGRADE_READINESS", "kubernetesVersion": "1.33", "lastRefreshTime": "2025-05-24T11:22:59-05:00", "lastTransitionTime": "2025-05-24T11:22:50-05:00", "description": "Checks version of installed EKS add-ons to ensure they are compatible with the next version of Kubernetes. ", "insightStatus": { "status": "PASSING", "reason": "All installed EKS add-on versions are compatible with next Kubernetes version." } }, { "id": "0deb269d-b1e1-458c-a2b4-7a57f940c875", "name": "Cluster health issues", "category": "UPGRADE_READINESS", "kubernetesVersion": "1.33", "lastRefreshTime": "2025-05-24T11:22:59-05:00", "lastTransitionTime": "2025-05-24T11:22:50-05:00", "description": "Checks for any cluster health issues that prevent successful upgrade to the next Kubernetes version on EKS.", "insightStatus": { "status": "PASSING", "reason": "No cluster health issues detected." } }, { "id": "214fa274-344f-420b-812a-5049ce72c9ww", "name": "kube-proxy version skew", "category": "UPGRADE_READINESS", "kubernetesVersion": "1.33", "lastRefreshTime": "2025-05-24T11:22:50-05:00", "lastTransitionTime": "2025-05-24T11:22:50-05:00", "description": "Checks version of kube-proxy in cluster to see if upgrade would cause noncompliance with supported Kubernetes kube-proxy version skew policy.", "insightStatus": { "status": "PASSING", "reason": "kube-proxy versions match the cluster control plane version." } } ] }For more information, see View cluster insights in the Amazon EKS User Guide.
-
For API details, see ListInsights
in AWS CLI Command Reference.
-
The following code example shows how to use list-nodegroups.
- AWS CLI
-
List all the node groups in an Amazon EKS cluster
The following
list-nodegroupsexample list all the node groups in an Amazon EKS cluster.aws eks list-nodegroups \ --cluster-namemy-eks-clusterOutput:
{ "nodegroups": [ "my-eks-managed-node-group", "my-eks-nodegroup" ] }-
For API details, see ListNodegroups
in AWS CLI Command Reference.
-
The following code example shows how to use list-pod-identity-associations.
- AWS CLI
-
Example 1: To list the Pod Identity associations in an EKS cluster
The following
list-pod-identity-associationsreturns the list of Pod Identity associations associated with the EKS cluster namedeks-customerin all namespaces and service accounts.aws eks list-pod-identity-associations \ --cluster-nameeks-customerOutput:
{ "associations": [ { "clusterName": "eks-customer", "namespace": "default", "serviceAccount": "default", "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-9njjin9gfghecgocd", "associationId": "a-9njjin9gfghecgocd" }, { "clusterName": "eks-customer", "namespace": "kube-system", "serviceAccount": "eks-customer", "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-dvtacahdvjn01ffbc", "associationId": "a-dvtacahdvjn01ffbc" }, { "clusterName": "eks-customer", "namespace": "kube-system", "serviceAccount": "coredns", "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-yrpsdroc4ei7k6xps", "associationId": "a-yrpsdroc4ei7k6xps" } ] }For more information, see Learn how EKS Pod Identity grants pods access to AWS services in the Amazon EKS User Guide.
Example 2: To list the Pod Identity associations in an EKS cluster based on namespace and service account
The following
list-pod-identity-associationsreturns the list of Pod Identity associations in the EKS cluster based on namespace and service account.aws eks list-pod-identity-associations \ --cluster-nameeks-customer\ --namespacekube-system\ --service-accounteks-customerOutput:
{ "associations": [ { "clusterName": "eks-customer", "namespace": "kube-system", "serviceAccount": "eks-customer", "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-dvtacahdvjn01ffbc", "associationId": "a-dvtacahdvjn01ffbc" } ] }For more information, see Learn how EKS Pod Identity grants pods access to AWS services in the Amazon EKS User Guide.
-
For API details, see ListPodIdentityAssociations
in AWS CLI Command Reference.
-
The following code example shows how to use list-tags-for-resource.
- AWS CLI
-
Example 1: To list all the tags for an Amazon EKS Cluster ARN
The following
list-tags-for-resourceexample lists all the tags for an Amazon EKS Cluster ARN.aws eks list-tags-for-resource \ --resource-arnarn:aws:eks:us-east-2:111122223333:cluster/my-eks-clusterOutput:
{ "tags": { "aws:cloudformation:stack-name": "eksctl-my-eks-cluster-cluster", "alpha.eksctl.io/cluster-name": "my-eks-cluster", "karpenter.sh/discovery": "my-eks-cluster", "aws:cloudformation:stack-id": "arn:aws:cloudformation:us-east-2:111122223333:stack/eksctl-my-eks-cluster-cluster/e752ea00-e217-11ee-beae-0a9599c8c7ed", "auto-delete": "no", "eksctl.cluster.k8s.io/v1alpha1/cluster-name": "my-eks-cluster", "EKS-Cluster-Name": "my-eks-cluster", "alpha.eksctl.io/cluster-oidc-enabled": "true", "aws:cloudformation:logical-id": "ControlPlane", "alpha.eksctl.io/eksctl-version": "0.173.0-dev+a7ee89342.2024-03-01T03:40:57Z", "Name": "eksctl-my-eks-cluster-cluster/ControlPlane" } }Example 2: To list all the tags for an Amazon EKS Node group ARN
The following
list-tags-for-resourceexample lists all the tags for an Amazon EKS Node group ARN.aws eks list-tags-for-resource \ --resource-arnarn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-managed-node-group/60c71ed2-2cfb-020f-a5f4-ad32477f198cOutput:
{ "tags": { "aws:cloudformation:stack-name": "eksctl-my-eks-cluster-nodegroup-my-eks-managed-node-group", "aws:cloudformation:stack-id": "arn:aws:cloudformation:us-east-2:111122223333:stack/eksctl-my-eks-cluster-nodegroup-my-eks-managed-node-group/eaa20310-e219-11ee-b851-0ab9ad8228ff", "eksctl.cluster.k8s.io/v1alpha1/cluster-name": "my-eks-cluster", "EKS-Cluster-Name": "my-eks-cluster", "alpha.eksctl.io/nodegroup-type": "managed", "NodeGroup Name 1": "my-eks-managed-node-group", "k8s.io/cluster-autoscaler/enabled": "true", "nodegroup-role": "worker", "alpha.eksctl.io/cluster-name": "my-eks-cluster", "alpha.eksctl.io/nodegroup-name": "my-eks-managed-node-group", "karpenter.sh/discovery": "my-eks-cluster", "NodeGroup Name 2": "AmazonLinux-Linux-Managed-NG-v1-26-v1", "auto-delete": "no", "k8s.io/cluster-autoscaler/my-eks-cluster": "owned", "aws:cloudformation:logical-id": "ManagedNodeGroup", "alpha.eksctl.io/eksctl-version": "0.173.0-dev+a7ee89342.2024-03-01T03:40:57Z" } }Example 3: To list all the tags on an Amazon EKS Fargate profil ARNe
The following
list-tags-for-resourceexample lists all the tags for an Amazon EKS Fargate profile ARN.aws eks list-tags-for-resource \ --resource-arnarn:aws:eks:us-east-2:111122223333:fargateprofile/my-eks-cluster/my-fargate-profile/d6c76780-e541-0725-c816-36754cab734bOutput:
{ "tags": { "eks-fargate-profile-key-2": "value-2", "eks-fargate-profile-key-1": "value-1" } }Example 4: To list all the tags for an Amazon EKS Add-on ARN
The following
list-tags-for-resourceexample lists all the tags for an Amazon EKS Add-on ARN.aws eks list-tags-for-resource \ --resource-arnarn:aws:eks:us-east-2:111122223333:addon/my-eks-cluster/vpc-cni/0ec71efc-98dd-3203-60b0-4b939b2a5e5fOutput:
{ "tags": { "eks-addon-key-2": "value-2", "eks-addon-key-1": "value-1" } }Example 5: To list all the tags for an Amazon EKS OIDC identity provider ARN
The following
list-tags-for-resourceexample lists all the tags for an Amazon EKS OIDC identity provider ARN.aws eks list-tags-for-resource \ --resource-arnarn:aws:eks:us-east-2:111122223333:identityproviderconfig/my-eks-cluster/oidc/my-identity-provider/8ac76722-78e4-cec1-ed76-d49eea058622Output:
{ "tags": { "my-identity-provider": "test" } }-
For API details, see ListTagsForResource
in AWS CLI Command Reference.
-
The following code example shows how to use list-update.
- AWS CLI
-
Example 1: To lists the updates associated with an Amazon EKS Cluster name
The following
list-updatesexample lists all the update IDs for an Amazon EKS Cluster name.aws eks list-updates \ --namemy-eks-clusterOutput:
{ "updateIds": [ "5f78d14e-c57b-4857-a3e4-cf664ae20949", "760e5a3f-adad-48c7-88d3-7ac283c09c26", "cd4ec863-bc55-47d5-a377-3971502f529b", "f12657ce-e869-4f17-b158-a82ab8b7d937" ] }Example 2: To list all the update IDs for an Amazon EKS Node group
The following
list-updatesexample lists all the update IDs for an Amazon EKS Node group.aws eks list-updates \ --namemy-eks-cluster\ --nodegroup-namemy-eks-managed-node-groupOutput:
{ "updateIds": [ "8c6c1bef-61fe-42ac-a242-89412387b8e7" ] }Example 3: To list all the update IDs on an Amazon EKS Add-one
The following
list-updatesexample lists all the update IDs for an Amazon EKS Add-on.aws eks list-updates \ --namemy-eks-cluster\ --addon-namevpc-cniOutput:
{ "updateIds": [ "9cdba8d4-79fb-3c83-afe8-00b508d33268" ] }-
For API details, see ListUpdate
in AWS CLI Command Reference.
-
The following code example shows how to use list-updates.
- AWS CLI
-
To list the updates for a cluster
This example command lists the current updates for a cluster named
examplein your default region.Command:
aws eks list-updates --nameexampleOutput:
{ "updateIds": [ "10bddb13-a71b-425a-b0a6-71cd03e59161" ] }-
For API details, see ListUpdates
in AWS CLI Command Reference.
-
The following code example shows how to use register-cluster.
- AWS CLI
-
Example 1: Register an external EKS_ANYWHERE Kubernetes cluster to Amazon EKS
The following
register-clusterexample registers an external EKS_ANYWHERE Kubernetes cluster to Amazon EKS.aws eks register-cluster \ --namemy-eks-anywhere-cluster\ --connector-config 'roleArn=arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole,provider=EKS_ANYWHERE'Output:
{ "cluster": { "name": "my-eks-anywhere-cluster", "arn": "arn:aws:eks:us-east-2:111122223333:cluster/my-eks-anywhere-cluster", "createdAt": "2024-04-12T12:38:37.561000-04:00", "status": "PENDING", "tags": {}, "connectorConfig": { "activationId": "xxxxxxxxACTIVATION_IDxxxxxxxx", "activationCode": "xxxxxxxxACTIVATION_CODExxxxxxxx", "activationExpiry": "2024-04-15T12:38:37.082000-04:00", "provider": "EKS_ANYWHERE", "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole" } } }For more information, see Connecting an external cluster in the Amazon EKS User Guide.
Example 2: Register any external Kubernetes cluster to Amazon EKS
The following
register-clusterexample registers an external EKS_ANYWHERE Kubernetes cluster to Amazon EKS.aws eks register-cluster \ --namemy-eks-anywhere-cluster\ --connector-config 'roleArn=arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole,provider=OTHER'Output:
{ "cluster": { "name": "my-onprem-k8s-cluster", "arn": "arn:aws:eks:us-east-2:111122223333:cluster/my-onprem-k8s-cluster", "createdAt": "2024-04-12T12:42:10.861000-04:00", "status": "PENDING", "tags": {}, "connectorConfig": { "activationId": "xxxxxxxxACTIVATION_IDxxxxxxxx", "activationCode": "xxxxxxxxACTIVATION_CODExxxxxxxx", "activationExpiry": "2024-04-15T12:42:10.339000-04:00", "provider": "OTHER", "roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole" } } }For more information, see Connecting an external cluster in the Amazon EKS User Guide.
-
For API details, see RegisterCluster
in AWS CLI Command Reference.
-
The following code example shows how to use tag-resource.
- AWS CLI
-
Example 1: To add the specified tags to an Amazon EKS Cluster
The following
tag-resourceexample adds the specified tags to an Amazon EKS Cluster.aws eks tag-resource \ --resource-arnarn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster\ --tag 'my-eks-cluster-test-1=test-value-1,my-eks-cluster-dev-1=dev-value-2'This command produces no output.
Example 2: To add the specified tags to an Amazon EKS Node group
The following
tag-resourceexample adds the specified tags to an Amazon EKS Node group.aws eks tag-resource \ --resource-arnarn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-managed-node-group/60c71ed2-2cfb-020f-a5f4-ad32477f198c\ --tag 'my-eks-nodegroup-test-1=test-value-1,my-eks-nodegroup-dev-1=dev-value-2'This command produces no output.
-
For API details, see TagResource
in AWS CLI Command Reference.
-
The following code example shows how to use untag-resource.
- AWS CLI
-
Example 1: To deletes the specified tags from an Amazon EKS Cluster
The following
untag-resourceexample deletes the specified tags from an Amazon EKS Cluster.aws eks untag-resource \ --resource-arnarn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster\ --tag-keys"my-eks-cluster-test-1""my-eks-cluster-dev-1"This command produces no output.
Example 2: To deletes the specified tags from an Amazon EKS Node group
The following
untag-resourceexample deletes the specified tags from an Amazon EKS Node group.aws eks untag-resource \ --resource-arnarn:aws:eks:us-east-2:111122223333:nodegroup/my-eks-cluster/my-eks-managed-node-group/60c71ed2-2cfb-020f-a5f4-ad32477f198c\ --tag-keys"my-eks-nodegroup-test-1""my-eks-nodegroup-dev-1"This command produces no output.
-
For API details, see UntagResource
in AWS CLI Command Reference.
-
The following code example shows how to use update-access-entry.
- AWS CLI
-
To update an access entry for an EKS cluster
The following
update-access-entryupdates an access entry for the EKS cluster by adding the Kubernetes grouptester.aws eks update-access-entry \ --cluster-nameeks-customer\ --principal-arnarn:aws:iam::111122223333:role/Admin\ --kubernetes-groupstesterOutput:
{ "accessEntry": { "clusterName": "eks-customer", "principalArn": "arn:aws:iam::111122223333:role/Admin", "kubernetesGroups": [ "tester" ], "accessEntryArn": "arn:aws:eks:us-west-2:111122223333:access-entry/eks-customer/role/111122223333/Admin/d2cb8183-d6ec-b82a-d967-eca21902a4b4", "createdAt": "2025-05-24T11:02:04.432000-05:00", "modifiedAt": "2025-05-24T17:08:01.608000-05:00", "tags": {}, "username": "arn:aws:sts::111122223333:assumed-role/Admin/{{SessionName}}", "type": "STANDARD" } }For more information, see Update access entries in the Amazon EKS User Guide.
-
For API details, see UpdateAccessEntry
in AWS CLI Command Reference.
-
The following code example shows how to use update-addon.
- AWS CLI
-
Example 1. To update an Amazon EKS add-on with service account role ARN
The following
update-addonexample command updates an Amazon EKS add-on with service account role ARN.aws eks update-addon \ --cluster-namemy-eks-cluster\ --addon-namevpc-cni\ --service-account-role-arnarn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTmOutput:
{ "update": { "id": "c00d2de2-c2e4-3d30-929e-46b8edec2ce4", "status": "InProgress", "type": "AddonUpdate", "params": [ { "type": "ServiceAccountRoleArn", "value": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm" } ], "updatedAt": "2024-04-12T16:04:55.614000-04:00", "errors": [] } }For more information, see Managing Amazon EKS add-ons - Updating an add-on in the Amazon EKS User Guide.
Example 2. To update an Amazon EKS add-on with specific add-on version
The following
update-addonexample command updates an Amazon EKS add-on with specific add-on version.aws eks update-addon \ --cluster-namemy-eks-cluster\ --addon-namevpc-cni\ --service-account-role-arnarn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm\ --addon-versionv1.16.4-eksbuild.2Output:
{ "update": { "id": "f58dc0b0-2b18-34bd-bc6a-e4abc0011f36", "status": "InProgress", "type": "AddonUpdate", "params": [ { "type": "AddonVersion", "value": "v1.16.4-eksbuild.2" }, { "type": "ServiceAccountRoleArn", "value": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm" } ], "createdAt": "2024-04-12T16:07:16.550000-04:00", "errors": [] } }For more information, see Managing Amazon EKS add-ons - Updating an add-on in the Amazon EKS User Guide.
Example 3. To update an Amazon EKS add-on with custom configuration values and resolve conflicts details
The following
update-addonexample command updates an Amazon EKS add-on with custom configuration values and resolve conflicts details.aws eks update-addon \ --cluster-namemy-eks-cluster\ --addon-namevpc-cni\ --service-account-role-arnarn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm\ --addon-versionv1.16.4-eksbuild.2\ --configuration-values '{"resources": {"limits":{"cpu":"100m"}, "requests":{"cpu":"50m"}}}' \ --resolve-conflictsPRESERVEOutput:
{ "update": { "id": "cd9f2173-a8d8-3004-a90f-032f14326520", "status": "InProgress", "type": "AddonUpdate", "params": [ { "type": "AddonVersion", "value": "v1.16.4-eksbuild.2" }, { "type": "ServiceAccountRoleArn", "value": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm" }, { "type": "ResolveConflicts", "value": "PRESERVE" }, { "type": "ConfigurationValues", "value": "{\"resources\": {\"limits\":{\"cpu\":\"100m\"}, \"requests\":{\"cpu\":\"50m\"}}}" } ], "createdAt": "2024-04-12T16:16:27.363000-04:00", "errors": [] } }For more information, see Managing Amazon EKS add-ons - Updating an add-on in the Amazon EKS User Guide.
Example 4. To update an Amazon EKS add-on with custom JSON configuration values file
The following
update-addonexample command updates an Amazon EKS add-on with custom JSON configuration values and resolve conflicts details.aws eks update-addon \ --cluster-namemy-eks-cluster\ --addon-namevpc-cni\ --service-account-role-arnarn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm\ --addon-versionv1.17.1-eksbuild.1\ --configuration-values 'file://configuration-values.json' \ --resolve-conflictsPRESERVEContents of
configuration-values.json:{ "resources": { "limits": { "cpu": "100m" }, "requests": { "cpu": "50m" } }, "env": { "AWS_VPC_K8S_CNI_LOGLEVEL": "ERROR" } }Output:
{ "update": { "id": "6881a437-174f-346b-9a63-6e91763507cc", "status": "InProgress", "type": "AddonUpdate", "params": [ { "type": "AddonVersion", "value": "v1.17.1-eksbuild.1" }, { "type": "ServiceAccountRoleArn", "value": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm" }, { "type": "ResolveConflicts", "value": "PRESERVE" }, { "type": "ConfigurationValues", "value": "{\n \"resources\": {\n \"limits\": {\n \"cpu\": \"100m\"\n },\n \"requests\": {\n \"cpu\": \"50m\"\n }\n },\n \"env\": {\n \"AWS_VPC_K8S_CNI_LOGLEVEL\": \"ERROR\"\n }\n}" } ], "createdAt": "2024-04-12T16:22:55.519000-04:00", "errors": [] } }For more information, see Managing Amazon EKS add-ons - Updating an add-on in the Amazon EKS User Guide.
Example 5. To update an Amazon EKS add-on with custom YAML configuration values file
The following
update-addonexample command updates an Amazon EKS add-on with custom YAML configuration values and resolve conflicts details.aws eks update-addon \ --cluster-namemy-eks-cluster\ --addon-namevpc-cni\ --service-account-role-arnarn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm\ --addon-versionv1.18.0-eksbuild.1\ --configuration-values 'file://configuration-values.yaml' \ --resolve-conflictsPRESERVEContents of
configuration-values.yaml:resources: limits: cpu: '100m' requests: cpu: '50m' env: AWS_VPC_K8S_CNI_LOGLEVEL: 'DEBUG'Output:
{ "update": { "id": "a067a4c9-69d0-3769-ace9-d235c5b16701", "status": "InProgress", "type": "AddonUpdate", "params": [ { "type": "AddonVersion", "value": "v1.18.0-eksbuild.1" }, { "type": "ServiceAccountRoleArn", "value": "arn:aws:iam::111122223333:role/eksctl-my-eks-cluster-addon-vpc-cni-Role1-YfakrqOC1UTm" }, { "type": "ResolveConflicts", "value": "PRESERVE" }, { "type": "ConfigurationValues", "value": "resources:\n limits:\n cpu: '100m'\n requests:\n cpu: '50m'\nenv:\n AWS_VPC_K8S_CNI_LOGLEVEL: 'DEBUG'" } ], "createdAt": "2024-04-12T16:25:07.212000-04:00", "errors": [] } }For more information, see Managing Amazon EKS add-ons - Updating an add-on in the Amazon EKS User Guide.
-
For API details, see UpdateAddon
in AWS CLI Command Reference.
-
The following code example shows how to use update-cluster-config.
- AWS CLI
-
To update cluster endpoint access
This example command updates a cluster to disable endpoint public access and enable private endpoint access.
Command:
aws eks update-cluster-config --nameexample\ --resources-vpc-configendpointPublicAccess=false,endpointPrivateAccess=trueOutput:
{ "update": { "id": "ec883c93-2e9e-407c-a22f-8f6fa6e67d4f", "status": "InProgress", "type": "EndpointAccessUpdate", "params": [ { "type": "EndpointPublicAccess", "value": "false" }, { "type": "EndpointPrivateAccess", "value": "true" } ], "createdAt": 1565806986.506, "errors": [] } }To enable logging for a cluster
This example command enables all cluster control plane logging types for a cluster named
example.Command:
aws eks update-cluster-config --nameexample\ --logging '{"clusterLogging":[{"types":["api","audit","authenticator","controllerManager","scheduler"],"enabled":true}]}'Output:
{ "update": { "id": "7551c64b-1d27-4b1e-9f8e-c45f056eb6fd", "status": "InProgress", "type": "LoggingUpdate", "params": [ { "type": "ClusterLogging", "value": "{\"clusterLogging\":[{\"types\":[\"api\",\"audit\",\"authenticator\",\"controllerManager\",\"scheduler\"],\"enabled\":true}]}" } ], "createdAt": 1565807210.37, "errors": [] } }-
For API details, see UpdateClusterConfig
in AWS CLI Command Reference.
-
The following code example shows how to use update-cluster-version.
- AWS CLI
-
To updates an Amazon EKS cluster named `my-eks-cluster` to the specified Kubernetes version
The following
update-cluster-versionexample updates an Amazon EKS cluster to the specified Kubernetes version.aws eks update-cluster-version \ --namemy-eks-cluster\ --kubernetes-version1.27Output:
{ "update": { "id": "e4091a28-ea14-48fd-a8c7-975aeb469e8a", "status": "InProgress", "type": "VersionUpdate", "params": [ { "type": "Version", "value": "1.27" }, { "type": "PlatformVersion", "value": "eks.16" } ], "createdAt": "2024-04-12T16:56:01.082000-04:00", "errors": [] } }For more information, see Updating an Amazon EKS cluster Kubernetes version in the Amazon EKS User Guide.
-
For API details, see UpdateClusterVersion
in AWS CLI Command Reference.
-
The following code example shows how to use update-kubeconfig.
- AWS CLI
-
Example 1: Configures your kubectl by creating or updating the kubeconfig so that you can connect to an Amazon EKS Cluster named `my-eks-cluster`
The following
update-kubeconfigexample configures your kubectl by creating or updating the kubeconfig so that you can connect to an Amazon EKS Cluster named my-eks-cluster.aws eks update-kubeconfig \ --namemy-eks-clusterOutput:
Updated context arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster in /Users/xxx/.kube/configFor more information, see Creating or updating a kubeconfig file for an Amazon EKS cluster in the Amazon EKS User Guide.
Example 2: Configures your kubectl by creating or updating the kubeconfig (with role-arn option to assume a role for cluster authentication) so that you can connect to an Amazon EKS Cluster named `my-eks-cluster`
The following
update-kubeconfigexample configures your kubectl by creating or updating the kubeconfig (with role-arn option to assume a role for cluster authentication) so that you can connect to an Amazon EKS Cluster named my-eks-cluster.aws eks update-kubeconfig \ --namemy-eks-cluster\ --role-arnarn:aws:iam::111122223333:role/eksctl-EKS-Linux-Cluster-v1-24-cluster-ServiceRole-j1k7AfTIQtnMOutput:
Updated context arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster in /Users/xxx/.kube/configFor more information, see Creating or updating a kubeconfig file for an Amazon EKS cluster in the Amazon EKS User Guide.
Example 3: Configures your kubectl by creating or updating the kubeconfig (with role-arn option to assume a role for cluster authentication along with custom cluster alias and user-alias) so that you can connect to an Amazon EKS Cluster named `my-eks-cluster`
The following
update-kubeconfigexample configures your kubectl by creating or updating the kubeconfig (with role-arn option to assume a role for cluster authentication along with custom cluster alias and user-alias) so that you can connect to an Amazon EKS Cluster named my-eks-cluster.aws eks update-kubeconfig \ --namemy-eks-cluster\ --role-arnarn:aws:iam::111122223333:role/eksctl-EKS-Linux-Cluster-v1-24-cluster-ServiceRole-j1k7AfTIQtnM\ --aliasstage-eks-cluster\ --user-aliasjohnOutput:
Updated context stage-eks-cluster in /Users/dubaria/.kube/configFor more information, see Creating or updating a kubeconfig file for an Amazon EKS cluster in the Amazon EKS User Guide.
Example 4: Print kubeconfig file entries for review and configures your kubectl so that you can connect to an Amazon EKS Cluster named `my-eks-cluster`
The following
update-kubeconfigexample configures your kubectl by creating or updating the kubeconfig (with role-arn option to assume a role for cluster authentication along with custom cluster alias and user-alias) so that you can connect to an Amazon EKS Cluster named my-eks-cluster.aws eks update-kubeconfig \ --namemy-eks-cluster\ --role-arnarn:aws:iam::111122223333:role/eksctl-EKS-Linux-Cluster-v1-24-cluster-ServiceRole-j1k7AfTIQtnM\ --aliasstage-eks-cluster\ --user-aliasjohn\ --verboseOutput:
Updated context stage-eks-cluster in /Users/dubaria/.kube/config Entries: context: cluster: arn:aws:eks:us-east-2:111122223333:cluster/my-eks-cluster user: john name: stage-eks-cluster name: john user: exec: apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-east-2 - eks - get-token - --cluster-name - my-eks-cluster - --output - json - --role - arn:aws:iam::111122223333:role/eksctl-EKS-Linux-Cluster-v1-24-cluster-ServiceRole-j1k7AfTIQtnM command: aws cluster: certificate-authority-data: xxx_CA_DATA_xxx server: https://DALSJ343KE23J3RN45653DSKJTT647TYD.yl4.us-east-2.eks.amazonaws.com name: arn:aws:eks:us-east-2:111122223333:cluster/my-eks-clusterFor more information, see Creating or updating a kubeconfig file for an Amazon EKS cluster in the Amazon EKS User Guide.
-
For API details, see UpdateKubeconfig
in AWS CLI Command Reference.
-
The following code example shows how to use update-nodegroup-config.
- AWS CLI
-
Example 1: Update a managed node group to add new labels and taint to EKS worker node for an Amazon EKS cluster
The following
update-nodegroup-configexample updates a managed node group to add new labels and taint to EKS worker node for an Amazon EKS cluster.aws eks update-nodegroup-config \ --cluster-namemy-eks-cluster\ --nodegroup-namemy-eks-nodegroup\ --labels 'addOrUpdateLabels={my-eks-nodegroup-label-1=value-1,my-eks-nodegroup-label-2=value-2}' \ --taints 'addOrUpdateTaints=[{key=taint-key-1,value=taint-value-1,effect=NO_EXECUTE}]'Output:
{ "update": { "id": "e66d21d3-bd8b-3ad1-a5aa-b196dc08c7c1", "status": "InProgress", "type": "ConfigUpdate", "params": [ { "type": "LabelsToAdd", "value": "{\"my-eks-nodegroup-label-2\":\"value-2\",\"my-eks-nodegroup-label-1\":\"value-1\"}" }, { "type": "TaintsToAdd", "value": "[{\"effect\":\"NO_EXECUTE\",\"value\":\"taint-value-1\",\"key\":\"taint-key-1\"}]" } ], "createdAt": "2024-04-08T12:05:19.161000-04:00", "errors": [] } }For more information, see Updating a managed node group in the Amazon EKS User Guide.
Example 2: Update a managed node group to remove labels and taint for the EKS worker node for an Amazon EKS cluster
The following
update-nodegroup-configexample updates a managed node group to remove labels and taint for the EKS worker node for an Amazon EKS cluster.aws eks update-nodegroup-config \ --cluster-namemy-eks-cluster\ --nodegroup-namemy-eks-nodegroup\ --labels 'removeLabels=my-eks-nodegroup-label-1, my-eks-nodegroup-label-2' \ --taints 'removeTaints=[{key=taint-key-1,value=taint-value-1,effect=NO_EXECUTE}]'Output:
{ "update": { "id": "67a08692-9e59-3ace-a916-13929f44cec3", "status": "InProgress", "type": "ConfigUpdate", "params": [ { "type": "LabelsToRemove", "value": "[\"my-eks-nodegroup-label-1\",\"my-eks-nodegroup-label-2\"]" }, { "type": "TaintsToRemove", "value": "[{\"effect\":\"NO_EXECUTE\",\"value\":\"taint-value-1\",\"key\":\"taint-key-1\"}]" } ], "createdAt": "2024-04-08T12:17:31.817000-04:00", "errors": [] } }For more information, see Updating a managed node group in the Amazon EKS User Guide.
Example 3: Update a managed node group to remove and add labels and taint for the EKS worker node for an Amazon EKS cluster
The following
update-nodegroup-configexample updates a managed node group to remove and add labels and taint for the EKS worker node for an Amazon EKS cluster.aws eks update-nodegroup-config \ --cluster-namemy-eks-cluster\ --nodegroup-namemy-eks-nodegroup\ --labels 'addOrUpdateLabels={my-eks-nodegroup-new-label-1=new-value-1,my-eks-nodegroup-new-label-2=new-value-2},removeLabels=my-eks-nodegroup-label-1, my-eks-nodegroup-label-2' \ --taints 'addOrUpdateTaints=[{key=taint-new-key-1,value=taint-new-value-1,effect=PREFER_NO_SCHEDULE}],removeTaints=[{key=taint-key-1,value=taint-value-1,effect=NO_EXECUTE}]'Output:
{ "update": { "id": "4a9c8c45-6ac7-3115-be71-d6412a2339b7", "status": "InProgress", "type": "ConfigUpdate", "params": [ { "type": "LabelsToAdd", "value": "{\"my-eks-nodegroup-new-label-1\":\"new-value-1\",\"my-eks-nodegroup-new-label-2\":\"new-value-2\"}" }, { "type": "LabelsToRemove", "value": "[\"my-eks-nodegroup-label-1\",\"my-eks-nodegroup-label-2\"]" }, { "type": "TaintsToAdd", "value": "[{\"effect\":\"PREFER_NO_SCHEDULE\",\"value\":\"taint-new-value-1\",\"key\":\"taint-new-key-1\"}]" }, { "type": "TaintsToRemove", "value": "[{\"effect\":\"NO_EXECUTE\",\"value\":\"taint-value-1\",\"key\":\"taint-key-1\"}]" } ], "createdAt": "2024-04-08T12:30:55.486000-04:00", "errors": [] } }For more information, see Updating a managed node group in the Amazon EKS User Guide.
Example 4: Update a managed node group to update scaling-config and update-config for the EKS worker node for an Amazon EKS cluster
The following
update-nodegroup-configexample updates a managed node group to update scaling-config and update-config for the EKS worker node for an Amazon EKS cluster.aws eks update-nodegroup-config \ --cluster-namemy-eks-cluster\ --nodegroup-namemy-eks-nodegroup\ --scaling-configminSize=1,maxSize=5,desiredSize=2\ --update-configmaxUnavailable=2Output:
{ "update": { "id": "a977160f-59bf-3023-805d-c9826e460aea", "status": "InProgress", "type": "ConfigUpdate", "params": [ { "type": "MinSize", "value": "1" }, { "type": "MaxSize", "value": "5" }, { "type": "DesiredSize", "value": "2" }, { "type": "MaxUnavailable", "value": "2" } ], "createdAt": "2024-04-08T12:35:17.036000-04:00", "errors": [] } }For more information, see Updating a managed node group in the Amazon EKS User Guide.
-
For API details, see UpdateNodegroupConfig
in AWS CLI Command Reference.
-
The following code example shows how to use update-nodegroup-version.
- AWS CLI
-
Example 1: Update the Kubernetes version or AMI version of an Amazon EKS managed node group
The following
update-nodegroup-versionexample updates the Kubernetes version or AMI version of an Amazon EKS managed node group to the latest available version for your Kubernetes cluster.aws eks update-nodegroup-version \ --cluster-namemy-eks-cluster\ --nodegroup-namemy-eks-nodegroup\ --no-forceOutput:
{ "update": { "id": "a94ebfc3-6bf8-307a-89e6-7dbaa36421f7", "status": "InProgress", "type": "VersionUpdate", "params": [ { "type": "Version", "value": "1.26" }, { "type": "ReleaseVersion", "value": "1.26.12-20240329" } ], "createdAt": "2024-04-08T13:16:00.724000-04:00", "errors": [] } }For more information, see Updating a managed node group in the Amazon EKS User Guide.
Example 2: Update the Kubernetes version or AMI version of an Amazon EKS managed node group
The following
update-nodegroup-versionexample updates the Kubernetes version or AMI version of an Amazon EKS managed node group to the specified AMI release version.aws eks update-nodegroup-version \ --cluster-namemy-eks-cluster\ --nodegroup-namemy-eks-nodegroup\ --kubernetes-version '1.26' \ --release-version '1.26.12-20240307' \ --no-forceOutput:
{ "update": { "id": "4db06fe1-088d-336b-bdcd-3fdb94995fb7", "status": "InProgress", "type": "VersionUpdate", "params": [ { "type": "Version", "value": "1.26" }, { "type": "ReleaseVersion", "value": "1.26.12-20240307" } ], "createdAt": "2024-04-08T13:13:58.595000-04:00", "errors": [] } }For more information, see Updating a managed node group - <https://docs.aws.amazon.com/eks/latest/userguide/update-managed-node-group.html>` in the Amazon EKS User Guide.
-
For API details, see UpdateNodegroupVersion
in AWS CLI Command Reference.
-
The following code example shows how to use update-pod-identity-association.
- AWS CLI
-
To update the EKS Pod Identity association
The following
update-pod-identity-associationexample updates an EKS Pod Identity association by changing the associated IAM role fromarn:aws:iam::111122223333:role/my-roletoarn:aws:iam::111122223333:role/s3-rolefor association IDa-9njjin9gfghecgocd. This API only allows updating the associated IAM role.aws eks update-pod-identity-association \ --cluster-nameeks-customer\ --association-ida-9njjin9gfghecgocd\ --role-arnarn:aws:iam::111122223333:role/s3-roleOutput:
{ "association": { "clusterName": "eks-customer", "namespace": "default", "serviceAccount": "default", "roleArn": "arn:aws:iam::111122223333:role/s3-role", "associationArn": "arn:aws:eks:us-west-2:111122223333:podidentityassociation/eks-customer/a-9njjin9gfghecgocd", "associationId": "a-9njjin9gfghecgocd", "tags": { "Key2": "value2", "Key1": "value1" }, "createdAt": "2025-05-24T19:52:14.135000-05:00", "modifiedAt": "2025-05-25T21:01:53.120000-05:00" } }For more information, see Learn how EKS Pod Identity grants pods access to AWS services in the Amazon EKS User Guide.
-
For API details, see UpdatePodIdentityAssociation
in AWS CLI Command Reference.
-