-
Notifications
You must be signed in to change notification settings - Fork 231
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
Bump cilium to version 1.12 #2219
Comments
We tend to avoid upgrading to another major or minor release of any component for existing KubeOne releases. That said, there are currently no plans to upgrade Cilium to 1.12 for KubeOne 1.4 release, but we can consider including it in the upcoming KubeOne 1.5 release. Until then, as an alternative, you can override the Cilium addon used by KubeOne. The overriding process is briefly described in the Addons document. What you need to do is to:
Regarding allowing configuring Cilium/CNI version in |
Absolutely, I was not expecting to see that bump happening in a KubeOne 1.4.x release. There was more intention to have it considered at all for KubeOne, so I'm very glad you added it as a milestone for KubeOne 1.5 already! I'll try the addon approach tomorrow as well, looks promising. Thanks for pointing that out and adding the milestone! |
Does this mean that it will use an addon from local if it has the same name, or that all built in addons are ignored and only the local added will be used? For example, if I add hetzner ccm and cilium, all other default or manually mentioned will still be used from built in? And if I add cilium, how do I disable kubeone's default cni? |
@madalinignisca If you provide an addon with the same name as the built-in addon, that addon will be overridden. Other addons will use manifests built-in in KubeOne. Regarding Hetzner CCM and Cilium, both are integrated in KubeOne already. For the Hetzner CCM, you need to set
This manifest will provision a cluster with the Hetzner CCM and Cilium (with kube-proxy replacement and Hubble). |
I will try with most recent hetzner ccm with networks and cillium. Thx. |
Our story
We need to use cilium on Hetzner Cloud, because traffic flowing from lb (internal ips) => kube-proxy (snat*) => svc/pod on the same node will always originate from the public eth0 ip address of the node, thus breaking a lot of things for us (i.e. services always need to know all public ips in the cluster to exclude them from x-forwarded-for/proxy protocol). We invested a lot of time and tried many tweaks to convince canal/flannel to use the internal ip, but without luck.
With a switch to cilium v1.11.x we essentially fixed this entirely in a snap using the strict kube-proxy replacement - cilium agent will use the private ip out of the box instead of the public one to talk to pods on the same host. We also benefit from the other cilium features (hubble insights, bpf performance ...) and are therefore very happy to find kubeone supporting cilium. However, afair kubeone 1.4.5 installs cilium v1.11.1, which is quite old and showed some bugs in our cluster, which have been resolved in the last months and are gone in cilium v1.12 (stable).
For testing purposes I updated cilium manually with your given helm command and everything seems to be working very well since over a week. I couldn't make out any breaking changes in the release notes. I'm aware cilium v1.12 is really new as it has been released just about 2 weeks ago and understand absolutely it probably needs some testing.
What would be needed to have you bump this version of cilium into kubeone? Alternatively, would it be possible to just be able to configure the desired cilium version in kubeone.yml?
Solution details
Alternative approaches
Use cases
The text was updated successfully, but these errors were encountered: