You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: keps/sig-windows/5100-windows-dsr-and-overlay-support/README.md
+31-7Lines changed: 31 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -133,15 +133,15 @@ checklist items _must_ be updated for the enhancement to be released.
133
133
134
134
Items marked with (R) are required *prior to targeting to a milestone / release*.
135
135
136
-
-[] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
137
-
-[] (R) KEP approvers have approved the KEP status as `implementable`
138
-
-[] (R) Design details are appropriately documented
139
-
-[] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
136
+
-[X] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR)
137
+
-[X] (R) KEP approvers have approved the KEP status as `implementable`
138
+
-[X] (R) Design details are appropriately documented
139
+
-[X] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
140
140
-[ ] e2e Tests for all Beta API Operations (endpoints)
141
141
-[ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
142
142
-[ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free
143
-
-[] (R) Graduation criteria is in place
144
-
-[] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
143
+
-[X] (R) Graduation criteria is in place
144
+
-[X] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
145
145
-[ ] (R) Production readiness review completed
146
146
-[ ] (R) Production readiness review approved
147
147
-[ ] "Implementation History" section is up-to-date for milestone
@@ -394,7 +394,8 @@ For Beta and GA, add links to added tests together with links to k8s-triage for
Functionality described in this KEP require Windows nodes and are primariily validated with unit and e2e tests.
397
+
Functionality described in this KEP require Windows nodes and are primarily validated with unit and e2e tests.
398
+
The Kubernetes project does not currently have support for running integration tests for Windows specific code-paths.
398
399
399
400
##### e2e tests
400
401
@@ -669,6 +670,17 @@ are missing a bunch of machinery and tooling and can't do that now.
669
670
670
671
For DSR support yes, manual verification was done to ensure that DSR can be enabled and disabled on a node.
671
672
673
+
The steps for the manual validation went as followed:
674
+
675
+
- Create a cluster with 1 Linux control plane node and 2 Windows worker nodes.
676
+
- Deployo a kube-proxy deamonSet with `--feature-gates=WinDSR=true` and `--enable-dsr=true` to Windows worker nodes.
677
+
- Deploy IIS (Internet Information Services) on both Windows work nodes and expose the service with a LoadBalancer service.
678
+
- Once the service IP became available, test that the service is from the each Windows node and outside of the cluster.
679
+
- Redeploy the kube-proxy deamonSet with `--enable-dsr=false` to Windows worker nodes.
680
+
- Wait for Kube-proxy to start and test that the service is still reachable from each Windows node and outside of the cluster.
681
+
- Redeploy the kube-proxy deamonSet with `--enable-dsr=true` to Windows worker nodes.
682
+
- Wait for Kube-proxy to start and test that the service is still reachable from each Windows node and outside of the cluster.
683
+
672
684
###### Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.?
673
685
674
686
<!--
@@ -898,6 +910,8 @@ details). For now, we leave it here.
898
910
899
911
###### How does this feature react if the API server and/or etcd is unavailable?
900
912
913
+
This feature does not change the functionality of kube-proxy or other Kubernetes components if the API server or etcd is unavailable. Kube-proxy would retain the existing behavior if the API server or etcd is unavailable, which would result in new Pod and Service endpoints not routing correctly on the nodes.
914
+
901
915
###### What are other known failure modes?
902
916
903
917
<!--
@@ -913,6 +927,8 @@ For each of them, fill in the following information by copying the below templat
913
927
- Testing: Are there any tests for failure mode? If not, describe why.
914
928
-->
915
929
930
+
We have not observed any additional failure modes with DSR or overlay networking mode support on Windows nodes.
931
+
916
932
###### What steps should be taken if SLOs are not being met to determine the problem?
917
933
918
934
## Implementation History
@@ -928,12 +944,18 @@ Major milestones might include:
928
944
- when the KEP was retired or superseded
929
945
-->
930
946
947
+
-**2019-02-20** - DSR and overlay networking mode support added to Windows kube-proxy (k/k PR [#70896](https://github.com/kubernetes/kubernetes/pull/70896)
948
+
-**2025-01-28** - [KEP #5100](https://github.com/kubernetes/enhancements/issues/5100) created to document the changes made to Windows kube-proxy to support DSR and overlay networking mode support and provide a path for promoting these features to GA.
949
+
931
950
## Drawbacks
932
951
933
952
<!--
934
953
Why should this KEP _not_ be implemented?
935
954
-->
936
955
956
+
The functionally described in this KEP is already implemented and used by various cloud providers so there are no drawbacks to not implementing it.
957
+
The drawbacks for not progressing the features to GA are that this functionality may get removed from kube-proxy in the future which would result in Windows not being able to support some CNI solutions (Calico networking with network policy support) and not being able to take advantage of DSR performance optimizations.
958
+
937
959
## Alternatives
938
960
939
961
<!--
@@ -942,6 +964,8 @@ not need to be as detailed as the proposal, but should include enough
942
964
information to express the idea and why it was not acceptable.
943
965
-->
944
966
967
+
This functionality has already merged into k/k so other alternatives have not been considered.
0 commit comments