Amazon Linux 2023
Template variables
| Variable | Description |
|---|---|
ami_component_description |
|
ami_description |
|
ami_name |
|
ami_regions |
|
ami_users |
|
arch |
|
associate_public_ip_address |
|
aws_access_key_id |
|
aws_region |
|
aws_secret_access_key |
|
aws_session_token |
|
binary_bucket_name |
|
binary_bucket_region |
|
containerd_version |
|
install_containerd_from_s3 |
|
creator |
|
enable_accelerator |
Vendor that provides the GPU or accelerator hardware. Currently we support Neuron and NVIDIA. |
enable_efa |
Valid options are true or false. Wheather or not to install the software needed to use AWS Elastic Fabric Adapter (EFA) network interfaces. |
enable_fips |
Install openssl and enable fips related kernel parameters |
encrypted |
|
iam_instance_profile |
The name of an IAM instance profile to launch the EC2 instance with. |
instance_type |
|
kms_key_id |
|
kubernetes_build_date |
|
kubernetes_version |
|
launch_block_device_mappings_volume_size |
|
nodeadm_build_image |
Image to use as a build environment for nodeadm |
nvidia_driver_major_version |
To be used only when enable_accelerator = nvidia. Driver version to install, depends on what is available in NVIDIA repository. |
nvidia_repository_url |
YUM/DNF Repository override for the NVIDIA driver packages |
pause_container_image |
Image ref for the pause container image |
remote_folder |
Directory path for shell provisioner scripts on the builder instance |
runc_version |
|
security_group_id |
|
source_ami_filter_name |
|
source_ami_id |
|
source_ami_owners |
|
ssh_interface |
If using session_manager, you need to specify a non-minimal ami as the minimal version does not have the SSM agent installed. |
ssh_username |
|
ssm_agent_version |
Version of the SSM agent to install from the S3 bucket provided by the SSM agent project, such as latest. If empty, the latest version of the SSM agent available in the Amazon Linux core repositories will be installed. |
subnet_id |
|
temporary_key_pair_type |
|
temporary_security_group_source_cidrs |
|
user_data_file |
Path to a file that will be used for the user data when launching the instance. |
volume_type |
|
working_dir |
Directory path for ephemeral resources on the builder instance |
custom_endpoint_ec2 |
Accelerated images
One can build images that contain Neuron or Nvidia drivers and runtime configuration. To build Neuron image execute:
make k8s=1.29 os_distro=al2023 enable_accelerator=neuron enable_efa=true
To build NVIDIA image execute:
make k8s=1.29 os_distro=al2023 enable_accelerator=nvidia enable_efa=true
One can pass the NVIDIA driver major version using the following:
make k8s=1.29 os_distro=al2023 enable_accelerator=nvidia enable_efa=true nvidia_driver_major_version=560
To see which driver versions are available, one can check the NVIDIA AL2023 repository.
Pause Container Image
Since PR #2000, the pause
container image is no longer pulled in at runtime on AL2023. nodeadm uses a
static pause container reference to populate the
sandbox_image
field of the containerd config.toml, which is baked into the AMI during the
build based on the packer template variable pause_container_image.
The default for pause_container_image points to an EKS-owned ECR image, but
you can also use another pause image entirely such as registry.k8s.io/pause.
If you need coordinates for a different ECR image in another region, see https://docs.aws.amazon.com/eks/latest/userguide/add-ons-images.html for a list of region-specific registries that hold identical repositories.
Additionally, if you would like to use a FIPS endpoint, this will require just a minor change to the registry URI:
-<ACCOUNT_ID>.dkr.ecr.<REGION>.<DOMAIN>"
+<ACCOUNT_ID>.dkr.ecr-fips.<REGION>.<DOMAIN>"