EKS Add-on Management

AWS provides multiple add-on packages for EKS clusters, some of which are installed by default. However, they do not always get upgraded unless you specify a version explicitly. Finding the right version can be tricky — below is a collection of commands to help.
Third-party vendors also provide additional add-ons beyond the AWS-managed set.
List all add-ons and latest version for a specific Kubernetes version
aws eks describe-addon-versions \
--kubernetes-version=1.31 \
--query 'sort_by(addons, &addonName)[].{owner: owner, addonName: addonName, type: type, Version: addonVersions[0].addonVersion}'
Get the latest version of a specific add-on
aws eks describe-addon-versions \
--kubernetes-version=1.31 \
--addon-name=vpc-cni \
--query 'sort_by(addons, &addonName)[].{owner: owner, addonName: addonName, type: type, Version: addonVersions[0].addonVersion}'
Get all available versions of a specific add-on
Useful when you need a version other than the latest.
aws eks describe-addon-versions \
--kubernetes-version=1.31 \
--addon-name=vpc-cni \
--query 'sort_by(addons, &addonName)[].{owner: owner, addonName: addonName, type: type, Version: addonVersions[].addonVersion}'
List all available add-on names
aws eks describe-addon-versions \
--kubernetes-version=1.31 \
--query 'sort_by(addons, &addonName)[].{addonName: addonName}' | grep addonName | awk -F: '{ print $2}'
List all AWS-managed add-ons and their latest versions
aws eks describe-addon-versions \
--kubernetes-version=1.31 --owner=aws \
--query 'sort_by(addons, &addonName)[].{owner: owner, addonName: addonName, type: type, Version: addonVersions[0].addonVersion}'
Get configuration options for a specific add-on version
Many add-ons expose additional configuration options. YAML output provides the clearest format.
aws eks --profile $PROFILE describe-addon-configuration \
--addon-name vpc-cni \
--addon-version v1.15.5-eksbuild.1 \
--output yaml