Merge pull request #36079 from apprenda/windows_kube_proxy

Automatic merge from submit-queue

Add Windows support to kube-proxy

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**:
This is the first stab at supporting kube-proxy (userspace mode) on Windows

**Which issue this PR fixes** : 
fixes #30278

**Special notes for your reviewer**:
The MVP uses `netsh portproxy` to redirect traffic from `ServiceIP:ServicePort` to a `LocalIP:LocalPort`. 
For the next version we are expecting to have guidance from Microsoft Container Networking team.

**Limitations**:
Current implementation does not support DNS queries over UDP as `netsh portproxy` currently only supports TCP. We are working with Microsoft to remediate this.

cc: @brendandburns @dcbw 

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
```
This commit is contained in:
Kubernetes Submit Queue
2016-11-09 01:26:27 -08:00
committed by GitHub
19 changed files with 3662 additions and 16 deletions

View File

@@ -676,6 +676,7 @@ k8s.io/kubernetes/pkg/proxy/config,ixdy,1
k8s.io/kubernetes/pkg/proxy/healthcheck,ghodss,1
k8s.io/kubernetes/pkg/proxy/iptables,freehan,0
k8s.io/kubernetes/pkg/proxy/userspace,luxas,1
k8s.io/kubernetes/pkg/proxy/winuserspace,jbhurat,0
k8s.io/kubernetes/pkg/quota,sttts,1
k8s.io/kubernetes/pkg/quota/evaluator/core,yifan-gu,1
k8s.io/kubernetes/pkg/registry/apps/petset,kevin-wangzefeng,1
1 name owner auto-assigned
676 k8s.io/kubernetes/pkg/proxy/healthcheck ghodss 1
677 k8s.io/kubernetes/pkg/proxy/iptables freehan 0
678 k8s.io/kubernetes/pkg/proxy/userspace luxas 1
679 k8s.io/kubernetes/pkg/proxy/winuserspace jbhurat 0
680 k8s.io/kubernetes/pkg/quota sttts 1
681 k8s.io/kubernetes/pkg/quota/evaluator/core yifan-gu 1
682 k8s.io/kubernetes/pkg/registry/apps/petset kevin-wangzefeng 1