Skip to content

Conversation

afbjorklund
Copy link
Member

The second-party package of "cri-tools" (crictl) and also the third-party package "kubernetes-cni" (cni-plugins) will go away.

So don't rely on them being installed, but just use "ctr" and "/usr/local/libexec/cni" instead from the nerdctl-full install.


Note: the packages are still installed by default, in Kubernetes version 1.34...

But this way, the k8s installation will continue to work - even if they are not

The main difference from before, is that there will be small warning printed:

WARN[0000] Image connect using default endpoints: [unix:///run/containerd/containerd.sock unix:///run/crio/crio.sock unix:///var/run/cri-dockerd.sock]. As the default settings are now deprecated, you should set the endpoint instead.

It has been deprecated for 5 years, but the user is supposed to configure it:

https://kubernetes.io/docs/tasks/debug/debug-cluster/crictl/ (in /etc/crictl.yaml)

And the other cni-plugins are upgraded from version 1.7.1 to version 1.8.0.

It can now use the standard version from nerdctl, instead of from kubelet.

@afbjorklund afbjorklund linked an issue Oct 14, 2025 that may be closed by this pull request
@AkihiroSuda
Copy link
Member

For testing let's merge this first

[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
SystemdCgroup = true
[plugins.'io.containerd.cri.v1.runtime'.cni]
bin_dirs = ['/opt/cni/bin','/usr/local/libexec/cni']
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably we do not need this config if we symlink it

Copy link
Member Author

@afbjorklund afbjorklund Oct 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The symlink conflicts with the current package, and is part of the kubernetes-cni legacy (why /opt?)

But we need to add it to the path, since the flannel manifest still uses it for their cni plugin install

Should put the newer binaries first, though.

The kubernetes ones are usually forgotten...

kubernetes-cni/unknown,now 1.7.1-1.1 amd64 [installed,automatic]
kubernetes-cni/unknown 1.6.0-1.1 amd64

"Install CNI plugins (required for most pod network):"
CNI_PLUGINS_VERSION="v1.3.0"

The second-party package of "cri-tools" (crictl) and also the
third-party package "kubernetes-cni" (cni-plugins) will go away.

So don't rely on them being installed, but just use "ctr" and
"/usr/local/libexec/cni" instead from the nerdctl-full install.

Signed-off-by: Anders F Björklund <[email protected]>
@afbjorklund afbjorklund marked this pull request as ready for review October 15, 2025 16:34
@afbjorklund
Copy link
Member Author

afbjorklund commented Oct 15, 2025

This is just something that is being discussed, it has not happened yet (in pre-release v1.35.0-alpha.1)

https://www.kubernetes.dev/resources/release/

https://build.opensuse.org/project/show/isv:kubernetes:core:prerelease:v1.35

@AkihiroSuda AkihiroSuda added this to the v2.0.0 milestone Oct 16, 2025
Copy link
Member

@AkihiroSuda AkihiroSuda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

@AkihiroSuda AkihiroSuda merged commit 19dd37f into lima-vm:master Oct 16, 2025
62 of 64 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.

Kubernetes wants to stop distributing kubernetes-cni package

2 participants