Add support for Cilium Bandwidth Manager and BBR#18566
Conversation
|
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Welcome @nuved! |
|
Hi @nuved. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Signed-off-by: Nimanou <support@nimanou.com>
This adds support for enabling Cilium's Bandwidth Manager and BBR congestion control directly from the kOps Cilium networking spec.
Two new fields are added to
spec.networking.cilium:enableBandwidthManager– enables Cilium's eBPF-based Bandwidth Manager, which honors thekubernetes.io/egress-bandwidthPod annotation and provides EDT-based egress rate-limiting.enableBBR– enables BBR (Bottleneck Bandwidth and Round-trip propagation time) as the TCP congestion control algorithm for pod traffic. RequiresenableBandwidthManagerand a node kernel >= 5.18. kOps also configures the node sysctls (net.core.default_qdisc=fq,net.ipv4.tcp_congestion_control=bbr).Validation rejects
enableBBRwithoutenableBandwidthManager. The fields are plumbed through all API versions (internal, v1alpha2, v1alpha3) with regenerated conversion/deepcopy code, wired into the Cilium addon template and nodeup sysctls, and documented indocs/networking/cilium.md./kind feature