-
Couldn't load subscription status.
- Fork 8
feat: enable Cilium source IP preservation #1295
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
charts/cluster-api-runtime-extensions-nutanix/addons/cni/cilium/values-template.yaml
Show resolved
Hide resolved
|
I wonder if we can add a test that checks that source IP is actually being preserved with this configuration? |
charts/cluster-api-runtime-extensions-nutanix/addons/cni/cilium/values-template.yaml
Outdated
Show resolved
Hide resolved
charts/cluster-api-runtime-extensions-nutanix/addons/cni/cilium/values-template.yaml
Outdated
Show resolved
Hide resolved
|
Here is the diff of the ConfigMap used by Cilium after applying kube-proxy replacement Tested this with: Notice how the client IP changes after enabling: |
+1 |
@jimmidyson @yanhua121 please see #1304, I will rebase and extend the test in this PR after the other changes are merged. |
charts/cluster-api-runtime-extensions-nutanix/addons/cni/cilium/values-template.yaml
Outdated
Show resolved
Hide resolved
33ab351 to
a9998c3
Compare
3d343fe to
f5f4bb9
Compare
**What problem does this PR solve?**: Make the migration process from kube-proxy to Cilium's kube-proxy replacement more resilient. Just setting `kubeProxyReplacement: true` is not enough for the Cilium operator to restart the DaemonSet Pods and pickup the new configuration. Instead of relying on `k8sServiceHost` to cause a rollout, this change forces a rollout during the migration process. This also fixes a potential race where the Cilium DaemonSet wait returned early and delete kube-proxy before all the Pods were restarted. Another fix here is that this whole migration process is now safer and only done once when kube-proxy is installed. Pulled out from #1295 **Which issue(s) this PR fixes**: Fixes # **How Has This Been Tested?**: <!-- Please describe the tests that you ran to verify your changes. Provide output from the tests and any manual steps needed to replicate the tests. --> **Special notes for your reviewer**: <!-- Use this to provide any additional information to the reviewers. This may include: - Best way to review the PR. - Where the author wants the most review attention on. - etc. --> --------- Co-authored-by: Jimmi Dyson <jimmidyson@gmail.com>
f5f4bb9 to
0edbe03
Compare
0edbe03 to
cd63f74
Compare
This reverts commit 8163ca5.
🤖 I have created a release *beep* *boop* --- ## 0.35.0 (2025-10-02) <!-- Release notes generated using configuration in .github/release.yaml at main --> ## What's Changed ### Exciting New Features 🎉 * feat: enable Cilium source IP preservation by @dkoshkin in #1295 * feat: update capa with nutanix fork by @faiq in #1329 * feat: additionalTags handlers for AWS and EKS by @dkoshkin in #1333 ### Fixes 🔧 * fix: use nodeadm mutations by @faiq in #1332 ### Other Changes * build: downgrade clusterctl version by @dkoshkin in #1330 **Full Changelog**: v0.34.0...v0.35.0 --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
**What problem does this PR solve?**: Make the migration process from kube-proxy to Cilium's kube-proxy replacement more resilient. Just setting `kubeProxyReplacement: true` is not enough for the Cilium operator to restart the DaemonSet Pods and pickup the new configuration. Instead of relying on `k8sServiceHost` to cause a rollout, this change forces a rollout during the migration process. This also fixes a potential race where the Cilium DaemonSet wait returned early and delete kube-proxy before all the Pods were restarted. Another fix here is that this whole migration process is now safer and only done once when kube-proxy is installed. Pulled out from #1295 **Which issue(s) this PR fixes**: Fixes # **How Has This Been Tested?**: <!-- Please describe the tests that you ran to verify your changes. Provide output from the tests and any manual steps needed to replicate the tests. --> **Special notes for your reviewer**: <!-- Use this to provide any additional information to the reviewers. This may include: - Best way to review the PR. - Where the author wants the most review attention on. - etc. --> --------- Co-authored-by: Jimmi Dyson <jimmidyson@gmail.com>
**What problem does this PR solve?**: Set Cilium's configuration to preserve source IPs from external connections. See https://docs.cilium.io/en/stable/network/kubernetes/kubeproxy-free/#client-source-ip-preservation **Which issue(s) this PR fixes**: Fixes # **How Has This Been Tested?**: <!-- Please describe the tests that you ran to verify your changes. Provide output from the tests and any manual steps needed to replicate the tests. --> **Special notes for your reviewer**: <!-- Use this to provide any additional information to the reviewers. This may include: - Best way to review the PR. - Where the author wants the most review attention on. - etc. -->
🤖 I have created a release *beep* *boop* --- ## 0.35.0 (2025-10-02) <!-- Release notes generated using configuration in .github/release.yaml at main --> ## What's Changed ### Exciting New Features 🎉 * feat: enable Cilium source IP preservation by @dkoshkin in #1295 * feat: update capa with nutanix fork by @faiq in #1329 * feat: additionalTags handlers for AWS and EKS by @dkoshkin in #1333 ### Fixes 🔧 * fix: use nodeadm mutations by @faiq in #1332 ### Other Changes * build: downgrade clusterctl version by @dkoshkin in #1330 **Full Changelog**: v0.34.0...v0.35.0 --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
What problem does this PR solve?:
Set Cilium's configuration to preserve source IPs from external connections. See https://docs.cilium.io/en/stable/network/kubernetes/kubeproxy-free/#client-source-ip-preservation
Which issue(s) this PR fixes:
Fixes #
How Has This Been Tested?:
Special notes for your reviewer: