Help improve this page
To contribute to this user guide, choose the Edit this page on GitHub link that is located in the right pane of every page.
AWS add-ons
The following Amazon EKS add-ons are available to create on your cluster. You can view the most current list of available add-ons using eksctl, the AWS Management Console, or the AWS CLI. To see all available add-ons or to install an add-on, see Create an Amazon EKS add-on. If an add-on requires IAM permissions, then you must have an IAM OpenID Connect (OIDC) provider for your cluster. To determine whether you have one, or to create one, see Create an IAM OIDC provider for your cluster. You can create or delete an add-on after you’ve installed it. For more information, see Update an Amazon EKS add-on or Remove an Amazon EKS add-on from a cluster. For more information about considerations specific to running EKS add-ons with Amazon EKS Hybrid Nodes, see Configure add-ons for hybrid nodes.
You can use any of the following Amazon EKS add-ons.
| Description | Learn more | Compatible compute types |
|---|---|---|
|
Provide native VPC networking for your cluster |
EC2 |
|
|
A flexible, extensible DNS server that can serve as the Kubernetes cluster DNS |
EC2, Fargate, EKS Auto Mode, EKS Hybrid Nodes |
|
|
Maintain network rules on each Amazon EC2 node |
EC2, EKS Hybrid Nodes |
|
|
Provide Amazon EBS storage for your cluster |
EC2 |
|
|
Provide Amazon EC2 instance storage for your cluster |
EC2 |
|
|
Provide Amazon EFS storage for your cluster |
EC2, EKS Auto Mode |
|
|
Provide Amazon S3 Files storage for your cluster |
EC2, EKS Auto Mode |
|
|
Provide Amazon FSx for Lustre storage for your cluster |
EC2, EKS Auto Mode |
|
|
Provide Amazon S3 storage for your cluster |
EC2, EKS Auto Mode |
|
|
Detect additional node health issues |
EC2, EKS Hybrid Nodes |
|
|
Enable the use of snapshot functionality in compatible CSI drivers, such as the Amazon EBS CSI driver |
EC2, Fargate, EKS Auto Mode, EKS Hybrid Nodes |
|
|
SageMaker HyperPod task governance optimizes compute resource allocation and usage across teams in Amazon EKS clusters, addressing inefficiencies in task prioritization and resource sharing. |
EC2, EKS Auto Mode |
|
|
The Amazon SageMaker HyperPod Observability AddOn provides comprehensive monitoring and observability capabilities for HyperPod clusters. |
EC2, EKS Auto Mode |
|
|
Amazon SageMaker HyperPod training operator enables efficient distributed training on Amazon EKS clusters with advanced scheduling and resource management capabilities. |
EC2, EKS Auto Mode |
|
|
Amazon SageMaker HyperPod inference operator enables deployment and management of high-performance AI inference workloads with optimized resource utilization and cost efficiency. |
EC2, EKS Auto Mode |
|
|
A Kubernetes agent that collects and reports network flow data to Amazon CloudWatch, enabling comprehensive monitoring of TCP connections across cluster nodes. |
EC2, EKS Auto Mode |
|
|
Secure, production-ready, AWS supported distribution of the OpenTelemetry project |
EC2, Fargate, EKS Auto Mode, EKS Hybrid Nodes |
|
|
Security monitoring service that analyzes and processes foundational data sources including AWS CloudTrail management events and Amazon VPC flow logs. Amazon GuardDuty also processes features, such as Kubernetes audit logs and runtime monitoring |
EC2, EKS Auto Mode |
|
|
Monitoring and observability service provided by AWS. This add-on installs the CloudWatch Agent and enables both CloudWatch Application Signals and CloudWatch Container Insights with enhanced observability for Amazon EKS |
EC2, EKS Auto Mode, EKS Hybrid Nodes |
|
|
Ability to manage credentials for your applications, similar to the way that EC2 instance profiles provide credentials to EC2 instances |
EC2, EKS Hybrid Nodes |
|
|
Enable cert-manager to issue X.509 certificates from AWS Private CA. Requires cert-manager. |
EC2, Fargate, EKS Auto Mode, EKS Hybrid Nodes |
|
|
Generate Prometheus metrics about SR-IOV network device performance |
EC2 |
|
|
Retrieve secrets from AWS Secrets Manager and parameters from AWS Systems Manager Parameter Store and mount them as files in Kubernetes pods. |
EC2, EKS Auto Mode, EKS Hybrid Nodes |
|
|
With Spaces, you can create and manage JupyterLab and Code Editor applications to run interactive ML workloads. |
Hyperpod |
Amazon VPC CNI plugin for Kubernetes
The Amazon VPC CNI plugin for Kubernetes Amazon EKS add-on is a Kubernetes container network interface (CNI) plugin that provides native VPC networking for your cluster. The self-managed or managed type of this add-on is installed on each Amazon EC2 node, by default. For more information, see Kubernetes container network interface (CNI) plugin
Note
You do not need to install this add-on on Amazon EKS Auto Mode clusters. For more information, see Considerations for Amazon EKS Auto Mode.
The Amazon EKS add-on name is vpc-cni.
Required IAM permissions
This add-on uses the IAM roles for service accounts capability of Amazon EKS. For more information, see IAM roles for service accounts.
If your cluster uses the IPv4 family, the permissions in the AmazonEKS_CNI_Policy are required. If your cluster uses the IPv6 family, you must create an IAM policy with the permissions in IPv6 mode
Replace my-cluster with the name of your cluster and AmazonEKSVPCCNIRole with the name for your role. If your cluster uses the IPv6 family, then replace AmazonEKS_CNI_Policy with the name of the policy that you created. This command requires that you have eksctl
eksctl create iamserviceaccount --name aws-node --namespace kube-system --cluster my-cluster --role-name AmazonEKSVPCCNIRole \ --role-only --attach-policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy --approve
Update information
You can only update one minor version at a time. For example, if your current version is 1.28. and you want to update to x-eksbuild.y
1.30., then you must update your current version to x-eksbuild.y
1.29. and then update it again to x-eksbuild.y
1.30.. For more information about updating the add-on, see Update the Amazon VPC CNI (Amazon EKS add-on).x-eksbuild.y
CoreDNS
The CoreDNS Amazon EKS add-on is a flexible, extensible DNS server that can serve as the Kubernetes cluster DNS. The self-managed or managed type of this add-on was installed, by default, when you created your cluster. When you launch an Amazon EKS cluster with at least one node, two replicas of the CoreDNS image are deployed by default, regardless of the number of nodes deployed in your cluster. The CoreDNS Pods provide name resolution for all Pods in the cluster. You can deploy the CoreDNS Pods to Fargate nodes if your cluster includes a Fargate profile with a namespace that matches the namespace for the CoreDNS deployment. For more information, see Define which Pods use AWS Fargate when launched.
Note
You do not need to install this add-on on Amazon EKS Auto Mode clusters. For more information, see Considerations for Amazon EKS Auto Mode.
The Amazon EKS add-on name is coredns.
Required IAM permissions
This add-on doesn’t require any permissions.
Additional information
To learn more about CoreDNS, see Using CoreDNS for Service Discovery
Kube-proxy
The Kube-proxy Amazon EKS add-on maintains network rules on each Amazon EC2 node. It enables network communication to your Pods. The self-managed or managed type of this add-on is installed on each Amazon EC2 node in your cluster, by default.
Note
You do not need to install this add-on on Amazon EKS Auto Mode clusters. For more information, see Considerations for Amazon EKS Auto Mode.
The Amazon EKS add-on name is kube-proxy.
Required IAM permissions
This add-on doesn’t require any permissions.
Update information
Before updating your current version, consider the following requirements:
-
Kube-proxyon an Amazon EKS cluster has the same compatibility and skew policy as Kubernetes.
Additional information
To learn more about kube-proxy, see kube-proxy
Amazon EBS CSI driver
The Amazon EBS CSI driver Amazon EKS add-on is a Kubernetes Container Storage Interface (CSI) plugin that provides Amazon EBS storage for your cluster.
Note
You do not need to install this add-on on Amazon EKS Auto Mode clusters. Auto Mode includes a block storage capability. For more information, see Deploy a sample stateful workload to EKS Auto Mode.
The Amazon EKS add-on name is aws-ebs-csi-driver.
Required IAM permissions
This add-on utilizes the IAM roles for service accounts capability of Amazon EKS. For more information, see IAM roles for service accounts. This add-on requires one of the following AWS managed policies: AmazonEBSCSIDriverPolicyV2 for tag-based scoping, AmazonEBSCSIDriverEKSClusterScopedPolicy for cluster-scoped isolation, or AmazonEBSCSIDriverPolicy if you don’t want any tag-based restrictions. You can create an IAM role and attach the managed policy to it with the following command. Replace my-cluster with the name of your cluster and AmazonEKS_EBS_CSI_DriverRole with the name for your role. This command requires that you have eksctl
If migrating from AmazonEBSCSIDriverPolicy, please see EBS CSI Driver policy migration
eksctl create iamserviceaccount \ --name ebs-csi-controller-sa \ --namespace kube-system \ --cluster my-cluster \ --role-name AmazonEKS_EBS_CSI_DriverRole \ --role-only \ --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicyV2 \ --approve
Additional information
To learn more about the add-on, see Use Kubernetes volume storage with Amazon EBS.
Amazon EC2 Instance Store CSI driver
The Amazon EC2 Instance Store CSI driver Amazon EKS add-on is a Kubernetes Container Storage Interface (CSI) plugin that provides Amazon EC2 instance store NVMe storage for your cluster.
The Amazon EKS add-on name is aws-ec2-local-instance-store-csi-driver.
Required IAM permissions
This add-on doesn’t require any permissions. The driver interacts with backend NVMe devices through local Linux operations and doesn’t make AWS API calls.
Additional information
To learn more about the add-on, see Amazon EC2 instance store for Kubernetes volume storage.
Amazon EFS CSI driver
The Amazon EFS CSI driver Amazon EKS add-on is a Kubernetes Container Storage Interface (CSI) plugin that provides Amazon EFS and Amazon S3 Files storage for your cluster.
The Amazon EKS add-on name is aws-efs-csi-driver.
Required IAM permissions
This add-on utilizes the IAM roles for service accounts capability of Amazon EKS. For more information, see IAM roles for service accounts.
The specific AWS managed policy you need depends on which file system type you want to use:
-
For Amazon EFS file systems only: Attach the AmazonEFSCSIDriverPolicy managed policy.
-
For Amazon S3 file system only: Attach the
AmazonS3FilesCSIDriverPolicymanaged policy. -
For both Amazon EFS and Amazon S3 file systems: Attach both the
AmazonEFSCSIDriverPolicyandAmazonS3FilesCSIDriverPolicymanaged policies.
You can create an IAM role and attach the managed policy to it with the following commands. Replace my-cluster with the name of your cluster and AmazonEKS_EFS_CSI_DriverRole with the name for your role. The following example attaches the AmazonEFSCSIDriverPolicy for Amazon EFS file systems. If you’re using an Amazon S3 file system, replace the policy ARN with
arn:aws:iam::aws:policy/service-role/AmazonS3FilesCSIDriverPolicy. If you’re using both file system types, add an additional --attach-policy-arn flag with the second policy ARN. These commands require that you have eksctl
export cluster_name=my-cluster export role_name=AmazonEKS_EFS_CSI_DriverRole eksctl create iamserviceaccount \ --name efs-csi-controller-sa \ --namespace kube-system \ --cluster $cluster_name \ --role-name $role_name \ --role-only \ --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEFSCSIDriverPolicy \ --approve TRUST_POLICY=$(aws iam get-role --output json --role-name $role_name --query 'Role.AssumeRolePolicyDocument' | \ sed -e 's/efs-csi-controller-sa/efs-csi-*/' -e 's/StringEquals/StringLike/') aws iam update-assume-role-policy --role-name $role_name --policy-document "$TRUST_POLICY"
Note
The above example only configures efs-csi-controller-sa. If you are using Amazon S3 file systems, you also need to configure efs-csi-node-sa. See Step 1: Create IAM roles for the complete S3 Files IAM setup.
Additional information
To learn more about the add-on, see Use elastic file system storage with Amazon EFS.
Amazon FSx CSI driver
The Amazon FSx CSI driver Amazon EKS add-on is a Kubernetes Container Storage Interface (CSI) plugin that provides Amazon FSx for Lustre storage for your cluster.
The Amazon EKS add-on name is aws-fsx-csi-driver.
Note
-
Pre-existing Amazon FSx CSI driver installations in the cluster can cause add-on installation failures. When you attempt to install the Amazon EKS add-on version while a non-EKS FSx CSI Driver exists, the installation will fail due to resource conflicts. Use the
OVERWRITEflag during installation to resolve this issue:aws eks create-addon --addon-name aws-fsx-csi-driver --cluster-name my-cluster --resolve-conflicts OVERWRITE -
The Amazon FSx CSI Driver EKS add-on supports authentication through either EKS Pod Identity or IAM Roles for Service Accounts (IRSA). To use EKS Pod Identity, install the Pod Identity agent before or after deploying the FSx CSI Driver add-on. For more information, see Set up the Amazon EKS Pod Identity Agent. To use IRSA instead, see Create an IAM OIDC provider for your cluster.
Required IAM permissions
This add-on utilizes the IAM roles for service accounts capability of Amazon EKS. For more information, see IAM roles for service accounts. The permissions in the AmazonFSxFullAccess
AWS managed policy are required. You can create an IAM role and attach the managed policy to it with the following command. Replace my-cluster with the name of your cluster and AmazonEKS_FSx_CSI_DriverRole with the name for your role. This command requires that you have eksctl
eksctl create iamserviceaccount \ --name fsx-csi-controller-sa \ --namespace kube-system \ --cluster my-cluster \ --role-name AmazonEKS_FSx_CSI_DriverRole \ --role-only \ --attach-policy-arn arn:aws:iam::aws:policy/AmazonFSxFullAccess \ --approve
Additional information
To learn more about the add-on, see Use high-performance app storage with Amazon FSx for Lustre.
Mountpoint for Amazon S3 CSI Driver
The Mountpoint for Amazon S3 CSI Driver Amazon EKS add-on is a Kubernetes Container Storage Interface (CSI) plugin that provides Amazon S3 storage for your cluster.
The Amazon EKS add-on name is aws-mountpoint-s3-csi-driver.
Required IAM permissions
This add-on uses the IAM roles for service accounts capability of Amazon EKS. For more information, see IAM roles for service accounts.
The IAM role that is created will require a policy that gives access to S3. Follow the Mountpoint IAM permissions recommendations
You can create an IAM role and attach your policy to it with the following commands. Replace my-cluster with the name of your cluster, region-code with the correct AWS Region code, AmazonEKS_S3_CSI_DriverRole with the name for your role, and AmazonEKS_S3_CSI_DriverRole_ARN with the role ARN. These commands require that you have eksctl
CLUSTER_NAME=my-cluster REGION=region-code ROLE_NAME=AmazonEKS_S3_CSI_DriverRole POLICY_ARN=AmazonEKS_S3_CSI_DriverRole_ARN eksctl create iamserviceaccount \ --name s3-csi-driver-sa \ --namespace kube-system \ --cluster $CLUSTER_NAME \ --attach-policy-arn $POLICY_ARN \ --approve \ --role-name $ROLE_NAME \ --region $REGION \ --role-only
Additional information
To learn more about the add-on, see Access Amazon S3 objects with Mountpoint for Amazon S3 CSI driver.
CSI snapshot controller
The Container Storage Interface (CSI) snapshot controller enables the use of snapshot functionality in compatible CSI drivers, such as the Amazon EBS CSI driver.
The Amazon EKS add-on name is snapshot-controller.
Required IAM permissions
This add-on doesn’t require any permissions.
Additional information
To learn more about the add-on, see Enable snapshot functionality for CSI volumes.
Amazon SageMaker HyperPod task governance
SageMaker HyperPod task governance is a robust management system designed to streamline resource allocation and ensure efficient utilization of compute resources across teams and projects for your Amazon EKS clusters. This provides administrators with the capability to set:
-
Priority levels for various tasks