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

Stop supporting cri-dockerd directly #3286

Open
5 tasks
jandubois opened this issue Oct 26, 2022 · 3 comments
Open
5 tasks

Stop supporting cri-dockerd directly #3286

jandubois opened this issue Oct 26, 2022 · 3 comments
Assignees
Labels
kind/enhancement New feature or request runtime/moby
Projects

Comments

@jandubois
Copy link
Member

We added (and configured) cri-dockerd because k8s dropped docker-shim in the 1.24 release.

However, k3s has added cri-dockerd in 1.24.4, so only 3 releases 1.24.1, 1.24.2, and 1.24.3 don't support the --docker option (there was non 1.24.0+k3s release afaik).

We should switch back to using the --docker option, now that it is supported again going forward, and simply tell the user that they have to use the containerd engine with the 3 releases that don't support docker. That slightly reduces our download size and complexity, but more importantly we will run in the same configuration as if you used k3s directly.

  • Remove cri-dockerd (and cni-plugins?) from alpine-lima and wsl-distro.
  • Use --docker option when configured with the moby engine.
  • Prevent the user from selecting moby when k3s is 1.24.{1,2,3}.
  • When upgrading from 1.24.{1,2,3} and moby engine, display a dialog1
  • Create diagnostic to inform about the "hidden" images, in case they didn't read the dialog. 😄

Footnotes

  1. The warning should explain that moby is not supported with their current Kubernetes version, and that we had to switch them to containerd. If they want to regain access to their existing images, they should switch to a version of k3s that supports --docker.

@jandubois jandubois added kind/enhancement New feature or request runtime/moby labels Oct 26, 2022
@github-actions github-actions bot added this to To do in Stripey via automation Oct 26, 2022
@jandubois
Copy link
Member Author

Another argument to rely on cri-dockerd bundled with k3s is that in the future we may need different cri-dockerd versions depending on the k8s version: Mirantis/cri-dockerd#125

@gaktive
Copy link
Contributor

gaktive commented Jan 9, 2023

#1766 was the PR that introduced cri-dockerd, so we need logic to detect the version for the 3 in question with this; otherwise this is almost a revert of that.

@jandubois
Copy link
Member Author

It looks like the version of cri-dockerd bundled with the current release of k3s is not compatible with docker 25.* (k3s-io/k3s#9279), so we may need to continue bundling it.

Ideally we should bundle cri-dockerd from https://github.com/k3s-io/cri-dockerd because there may be additional patches for k3s, but there are no binary releases in that repo (it is built as part of k3s itself). Needs further investigation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement New feature or request runtime/moby
Projects
No open projects
Stripey
To do
Development

No branches or pull requests

2 participants