k3s/pkg
Kubernetes Submit Queue 4faf7f1f4c Merge pull request #46663 from nicksardo/gce-internallb
Automatic merge from submit-queue (batch tested with PRs 46550, 46663, 46816, 46820, 46460)

[GCE] Support internal load balancers

**What this PR does / why we need it**:
Allows users to expose K8s services externally of the K8s cluster but within their GCP network. 

Fixes #33483

**Important User Notes:**
- This is a beta feature. ILB could be enabled differently in the future. 
- Requires nodes having version 1.7.0+ (ILB requires health checking and a health check endpoint on kube-proxy has just been exposed)
- This cannot be used for intra-cluster communication. Do not call the load balancer IP from a K8s node/pod.  
- There is no reservation system for private IPs. You can specify a RFC 1918 address in `loadBalancerIP` field, but it could be lost to another VM or LB if service settings are modified.
- If you're running an ingress, your existing loadbalancer backend service must be using BalancingMode type `RATE` - not `UTILIZATION`. 
  - Option 1: With a 1.5.8+ or 1.6.4+ version master, delete all your ingresses, and re-create them.
  - Option 2: Migrate to a new cluster running 1.7.0. Considering ILB requires nodes with 1.7.0, this isn't a bad idea.
  - Option 3: Possible migration opportunity, but use at your own risk. More to come later.


**Reviewer Notes**:
Several files were renamed, so github thinks ~2k lines have changed. Review commits one-by-one to see the actual changes.

**Release note**:
```release-note
Support creation of GCP Internal Load Balancers from Service objects
```
2017-06-05 16:43:41 -07:00
..
api Merge pull request #46264 from Q-Lee/annotate 2017-06-03 21:16:43 -07:00
apimachinery/tests
apis Update generated autoscaling files 2017-06-05 11:21:31 -04:00
auth Add NodeIdentifier interface and default implementation 2017-05-18 16:43:41 -04:00
bootstrap/api
capabilities
client Implement DaemonSet history logic in controller 2017-06-03 00:44:23 -07:00
cloudprovider Use new kubelet apis pkg for labels 2017-06-04 10:26:33 -07:00
controller Update generated autoscaling files 2017-06-05 11:21:31 -04:00
conversion
credentialprovider
features Rotate kubelet client certificate. 2017-06-01 09:29:42 -07:00
fieldpath
fields
generated Update Bazel 2017-06-04 21:54:11 -07:00
hyperkube
kubeapiserver Merge pull request #46388 from lavalamp/whitlockjc-generic-webhook-admission 2017-06-02 23:37:42 -07:00
kubectl Merge pull request #46144 from janetkuo/kubectl-rollout-ds 2017-06-05 03:06:26 -07:00
kubelet Merge pull request #46759 from zjj2wry/kubelet 2017-06-05 06:51:25 -07:00
kubemark Group container-runtime-specific flags/options together 2017-05-30 08:10:39 -07:00
labels
master Merge pull request #46036 from deads2k/server-25-retry 2017-06-03 08:08:44 -07:00
metrics
printers Update kubectl to display HPA status conditions 2017-06-05 11:21:31 -04:00
probe Extend Iptables interface with SaveInto 2017-05-19 20:44:25 +02:00
proxy Proxy: comments around ClusterCIDR use 2017-06-01 12:36:31 -07:00
quota Moved qos to api.helpers. 2017-05-20 07:17:57 -04:00
registry Merge pull request #46716 from thockin/proxy-comments 2017-06-03 15:57:17 -07:00
routes
runtime
security Added host path whitelist to psp 2017-05-29 13:03:25 -04:00
securitycontext
serviceaccount
ssh
types
util move labels to components which own the APIs 2017-05-31 10:32:06 -04:00
version
volume Merge pull request #43852 from ailusazh/AddSuccessfulMountVolumeMsgToEvent 2017-06-05 01:46:36 -07:00
watch
BUILD Regenerate files 2017-05-28 10:11:02 -04:00
OWNERS