Skip to content

Make kube-proxy ipset parameters 'hashSize' and 'maxElem' customizable #129389

Closed
@weak-fox

Description

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 adjusting hashSize 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)

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.sig/networkCategorizes an issue or PR as relevant to SIG Network.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions