AWS Machine Images for CAPA Clusters
CAPA requires a “machine image” containing pre-installed, matching versions of kubeadm and kubelet.
EKS Clusters
For an EKS cluster the default behaviour is to retieve the AMI to use from SSM. This is so the recommended Amazon Linux AMI is used (see here).
Instead of using the auto resolved AMIs an appropriate custom image ID for the Kubernetes version can be set in AWSMachineTemplate
spec.
Non-EKS Clusters
By default the machine image is auto-resolved by CAPA to a public AMI that matches the Kubernetes version in KubeadmControlPlane
or MachineDeployment
spec. These AMIs are published in a community owned AWS account. See pre-built public AMIs for details of the CAPA project published images.
IMPORTANT: The project doesn’t recommend using the public AMIs for production use. Instead its recommended that you build your own AMIs for the Kubernetes versions you want to use. The AMI can then be specified in the
AWSMachineTemplate
spec. Custom images can be created using image-builder project.