[WIP] Amazon Linux 2023 proof-of-concept#1212
Conversation
|
What protocol do you need that is not provided by |
| "runc_version": "*", | ||
| "security_group_id": "", | ||
| "sonobuoy_e2e_registry": "", | ||
| "source_ami_filter_name": "al2023-ami-minimal-2023.0.*-kernel-6.1-x86_64", |
There was a problem hiding this comment.
Why not use the SSM parameter?
this will break as soon as 2023.1 is released 3 months after GA.
stewartsmith
left a comment
There was a problem hiding this comment.
Additional things that should change for AL2023
- AWS CLI v2 does not need to be pulled from external locations, the packaged aws-cli is version 2.
- I'm not convinced the sshd configuration is needed / doing something intentional here? Is there something that is not okay with teh AL2023 default configs?
- why is the clocksource being switched on xen? Is there good information on this? A ticket?
- Why is there a need to have
curlrather thancurl-minimalwhich is there already? Are you downloading containers via gopher or something? yum-utilsis replaced bydnf-utils- what specifically do you need from there though?- instead of
yum-plugin-versionlockthe modern way is to installdnf-command(versionlock) - is
nfs-utilswhat you're looking for? Or is it really the EFS utilities? - why do you need to install
wgetat all? What is the need forwgetandcurl? It looks like the only use here is to download binaries from S3 and github?curlcan do that and reduce the patching burden on customers. - the "Update the OS to begin with to catch up to the latest packages" invocation will not do this on AL2023. It would be better to have the build run off of an explicit AMI name, and have the option to have
dnf --releasever=$RELEASE_TO_UPGRADE_TO update -yin the build to help with anything emergent. - are you sure the
ec2-net-utilsremoval is still needed? Network setup works rather differently in AL2023. It also is likely worth changing the configuration rather than removing. - Do you need to explicitly version lock the individual packages when you're already going to be version locked to a specific version of the OS?
- Why do you need device mapper and LVM by default?
- the
amazon-linux-extras enable dockeris not going to work on AL2023 - Are you sure the
groupaddanduseraddare required? - The "Enable docker daemon to start on boot" command of "sudo systemctl daemon-reload" is.... not how that works.
- If you are setting up
logrotate, then you're going to have to installlogrotate. But it appears that instead things are in fact usingjournald, in which case, don't configurelogrotate. - There's going to be a better name than
/etc/sysctl.d/99-amazon.conffor the sysctl settings. Are you sure these changes are still needed on AL2023? Overcommit is going to be always enabled because otherwise it's just too funny, and we do panic on oops. - The inotify and
vm.max_map_countsysctl settings should be in/etc/sysctl.dfiles rather than adding to/etc/sysctl.conf - I am almost certain the
log-collector-scriptdoes not belong in/etc - I am pretty sure there's a better way to disable package upgrade on instance launch than running
sedover/etc/cloud/cloud.cfg- especially as this is something we do not do on AL2023. chkconfigis not what should be being used for anything, and is not installed by default- are you sure you need to configure
chrony?
|
Thanks for combing through this, @stewartsmith! This is a very rough draft I threw together to see how far the existing template was from a successful build with an AL2023 base. I'll follow up on the items one-by-one, but I expect to remove many oddities that have accumulated over time. |
|
@cartermckinnon would it be better if the AL2023 version was a new repo? Given the new AL release cadence it seems likely that multiple AL versions will be relevant at a given time. By changing repos it'd also allow for tooling changes without impacting the previous version. |
|
So AL2023 is GA https://aws.amazon.com/blogs/aws/amazon-linux-2023-a-cloud-optimized-linux-distribution-with-long-term-support/ are we expecting to see more effort putting into this as EKS ami? |
|
Note: For installing
|
|
Have you tried this and had it work? I had to add iptables-legacy to get bootstrap.sh to run. However coredns continually errors out and restarts. There is no pod-to-pod networking that works - and I can't seem to figure out why. The related errors seem to be a CNI problem. |
|
@cartermckinnon a few more things here: (also rebased to master!)
snippet from PS: eksctl config is here |
|
Closing this PR in favor of #1340. |
Description of changes:
This is an initial PoC for an AL2023-based EKS worker AMI.
Changelog:
rsaSSH keys not supported by default on AL2023, switched toed25519.upgrade_kernel.shprovisioner -- AL2023 is on kernel 6.1 by default.curlin favor ofcurl-minimal.By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.