New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Verify ARM64 support #468
Comments
Changes to CNI build process is needed to support arm, the current build process doesn't configure I'll be testing out the changes in the mentioned PRs (and CNI build changes) to confirm the |
Using
|
There are some outstanding changes that I think are needed based on the output of the journal: rng generation time significantly delays the start up process and the lack console output during this time made me uneasy as another service printed an error prior to the
host-ctr should try to find the architecture specific image and fallback as a compatibility mechanism (like Kubernetes for example) so that a specific [settings.host-containers.admin]
enabled = true
source = "111111111111.dkr.ecr.us-west-2.amazonaws.com/thar-admin:9c7813c1-arm64"
[settings.host-containers.control]
enabled = true
source = "111111111111.dkr.ecr.us-west-2.amazonaws.com/thar-control:06ed3177-arm64" Applying sysctl from
Arch specific image names (a la #689, #694) I misinterpreted the multiarch compatibility handling of Kubernetes, the PRs need to be updated to create images named Pause container for k8s Still need to get a pause container configured for use, though its clear that the kubelet is trying the mentioned Kubernetes multiarch fallback name, which is encouraging!
updog error on boot (I don't think this is arm64 specific) We could add a condition on this service that prevents it from successfully starting on first-boot when there's no configuration file (if it doesn't support running without this file, then we should express this semantic and prevent it from running IMO):
Otherwise, the console displays the following during boot:
|
Here's the full journald output from the boot the snippets were taken from. |
@bcressey I think we might have to add some CONFIG settings to align the
|
Re: updog error on boot It appears that the |
Builds will be performed for all architectures declared. The golang toolchain can perform the compilation when the host's build of the toolchain is configured to include target arch. Related to #468 Signed-off-by: Jacob Vallejo <jakeev@amazon.com>
Builds will be performed for host architecture by defaul. The go toolchain can perform the compilation when the host's build of the toolchain is configured to include target arch. The build can be made to explicitly target another architecture at the user's request. Related to bottlerocket-os/bottlerocket#468 Signed-off-by: Jacob Vallejo <jakeev@amazon.com>
Builds will be performed for host architecture by defaul. The go toolchain can perform the compilation when the host's build of the toolchain is configured to include target arch. The build can be made to explicitly target another architecture at the user's request. Related to bottlerocket-os/bottlerocket#468 Signed-off-by: Jacob Vallejo <jakeev@amazon.com>
Builds will be performed for host architecture by defaul. The go toolchain can perform the compilation when the host's build of the toolchain is configured to include target arch. The build can be made to explicitly target another architecture at the user's request. Related to bottlerocket-os/bottlerocket#468 Signed-off-by: Jacob Vallejo <jakeev@amazon.com>
Good to see this work underway - it's been 1+ month since the last specific comment here, is it possible to get an update? |
We were able to verify that ARM builds of the OS, and other components, is possible and works:
However, this is for a working Bottlerocket OS image - there's other changes that we're dependent on to make ARM cluster nodes usable.
We're tracking the public roadmap issue regarding ECR's multiarch support to address the need for architecture specific |
ECR now has multiarch support! |
EKS support for Graviton/Graviton2 went GA yesterday! Would be great to have "out of the box" multi-arch support for bottlerocket-based clusters. |
Thanks for checking in! Bottlerocket now has ARM images built and available for use! The images can be queried from SSM with the method you'd use for
Please see the Finding an AMI section of the docs for more details. |
Wherever EKS and ECR support ARM64, we should aim for the same level of support.
The EKS ARM preview program provides images and ARM specific Kubernetes resources. We should use these resources and verify that we can successfully launch Bottlerocket nodes on ARM instances.
Bottlerocket OS
Control container
Admin container
Update operator
Kubernetes node
Build/configure and test node with CNI container for arm64 (supported in Support architecture targeted builds aws/amazon-vpc-cni-k8s#837)
Build/configure and test
pause
container for arm64 (EKS preview provides apause-arm64
image)The text was updated successfully, but these errors were encountered: