awslabs / amazon-eks-ami

Packer configuration for building a custom EKS AMI
https://awslabs.github.io/amazon-eks-ami/
MIT No Attribution
2.46k stars 1.15k forks source link

Missing Linux Binaries for 1.29.6 in amazon-eks S3 Bucket #1888

Closed daniel-palmer-gu closed 4 months ago

daniel-palmer-gu commented 4 months ago

What happened: Trying to build an AMI, but packer is failing after trying to pull non-existent binaries from S3.

What you expected to happen: Linux Binaries are available in amazon-eks bucket for 1.29.6

How to reproduce it (as minimally and precisely as possible): Run the following command and see that binaries are not available for this version specifically: aws s3api list-objects-v2 --bucket amazon-eks --prefix "1.29" --query 'Contents[*].[Key]' --output text

wwvela commented 4 months ago

The latest-binaries script should fetch the latest linux binaries info, but it doesn't do filter and fetched the latest windows binary info instead. And we just refreshed the windows binary this week, so it has some inconsistency between linux one and windows one. Just raise a tiny PR to resolve it.

voidteatime commented 4 months ago

Sorry to hijack, seems like not only 1.29.6, also 1.28.11 binaries for kublet are missing.

the latest build being retrieved is 1.28.11 for the kubelet, with build date 2024-07-12, but the follow aws command only returns windows binaries built, the linux one has disappeared.

aws s3 ls s3://amazon-eks/1.28.11/2024-07-12/bin/

My work-around would be to hardcode the LATEST_VERSION and LATEST_BUILD_DATE values in the hack/latest-binaries.sh if needed.

LochanRn commented 4 months ago

2024-07-19T16:16:48+05:30: amazon-ebs: fatal error: An error occurred (404) when calling the HeadObject operation: Key "1.30.2/2024-07-12/bin/linux/amd64/kubelet" does not exist

It says even 1.30.2 is missing.

LochanRn commented 4 months ago

As of now below are the only supported versions available and we need to hardcode the same.

1.29.0/2024-01-04/bin/linux/arm64/kubelet 1.29.3/2024-04-19/bin/linux/amd64/kubelet 1.28.1/2023-09-14/bin/linux/amd64/kubelet 1.28.2/2023-10-12/bin/linux/amd64/kubelet 1.28.3/2023-11-02/bin/linux/arm64/kubelet 1.28.5/2024-01-04/bin/linux/amd64/kubelet 1.28.8/2024-04-19/bin/linux/arm64/kubelet 1.30.0/2024-05-12/bin/linux/amd64/kubelet

Hence only the below versions can be used to build the EKS AMI.

1.28.1, 1.28.2, 1.28.3, 1.28.5, 1.28.8, 1.29.0, 1.29.3, 1.30.0

cartermckinnon commented 4 months ago

This binary batch intentionally only includes Windows, because it addresses a security issue; more here: https://docs.aws.amazon.com/eks/latest/userguide/eks-ami-versions-windows.html

@wwvela fixed the latest-binaries.sh script to handle this in #1889.

We'll push a new batch that bumps the kubelet version for Linux as well in the next couple weeks.