-
Notifications
You must be signed in to change notification settings - Fork 5k
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
cri-dockerd system unit override assumes /usr/bin/cri-dockerd
but install instructions from mirantis point to /usr/local/bin/cri-dockerd
#15265
Comments
You may be able to work around this by seeing what the |
Normally you would want to use the packages (like rpm), but as long as cri-dockerd requires horrible workarounds like hacking the It needs to read the value from any existing systemd unit, ideally it should not overwrite but replace as little as possible |
This will improve when there is a config file: |
This comment was marked as outdated.
This comment was marked as outdated.
I don't really understand why the installation guide in cri-dockerd repository bothers to rewrite the installation destination, so I can't judge which is better. |
@shu-mutou : since they changed the installation destination, they need to also change the configuration ( Even the |
Probably it should look more like https://github.com/containerd/containerd/blob/main/docs/getting-started.md But for most people it would be better to use packages (deb/rpm), and containerd.io lets Docker handles all that... |
@afbjorklund Thank you very much for your explanations. |
We copy the binary and the systemd files, but it is more work (for less features) than the packages |
Finally, not like the installation guide, I putted systemd files without modification and putted |
I realized that the correct way to install No matter where |
@afbjorklund
If you agree with above, could you assign me this? |
There is not really a way to append like you suggest (systemd/systemd#21461), unless you mean parsing the systemd unit to try to guess where cri-dockerd is -- that's kind of gross, and searching the $PATH seems cleaner. That being said, I still want to understand where all this confusion/where all the end-users for cri-dockerd come from. It's a tool/component aimed at advanced users (e.g. those assembling their own Kubernetes) in my mind; clearly that is not reality (see Mirantis/cri-dockerd#154 (comment)), so understanding the where/why of end-users would be advantageous. Maybe cri-dockerd just needs a In any case, the reason for the differing paths is simple:
This is not a hard and fast rule, but is a decades-old convention that is generally well understood. Certainly the most pragmatic thing to do in minikube seems to be searching |
I'll just do a similar hack, similar to the weird I don't really want to be parsing systemd stuff, and hope we soon get a real config file |
For my testing, I did this:
I don't really like hard-coding versions, since they get outdated, but without support for It would have been easier to install it with Docker Engine. |
@neersighted the users also need to install cri-tools and cni-plugins, which also fails in similar ways |
In all honestly, I wonder if the I don't use minikube much outside of kind/VM scenarios, so I guess I don't truly understand the drive for the |
Yes, it is something being discussed. If minikube should be thrown out of the getting started tutorials... But exposing the users to raw |
I don't know what the right path is here; I'm hardly objective as I've been dealing with this tooling for years, and with software engineering for even longer. That being said, I really think that |
Did that ever work due to #15413 |
It works locally ("none" driver), haven't tested the "ssh" driver - but that is already broken in many other ways |
So you run minikube directly on the VM/Docker/Kubernetes host? |
|
Booh! |
I see... I'm not that qualified to comment on the maintenance situation of minikube, so I think I'll stop speculating there. Nonetheless, I think we need to figure out a better solution for everyone to the cri-dockerd situation, which might help with figuring out some of the other sharp edges. I'm inclined to say that that is mostly docs + automation work in minikube, along with a side of "This is upstream/aimed at developers & integrators, not end users, here are some best-effort binaries" in cri-dockerd. I'd like to do more/get better than that, but summarizing the current state in a way that is explicit instead of implicit is a good first step. |
Here was the original ticket about improving libmachine API: But at this point, it is more about making it look good when dead: |
That helps, I think I understand the lay of the land much better. I think I'll try and spend some time on this at some point. No promises as to timeline; there are a lot of plates spinning and I increasingly have less time for technical work (especially a project I have not contributed to before), but I think this is important and I'd love to provide some more hands/eyes if possible. This is all still quite hairy, but I do have the slight advantage of having worked on two other tools that do similar things to minikube (one is the predecessor to docker-machine, still used internally at Docker and Mirantis, and the other is basically 'minikube for Mirantis Kubernetes Engine'). |
The kubernetes tutorials are handled by SIG Docs, and their discussion is here: kubernetes/website#38878 https://www.oreilly.com/online-learning/leveraging-katacoda-technology.html (katacoda.com was shut down)
|
I'll let you know my use case for reference. I'm one of the maintainers of Kubernetes Dashboard, and since 2019 I've been using a k8s cluster created on a VM using minikube and the none driver for Dashboard development. The reasons are as follows.
Thanks!! |
@shu-mutou it is a valid use case, and something that should be explicitly supported by minikube Ironically, new releases are only tested with containerd and kind - and not with docker and minikube. If minikube is "replaced" in the tutorials, it will only be with a similar cloud setup calling So you can continue to run |
What Happened?
The template for cri-dockerd systemd override uses a hard coded path:
Which differs from the install location suggested by the cri-dockerd installation instructions, specifically, this part:
Attach the log file
Operating System
Redhat/Fedora
Driver
None (Baremetal)
The text was updated successfully, but these errors were encountered: