Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
September 12, 2023 13:41
August 15, 2023 06:26
September 18, 2023 21:18
September 20, 2023 23:47

Amazon EKS AMI Build Specification

This repository contains resources and configuration scripts for building a custom Amazon EKS AMI with HashiCorp Packer. This is the same configuration that Amazon EKS uses to create the official Amazon EKS-optimized AMI.

πŸš€ Getting started

If you are new to Amazon EKS, we recommend that you follow our Getting Started chapter in the Amazon EKS User Guide. If you already have a cluster, and you want to launch a node group with your new AMI, see Launching Amazon EKS Worker Nodes.

πŸ”’ Pre-requisites

You must have Packer version 1.8.0 or later installed on your local system. For more information, see Installing Packer in the Packer documentation. You must also have AWS account credentials configured so that Packer can make calls to AWS API operations on your behalf. For more information, see Authentication in the Packer documentation.

πŸ‘· Building the AMI

A Makefile is provided to build the Amazon EKS Worker AMI, but it is just a small wrapper around invoking Packer directly. You can initiate the build process by running the following command in the root of this repository:

# build an AMI with the latest Kubernetes version

# build an AMI with a specific Kubernetes version
make 1.25

The Makefile chooses a particular kubelet binary to use per Kubernetes version which you can view here.

The default instance type to build this AMI does not qualify for the AWS free tier. You are charged for any instances created when building this AMI.

πŸ‘©β€πŸ’» Using the AMI

The AMI user guide has details about the AMI's internals, and the EKS user guide explains how to use a custom AMI in a managed node group.

πŸ”’ Security

For security issues or concerns, please do not open an issue or pull request on GitHub. Please report any suspected or confirmed security issues to AWS Security

βš–οΈ License Summary

This sample code is made available under a modified MIT license. See the LICENSE file.