Skip to content

Commit 23e870e

Browse files
committed
Filled out missing PRR section and misc updates
Signed-off-by: Mark Rossetti <[email protected]>
1 parent 890cc22 commit 23e870e

File tree

3 files changed

+33
-9
lines changed

3 files changed

+33
-9
lines changed

keps/prod-readiness/sig-windows/5100.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ kep-number: 5100
55
alpha:
66
approver: ""
77
beta:
8-
approver: "@TBD"
8+
approver: "@soltysh"

keps/sig-windows/5100-windows-dsr-and-overlay-support/README.md

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,15 @@ checklist items _must_ be updated for the enhancement to be released.
133133

134134
Items marked with (R) are required *prior to targeting to a milestone / release*.
135135

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)
140140
- [ ] e2e Tests for all Beta API Operations (endpoints)
141141
- [ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
142142
- [ ] (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)
145145
- [ ] (R) Production readiness review completed
146146
- [ ] (R) Production readiness review approved
147147
- [ ] "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
394394
https://storage.googleapis.com/k8s-triage/index.html
395395
-->
396396

397-
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.
398399

399400
##### e2e tests
400401

@@ -669,6 +670,17 @@ are missing a bunch of machinery and tooling and can't do that now.
669670

670671
For DSR support yes, manual verification was done to ensure that DSR can be enabled and disabled on a node.
671672

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+
672684
###### Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.?
673685

674686
<!--
@@ -898,6 +910,8 @@ details). For now, we leave it here.
898910

899911
###### How does this feature react if the API server and/or etcd is unavailable?
900912

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+
901915
###### What are other known failure modes?
902916

903917
<!--
@@ -913,6 +927,8 @@ For each of them, fill in the following information by copying the below templat
913927
- Testing: Are there any tests for failure mode? If not, describe why.
914928
-->
915929

930+
We have not observed any additional failure modes with DSR or overlay networking mode support on Windows nodes.
931+
916932
###### What steps should be taken if SLOs are not being met to determine the problem?
917933

918934
## Implementation History
@@ -928,12 +944,18 @@ Major milestones might include:
928944
- when the KEP was retired or superseded
929945
-->
930946

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+
931950
## Drawbacks
932951

933952
<!--
934953
Why should this KEP _not_ be implemented?
935954
-->
936955

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+
937959
## Alternatives
938960

939961
<!--
@@ -942,6 +964,8 @@ not need to be as detailed as the proposal, but should include enough
942964
information to express the idea and why it was not acceptable.
943965
-->
944966

967+
This functionality has already merged into k/k so other alternatives have not been considered.
968+
945969
## Infrastructure Needed (Optional)
946970

947971
<!--

keps/sig-windows/5100-windows-dsr-and-overlay-support/kep.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ authors:
44
- "@marosset"
55
owning-sig: sig-windows
66
participating-sigs:
7-
- sig-netowkr
7+
- sig-network
88
status: implementable
99
creation-date: 2025-01-28
1010
reviewers:

0 commit comments

Comments
 (0)