-
Notifications
You must be signed in to change notification settings - Fork 310
Use cni by default on Linux, too #103
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
Conversation
@afbjorklund One quick turnaround to align Linux and WIndows. Doesn't look like this will have any negative effects on the minikube PR, but mind taking a look? |
I think the user needed to install the cni plugins, either way ? (for both "kubenet", and for "cni")
The main difference is that they would now also need to install something in The code changes on the minikube end would be the same, as long as it is not "no-op". There was an unfortunate shortcut, that avoided updating the config for "known" config... if networkPlugin == "" {
// no-op plugin
return nil
} It now needs to always update the cri-docker systemd unit file, with the users choice. |
I just filed #104 where I describe that with 0.2.4, even explicitly setting If it is now necessary to specify some options that were not needed with 0.2.3, it would be great if the .service file had support for EnvironmentFile so that people wouldn't need to fiddle with the systemd unit files directly. But more important -- could the documentation get updated to describe how to achieve the exact 0.2.3 setup? I don't really care which plugin is used, I primary setup the K3s cluster to run GitHub Actions CI tests, so whichever was used and worked should likely be documented, if it cannot be the default anymore. |
I'm replying on the issue separately, but the change in Since, with 1.24, specifying a CNI is more or less required, the intention of the patch was actually to prevent needing to add a #102 was explicitly opened to make for a better configuration experience.
Passing This would change your script to:
Surprisingly, considering when 1.19 released, the e2e tests from upstream don't build on 1.18.
Yes. Well, since With 1.24 as the first upstream release where
As above, the hope is that users will need to update only if they do not want
It doesn't quite crashloop. Well, |
…lugin` to use pre-`0.2.4` behavior
Actually, I found out that plain
with no value for the parameter seems to work as well on 0.2.4. |
Use cni by default on Linux, too
It would have made sense, if 1.24 had made both CRI and CNI mandatory - but in the end, they did not.
We offer https://github.com/kubernetes/minikube/blob/master/pkg/minikube/cni/bridge.go // bridge is what minikube defaulted to when `--enable-default-cni=true` In fact, even previous releases were broken when using containerd - for precisely this issue (i.e. no CNI) It is OK if cri-dockerd recommends using CNI, but it would have to be separately configured in minikube.
Right, I think the cluster will be up - it is the CoreDNS pod that will fail to appear. And it is documented... I will revisit this during autumn, maybe as a part of upgrading kubernetes-cni from the current 0.8.7 🕸️ |
changed it so that minikube will use cni when it uses cri, i.e. when not using dockershim (< k8s 1.24) |
Closes #104