Skip to content
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

Containerd configuration needs to show new format version #48976

Open
afbjorklund opened this issue Dec 8, 2024 · 4 comments · May be fixed by #49109
Open

Containerd configuration needs to show new format version #48976

afbjorklund opened this issue Dec 8, 2024 · 4 comments · May be fixed by #49109
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. language/en Issues or PRs related to English language triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@afbjorklund
Copy link

afbjorklund commented Dec 8, 2024

This is a Feature Request

Currently documentation only shows the old "v2" format:

https://kubernetes.io/docs/setup/production-environment/container-runtimes/#containerd

In containerd 1.x:

[plugins."io.containerd.grpc.v1.cri"]
  sandbox_image = "registry.k8s.io/pause:3.2"

What would you like to be added

It should show both the "v2" (1.x) and "v3" (2.x) formats:

https://github.com/containerd/containerd/blob/release/2.0/docs/cri/config.md

In containerd 2.x:

    [plugins.'io.containerd.cri.v1.images'.pinned_images]
      sandbox = 'registry.k8s.io/pause:3.10'

Why is this needed

The old format is still supported in containerd 2.0, but in future versions it is deprecated (similar to "v1" today)

For the transitioning period (i.e. before 1.x is EOL), the duplicated documentation needs to shown both versions.

https://containerd.io/releases/#kubernetes-support

Both versions are currently documented upstream.

Comments

There is a related bug with kubeadm preflight, that makes it fail to detect the configured version no matter what...

warning: detected that the sandbox image "" of the container runtime is inconsistent with that used by kubeadm

But the user can verify the current config with containerd config dump, even though it is missing from crictl info.

@afbjorklund afbjorklund added the kind/feature Categorizes issue or PR as related to a new feature. label Dec 8, 2024
@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Dec 8, 2024
@vaibhav2107
Copy link
Member

/language en

@k8s-ci-robot k8s-ci-robot added the language/en Issues or PRs related to English language label Dec 8, 2024
@kundan2707
Copy link
Contributor

/triage accepted

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Dec 8, 2024
@afbjorklund
Copy link
Author

afbjorklund commented Dec 13, 2024

Possibly this documentation should also be updated to show the correct version (3.10), instead of an old value of "3.2"?

The correct value can be found by running kubeadm config images list, instead for some reason cri-o now shows "3.6"

The example for docker doesn't show any value at all, and doesn't show in which file to set the value (the systemd unit)

These versions for the sandbox will cause a warning message to be shown later, during the kubeadm preflight phase...


In your containerd config you can overwrite the sandbox image by setting the following config:

[plugins."io.containerd.grpc.v1.cri"]
sandbox_image = "registry.k8s.io/pause:3.2"

In your CRI-O config you can set the following config value:

[crio.image]
pause_image="registry.k8s.io/pause:3.6"

The cri-dockerd adapter accepts a command line argument for specifying which container image to use as the Pod infrastructure container (“pause image”). The command line argument to use is --pod-infra-container-image.

ExecStart=
ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image=registry.k8s.io/pause:3.10

@pegasas pegasas removed their assignment Dec 15, 2024
@pegasas
Copy link
Contributor

pegasas commented Dec 16, 2024

/assign @pegasas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. language/en Issues or PRs related to English language triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants