feat: support containerd 2.x addon#6029
Conversation
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-f433091-containerd-2.2.0-k8s-ctrd-2026-06-12T06:22:25Z |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-f433091-containerd-2.2.2-k8s-ctrd-2026-06-12T06:22:52Z |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-f433091-containerd-2.2.1-k8s-ctrd-2026-06-12T06:23:07Z |
|
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-f433091-containerd-2.2.3-k8s-ctrd-2026-06-12T06:23:40Z |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-f433091-containerd-2.2.4-k8s-ctrd-2026-06-12T06:24:06Z |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-f433091-containerd-2.1.5-k8s-ctrd-2026-06-12T06:30:42Z |
|
manual test with CMX Ubuntu 24.04 install successful cat /etc/containerd/conf.d/99-replicated.toml
version = 3
[debug]
level = "warn"
[plugins.'io.containerd.transfer.v1.local']
config_path = '/etc/containerd/certs.d'
[plugins.'io.containerd.cri.v1.images'.registry]
config_path = '/etc/containerd/certs.d'
[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.runc.options]
SystemdCgroup = true
[plugins.'io.containerd.cri.v1.runtime']
disable_apparmor = true
[plugins.'io.containerd.cri.v1.images'.pinned_images]
sandbox = 'registry.k8s.io/pause:3.10' |
… on 2.x On containerd 2.x, user tomlConfig was leaf-merged into the base config.toml, which containerd merges below conf.d imports - silently overriding user keys with kURL defaults. Write user TOML verbatim to a higher-priority 99-user.toml drop-in (kURL defaults renamed 99-replicated.toml to 50-replicated.toml) so later-filename-wins restores 1.x user-patch precedence. Add an rc-based config-dump validation bail. 1.x leaf-merge path unchanged.
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-6e2df87-containerd-2.2.3-k8s-ctrd-2026-06-15T12:59:34Z |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-6e2df87-containerd-2.2.0-k8s-ctrd-2026-06-15T13:01:01Z |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-6e2df87-containerd-2.2.4-k8s-ctrd-2026-06-15T13:01:51Z |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-6e2df87-containerd-2.2.1-k8s-ctrd-2026-06-15T13:02:00Z |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-6e2df87-containerd-2.2.2-k8s-ctrd-2026-06-15T13:02:03Z |
|
Reviews (2): Last reviewed commit: "fix(containerd): route CONTAINERD_TOML_C..." | Re-trigger Greptile |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-6e2df87-containerd-2.1.5-k8s-ctrd-2026-06-15T13:06:58Z |
Preserve /etc/containerd/config.toml as a .bak recovery artifact when an upgrade crosses the containerd 1.x (schema v2) to 2.x (schema v3) boundary, before the config is regenerated from defaults. Only fires on the one-time schema crossing, so backups do not accumulate on re-runs.
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-872af43-containerd-2.2.0-k8s-ctrd-2026-06-16T01:28:36Z |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-872af43-containerd-2.2.3-k8s-ctrd-2026-06-16T01:28:41Z |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-872af43-containerd-2.2.1-k8s-ctrd-2026-06-16T01:29:18Z |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-872af43-containerd-2.2.2-k8s-ctrd-2026-06-16T01:29:29Z |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-872af43-containerd-2.2.4-k8s-ctrd-2026-06-16T01:29:59Z |
|
Reviews (3): Last reviewed commit: "feat(containerd): back up 1.x config bef..." | Re-trigger Greptile |
|
Testgrid Run(s) Executing @ https://testgrid.kurl.sh/run/pr-6029-872af43-containerd-2.1.5-k8s-ctrd-2026-06-16T01:34:51Z |
|
Tested with:
apiVersion: cluster.kurl.sh/v1beta1
kind: Installer
metadata:
name: 6ba28eb
spec:
kubernetes:
version: 1.35.4
flannel:
version: 0.28.4
openebs:
version: 4.4.0
isLocalPVEnabled: true
localPVStorageClassName: local
minio:
version: 2025-10-15T17-29-55Z
registry:
version: 3.1.1
ekco:
version: 0.28.14
containerd:
version: 2.1.5
s3Override: >-
https://kurl-sh.s3.amazonaws.com/pr/pr-6029-872af43-containerd-2.1.5.tar.gz
|
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Steps to reproduce
Does this PR introduce a user-facing change?
Does this PR require documentation?