Make kube-proxy ipset parameters 'hashSize' and 'maxElem' customizable #129389
Labels
kind/feature
Categorizes issue or PR as related to a new feature.
sig/network
Categorizes an issue or PR as relevant to SIG Network.
triage/accepted
Indicates an issue or PR is ready to be actively worked on.
What would you like to be added?
Allow users to configure ipset parameters 'hashSize' and 'maxElem' in kube-proxy configuration. These parameters should be customizable via the kube-proxy config file or command line flags.
Why is this needed?
In our use case, we have multiple LAN devices that need to interact with services in the cluster via RTP media streams. Each service can have thousands of ports, and we assign an external IP for each LAN to access these services. This results in the required ipset size reaching "ports num" * "external IP num," which can exceed the default limit of 65536.When the ipset size reaches its limit, any new services added will not take effect.
By making these parameters configurable, users can adjust the size based on their specific needs, providing greater flexibility and adaptability. Additionally, when modifying
maxElem
, users should also consider adjustinghashSize
to achieve optimal performance, allowing them to balance memory usage according to their current scenario.This feature will enhance kube-proxy's scalability and performance in diverse environments.
There are also many users like us who need to expose a large number of ports:
#23864
#23864 (comment)
The text was updated successfully, but these errors were encountered: