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
Adding Windows Overlay support to Kube Proxy #70896
Conversation
Hi @ksubrmnn. 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 Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions 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/test-infra repository. |
391d233
to
95a6cbb
Compare
/assign @thockin |
Can you please update the first comment in this PR to include more information? A lot more. What does this do? Pretend I don't know anything about Windows. Was there a design doc or KEP? Is it considered Alpha or Beta or GA? Where are the tests? That's a LOT of code to add with no tests. What should the release notes say about this? I can't do meaningful review of it because I really don't know what it is doing. |
38d10c3
to
f9e4a7b
Compare
f8a4f9d
to
9bc7db9
Compare
/lgtm |
/lgtm |
@thockin can you please take a look at this PR and help us get this merged? We have several follow up PRs on top of this one. |
@thockin following up from the sig/network meeting, Could you please take a look at this PR and provide your feedback or approve the PR? |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ksubrmnn, madhanrm, thockin The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
What type of PR is this?
What this PR does / why we need it:
This PR adds support in Kube-proxy for Overlay networks in Windows. Kube-Proxy currently only supports L2Bridge networks on Windows. On Windows, Host Networking Service (HNS) is responsible for ensuring network connectivity. HNS needs to be programmed in a different way for Overlay than L2Bridge.
Specifically, HNS needs additional configuration to allow Cluster IP connectivity. This is reflected in this PR by programming "service VIPs."
Currently HNS supports both DSR and non DSR for loadbalancing. This support is also reflected in this PR by adding support for both.
This PR also adds support for using HNS in V1 and V2. V2 is necessary for DSR and Overlay, but non DSR L2Bridge is supported in both.
Testing:
Basic unit tests for Kube Proxy are added in this PR to check if remote endpoints and loadbalancers are created and accounted for. More testing will follow in subsequent PRs.
Tests were also created to test HNS V1 and V2 implementations that were added in this PR.
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #
Special notes for your reviewer:
This is an Alpha feature
There is no design doc associated with this feature
Hcsshim was updated to include the RemoteSubnetPolicy API changes
Does this PR introduce a user-facing change?: