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

Cilium deprecated values for kube-proxy-replacement now refused by daemonset/cilium #11417

Open
ledroide opened this issue Aug 5, 2024 · 4 comments
Labels
kind/bug Categorizes issue or PR as related to a bug.

Comments

@ledroide
Copy link
Contributor

ledroide commented Aug 5, 2024

summary

Cilium v1.16 fails to start in CrashLoopBackOff with this log :

level=fatal msg="failed to start: daemon creation failed: unable to initialize kube-proxy replacement options: Invalid value for --kube-proxy-replacement: partial\nfailed to stop: unable to find controller ipcache-inject-labels" subsys=daemon

This is due to settings values that have been deprecated since january 2023 in agent: Deprecate --kube-proxy-replacement=partial and agent/helm: Deprecate --kpr=partial|strict|disabled and use --kpr=true|false instead, and not supported anymore since march 2024 for v1.16.0.

Quote :

Users will have enough time to update their tools. We will completely remove the options in v1.16.

From cilum release notes :

cleanup: Remove deprecated values for KPR (#31286, @sayboras)

environment

  • Kubespray version (commit): 343d680
  • Network plugin: cilium
  • Container runtime and engine: cri-o + crun
  • OS: Ubuntu Cloud 24.04 Minimal
  • Ansible: 2.16.9
  • Python: 3.12.3
  • Playbook: cluster.yml

what should be updated

  • value for cilium_kube_proxy_replacement: strict is changed with cilium_kube_proxy_replacement: true
  • value for cilium_kube_proxy_replacement: partial and disabled are both changed with cilium_kube_proxy_replacement: false
  • docs/CNI/cilium.md -> "Kube-proxy replacement with Cilium" paragraph
  • roles/network_plugin/cilium/templates/cilium/config.yml.j2 -> where value should be quoted to be a string, if I well understand the cilium code
  • roles/network_plugin/cilium/templates/cilium/ds.yml.j2 ->with conditionals
  • roles/kubespray-defaults/defaults/main/main.yml -> with conditionals
  • roles/network_plugin/cilium/templates/cilium-operator/deploy.yml.j2 -> with conditionals
  • roles/network_plugin/cilium/defaults/main.yml -> set default value to false
  • tests/files/packet_rockylinux9-cilium.yml and tests/files/packet_debian12-cilium-svc-proxy.yml
  • inventory/sample/group_vars/k8s_cluster/k8s-net-cilium.yml

I will try to fix it, and then if it succeeds I will sent a pull-request.

@ledroide ledroide added the kind/bug Categorizes issue or PR as related to a bug. label Aug 5, 2024
@ledroide
Copy link
Contributor Author

ledroide commented Aug 5, 2024

Thinking of breaking changes .... this will be a breaking change anyway for users that have set a value for cilium_kube_proxy_replacement in their inventory. I'm afraid there is no solution for them.

Other issue can be in replacing 3 old options disabled/partial/strict with only a boolean choice. I have no idea how to manage this.

@tico88612
Copy link
Member

We can just remind users about breaking change in the release note.

@Uncurlhalo
Copy link

Did you ever resolve this bug or was it incorporated into another release? I'm experiencing this issue

@ledroide
Copy link
Contributor Author

ledroide commented Oct 3, 2024

Did you ever resolve this bug or was it incorporated into another release? I'm experiencing this issue

@Uncurlhalo : I had no time to work on this issue, so I cannot upgrade Cilium anymore - like other Cilium fans I guess.

I have made a census of files that should be fixed to solve deprecation, see "what should be updated" in my description. Not sure it is exhaustive however, but I think my list is complete.

Please feel free to fix theses variables and documentation in your own repo fork. I'll try to help ass soon as I can.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug.
Projects
None yet
Development

No branches or pull requests

3 participants