kubernetes/pkg/util
Kubernetes Submit Queue c52efa570d 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
```
2016-11-09 01:26:27 -08:00
..
async autogenerated 2016-10-21 17:32:32 -07:00
bandwidth autogenerated 2016-10-21 17:32:32 -07:00
cache autogenerated 2016-10-21 17:32:32 -07:00
cert Restore old apiserver cert CN 2016-11-07 06:49:49 +01:00
chmod autogenerated 2016-10-21 17:32:32 -07:00
chown autogenerated 2016-10-21 17:32:32 -07:00
clock autogenerated 2016-10-21 17:32:32 -07:00
codeinspector autogenerated 2016-10-21 17:32:32 -07:00
config Handle redirects in apiserver proxy handler 2016-11-04 12:26:24 -07:00
configz autogenerated 2016-10-21 17:32:32 -07:00
crlf autogenerated 2016-10-21 17:32:32 -07:00
dbus autogenerated 2016-10-21 17:32:32 -07:00
diff autogenerated 2016-10-21 17:32:32 -07:00
ebtables autogenerated 2016-10-21 17:32:32 -07:00
env autogenerated 2016-10-21 17:32:32 -07:00
errors autogenerated 2016-10-21 17:32:32 -07:00
exec autogenerated 2016-10-21 17:32:32 -07:00
flag autogenerated 2016-10-21 17:32:32 -07:00
flock autogenerated 2016-10-21 17:32:32 -07:00
flowcontrol Create simple version of ratelimit package 2016-10-30 20:55:03 -04:00
flushwriter autogenerated 2016-10-21 17:32:32 -07:00
framer autogenerated 2016-10-21 17:32:32 -07:00
goroutinemap autogenerated 2016-10-21 17:32:32 -07:00
hash autogenerated 2016-10-21 17:32:32 -07:00
homedir autogenerated 2016-10-21 17:32:32 -07:00
httpstream autogenerated 2016-10-21 17:32:32 -07:00
initsystem autogenerated 2016-10-21 17:32:32 -07:00
integer autogenerated 2016-10-21 17:32:32 -07:00
interrupt autogenerated 2016-10-21 17:32:32 -07:00
intstr autogenerated 2016-10-21 17:32:32 -07:00
io autogenerated 2016-10-21 17:32:32 -07:00
iptables autogenerated 2016-10-21 17:32:32 -07:00
json autogenerated 2016-10-21 17:32:32 -07:00
jsonpath autogenerated 2016-10-21 17:32:32 -07:00
keymutex autogenerated 2016-10-21 17:32:32 -07:00
labels autogenerated 2016-10-21 17:32:32 -07:00
limitwriter autogenerated 2016-10-21 17:32:32 -07:00
logs autogenerated 2016-10-21 17:32:32 -07:00
maps autogenerated 2016-10-21 17:32:32 -07:00
metrics autogenerated 2016-10-21 17:32:32 -07:00
mount Revert "Revert "Merge pull request #35821 from vishh/gci-mounter-scope"" 2016-11-08 11:09:10 -08:00
net autogenerated 2016-10-21 17:32:32 -07:00
netsh Fixed copyright headers. 2016-11-07 09:18:07 +00:00
node Set reason and message on Pod during nodecontroller eviction 2016-11-03 13:47:03 -07:00
oom autogenerated 2016-10-21 17:32:32 -07:00
parsers autogenerated 2016-10-21 17:32:32 -07:00
pod include multiple versions in clientset 2016-10-29 13:30:47 -07:00
procfs fix tests by declaring testdata 2016-10-21 17:32:32 -07:00
proxy autogenerated 2016-10-21 17:32:32 -07:00
rand autogenerated 2016-10-21 17:32:32 -07:00
ratelimit Create simple version of ratelimit package 2016-10-30 20:55:03 -04:00
replicaset include multiple versions in clientset 2016-10-29 13:30:47 -07:00
resourcecontainer autogenerated 2016-10-21 17:32:32 -07:00
rlimit autogenerated 2016-10-21 17:32:32 -07:00
runtime autogenerated 2016-10-21 17:32:32 -07:00
selinux Refactor pkg/util/selinux 2016-10-26 09:38:03 -04:00
sets bazel: implement set-gen as a bazel genrule 2016-10-27 15:16:30 -07:00
slice autogenerated 2016-10-21 17:32:32 -07:00
strategicpatch autogenerated 2016-10-21 17:32:32 -07:00
strings Correct the article in generated documents 2016-10-31 09:46:29 +10:00
sysctl autogenerated 2016-10-21 17:32:32 -07:00
system Updated check if a node is master. 2016-11-04 11:29:49 +01:00
term autogenerated 2016-10-21 17:32:32 -07:00
testing Replica set/rc controller changes for Conditions 2016-11-02 10:30:09 +01:00
threading autogenerated 2016-10-21 17:32:32 -07:00
uuid autogenerated 2016-10-21 17:32:32 -07:00
validation update port validation message 2016-11-03 10:19:11 -04:00
wait [Federation][init-06] Check for the availability of federation API server's service loadbalancer address before waiting. 2016-11-04 00:12:11 -07:00
workqueue Create simple version of ratelimit package 2016-10-30 20:55:03 -04:00
wsstream autogenerated 2016-10-21 17:32:32 -07:00
yaml autogenerated 2016-10-21 17:32:32 -07:00
BUILD autogenerated 2016-10-21 17:32:32 -07:00
doc.go Use Go canonical import paths 2016-07-16 13:48:21 -04:00
template.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
template_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
trace.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
trie.go Make Kubernetes OpenAPI operation IDs unique 2016-10-12 14:54:12 -07:00
umask.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
umask_windows.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
util.go kubelet: storage: don't hang kubelet on unresponsive nfs 2016-10-18 08:45:40 -05:00
util_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00