This blog post walks through the steps to provision a Kubernetes cluster on AWS EKS using infrastructre as code. The primary use case is customers who have strict requirements around the machine images they are allowed to use in their organization.
This solution deploys self-managed worker nodes to give the user the flexibility to choose their own custom machine images. It provides all the automation (including a pipeline) to spin up multiple worker nodes and migrate live workloads from one to another.
The entire solution is built using AWS CDK and has been open sourced.
Source code: https://github.com/aws-samples/eks-ami-tester