Skip to content

packages: add kubernetes-1.37 and ecr-credential-provider-1.37 - #1029

Merged
qianxjcraig merged 4 commits into
bottlerocket-os:developfrom
qianxjcraig:k8s-memory-qos-settings
Sep 3, 2026
Merged

packages: add kubernetes-1.37 and ecr-credential-provider-1.37#1029
qianxjcraig merged 4 commits into
bottlerocket-os:developfrom
qianxjcraig:k8s-memory-qos-settings

Conversation

@qianxjcraig

@qianxjcraig qianxjcraig commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Issue number:

Related bottlerocket-os/bottlerocket#4915

Description of changes:

Add initial Kubernetes 1.37 support:

  • Add the kubernetes-1.37 package using EKS-D v1.37.0 GA sources.
  • Add ecr-credential-provider-1.37 using cloud-provider-aws v1.37.0.
  • Update packages/kubernetes-1.37/kubelet-exec-start-conf to remove the upstream-removed kubelet --containerd flag; runtime configuration continues through --container-runtime-endpoint.
  • Render the optional Kubernetes MemoryQoS settings (KEP-2570) in the kubelet configuration.

The containerd 2.3 package is tracked separately in #1023.

The MemoryQoS templates depend on bottlerocket-settings-sdk#147. After that PR is merged and a new bottlerocket-settings-models release is published, this PR will be updated to consume the released settings model before merge. The temporary local settings SDK source pin used to build the test AMI is intentionally not included here.

Testing done:

Kubernetes 1.37 RC candidate testing covered:

Area Coverage Result
Core-kit and AMI builds x86_64 and aarch64; standard, FIPS, NVIDIA, and NVIDIA FIPS variants PASS
Kubernetes conformance 8/8 variant/architecture combinations; 463/463 conformance specs per combination PASS
ECR credential provider Packaged v1 provider on standard and FIPS, x86_64 and aarch64; private ECR image pulls on x86_64 PASS
Storage EBS CSI filesystem and raw-block provisioning, SELinux labeling, reboot/remount, and data persistence PASS
NVIDIA and DRA Physical GPU allocation, CDI injection, restart/reboot recovery, FIPS, and aarch64 coverage PASS
Targeted node features MemoryQoS, Pod-level resources and resource managers, CRI stats, kubelet metrics, certificates, trust bundles, storage recovery, EnvFiles, and hostname override PASS
VMware hybrid nodes Standard and FIPS variants using IAM Roles Anywhere and SSM credentials PASS, 4/4

Focused MemoryQoS validation is documented in bottlerocket-settings-sdk#147. Verified Bottlerocket API values, kubelet configuration rendering, cgroup v2 memory protection, and throttling under bounded memory pressure.

Terms of contribution:

By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.

@qianxjcraig
qianxjcraig force-pushed the k8s-memory-qos-settings branch 2 times, most recently from e9ff575 to a46567e Compare September 2, 2026 01:33
@qianxjcraig qianxjcraig changed the title kubernetes-1.37: expose MemoryQoS policy settings packages: add kubernetes-1.37 and ecr-credential-provider-1.37 Sep 2, 2026
Use the EKS-D v1.37.0 source archive from release 2.

Signed-off-by: Craig Qian <qianxj@amazon.com>
Signed-off-by: Craig Qian <qianxj@amazon.com>
Signed-off-by: Craig Qian <qianxj@amazon.com>
@qianxjcraig
qianxjcraig force-pushed the k8s-memory-qos-settings branch from a46567e to 586fea7 Compare September 2, 2026 06:42
@qianxjcraig
qianxjcraig marked this pull request as ready for review September 2, 2026 18:23
Signed-off-by: Craig Qian <qianxj@amazon.com>
@qianxjcraig
qianxjcraig merged commit 7cf5094 into bottlerocket-os:develop Sep 3, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants