• Kubernetes Submit Queue's avatar
    Merge pull request #46663 from nicksardo/gce-internallb · 4faf7f1f
    Kubernetes Submit Queue authored
    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
    ```
    4faf7f1f
Name
Last commit
Last update
..
autoscaling Loading commit data...
chaosmonkey Loading commit data...
cluster-logging Loading commit data...
common Loading commit data...
extension Loading commit data...
framework Loading commit data...
generated Loading commit data...
perf Loading commit data...
perftype Loading commit data...
scheduling Loading commit data...
storage Loading commit data...
testing-manifests Loading commit data...
upgrades Loading commit data...
BUILD Loading commit data...
README.md Loading commit data...
addon_update.go Loading commit data...
apparmor.go Loading commit data...
audit.go Loading commit data...
cadvisor.go Loading commit data...
certificates.go Loading commit data...
cluster_upgrade.go Loading commit data...
cronjob.go Loading commit data...
daemon_restart.go Loading commit data...
daemon_set.go Loading commit data...
dashboard.go Loading commit data...
deployment.go Loading commit data...
disruption.go Loading commit data...
dns.go Loading commit data...
dns_common.go Loading commit data...
dns_configmap.go Loading commit data...
e2e-example-config.json Loading commit data...
e2e.go Loading commit data...
e2e_test.go Loading commit data...
empty.go Loading commit data...
empty_dir_wrapper.go Loading commit data...
etcd_failure.go Loading commit data...
events.go Loading commit data...
example_cluster_dns.go Loading commit data...
examples.go Loading commit data...
firewall.go Loading commit data...
garbage_collector.go Loading commit data...
generated_clientset.go Loading commit data...
gke_local_ssd.go Loading commit data...
gke_node_pools.go Loading commit data...
ha_master.go Loading commit data...
ingress.go Loading commit data...
initial_resources.go Loading commit data...
job.go Loading commit data...
kibana_logging.go Loading commit data...
kube_proxy.go Loading commit data...
kubectl.go Loading commit data...
kubelet.go Loading commit data...
kubelet_perf.go Loading commit data...
limit_range.go Loading commit data...
logging_soak.go Loading commit data...
metrics_grabber_test.go Loading commit data...
monitoring.go Loading commit data...
namespace.go Loading commit data...
network_partition.go Loading commit data...
network_policy.go Loading commit data...
networking.go Loading commit data...
networking_perf.go Loading commit data...
no-snat.go Loading commit data...
nodeoutofdisk.go Loading commit data...
nvidia-gpus.go Loading commit data...
pod_gc.go Loading commit data...
podpreset.go Loading commit data...
pods.go Loading commit data...
portforward.go Loading commit data...
pre_stop.go Loading commit data...
proxy.go Loading commit data...
rc.go Loading commit data...
reboot.go Loading commit data...
replica_set.go Loading commit data...
resize_nodes.go Loading commit data...
resource_quota.go Loading commit data...
restart.go Loading commit data...
security_context.go Loading commit data...
service.go Loading commit data...
service_accounts.go Loading commit data...
service_latency.go Loading commit data...
serviceloadbalancers.go Loading commit data...
ssh.go Loading commit data...
stackdriver_monitoring.go Loading commit data...
statefulset.go Loading commit data...
taints_test.go Loading commit data...
third-party.go Loading commit data...
ubernetes_lite.go Loading commit data...
util_iperf.go Loading commit data...