New Amazon EKS-optimized AMI and CloudFormation Template for Worker Node Provisioning

Posted on: Aug 23, 2018

Amazon Elastic Container Service for Kubernetes (EKS) now has an updated EKS-optimized Amazon Machine Image (AMI) and CloudFormation template that make it easier to provision worker nodes for your Amazon EKS cluster on AWS.

Previously, the EKS-optimized AMI and CloudFormation template used to launch worker nodes for an EKS cluster were tightly coupled. The EKS-optimized AMI required UserData from the CloudFormation template to properly boot and check into an EKS cluster, making it difficult to use any method besides CloudFormation to provision worker nodes for an EKS cluster.

Now, there is a new EKS-optimized AMI and Cloudformation template that refactors and breaks out the EKS-optimized AMI UserData into a separate script simplifies the bootstrapping process for EKS worker nodes and removes the dependency on the Cloudformation template. This makes it significantly easier to provision nodes for an EKS cluster using the AWS CLI or another provisioning tool, such as Terraform.

Please see the AWS documentation for more information on updating an existing CloudFormation stack to use the new CloudFormation template. The new EKS-optimized AMI and Cloudformation template must be used together. You will need to update the NodeImageID parameter to the new AMI ID when updating your stack.

For information on provisioning EKS worker nodes, see the Amazon EKS getting started guide. You can find the Packer by Hashicorp template for building the EKS-optimized AMI, the EKS Bootstrap script, and the amazon-eks-nodegroup.yaml Cloudformation template in our GitHub repository.  

Please visit the AWS region table to see all AWS regions where Amazon EKS is available.