From afbe1898e746575eb700a3b68ff08333c4d94e3d Mon Sep 17 00:00:00 2001 From: Maciej Borsz Date: Wed, 7 Aug 2019 13:36:58 +0200 Subject: [PATCH] Few improvements to cloud nat --- cluster/gce/config-default.sh | 1 + cluster/gce/config-test.sh | 1 + cluster/gce/util.sh | 16 +++++++--------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cluster/gce/config-default.sh b/cluster/gce/config-default.sh index 410e14b9f06..cfcf99152bd 100755 --- a/cluster/gce/config-default.sh +++ b/cluster/gce/config-default.sh @@ -496,6 +496,7 @@ WINDOWS_NODE_TAINTS="${WINDOWS_NODE_TAINTS:-node.kubernetes.io/os=win1809:NoSche # Whether to set up a private GCE cluster, i.e. a cluster where nodes have only private IPs. GCE_PRIVATE_CLUSTER="${KUBE_GCE_PRIVATE_CLUSTER:-false}" +GCE_PRIVATE_CLUSTER_PORTS_PER_VM="${KUBE_GCE_PRIVATE_CLUSTER_PORTS_PER_VM:-}" # Optional: Create apiserver konnectivity server and agent. ENABLE_EGRESS_VIA_KONNECTIVITY_SERVICE="${KUBE_ENABLE_EGRESS_VIA_KONNECTIVITY_SERVICE:-false}" diff --git a/cluster/gce/config-test.sh b/cluster/gce/config-test.sh index 0bb2ef6fa34..0c19d4c2730 100755 --- a/cluster/gce/config-test.sh +++ b/cluster/gce/config-test.sh @@ -537,6 +537,7 @@ WINDOWS_NODE_TAINTS="${WINDOWS_NODE_TAINTS:-node.kubernetes.io/os=win1809:NoSche # Whether to set up a private GCE cluster, i.e. a cluster where nodes have only private IPs. GCE_PRIVATE_CLUSTER="${KUBE_GCE_PRIVATE_CLUSTER:-false}" +GCE_PRIVATE_CLUSTER_PORTS_PER_VM="${KUBE_GCE_PRIVATE_CLUSTER_PORTS_PER_VM:-}" ETCD_LISTEN_CLIENT_IP=0.0.0.0 diff --git a/cluster/gce/util.sh b/cluster/gce/util.sh index 09aced7e6ff..a6eccc46e55 100755 --- a/cluster/gce/util.sh +++ b/cluster/gce/util.sh @@ -2495,6 +2495,10 @@ function detect-subnetworks() { # NETWORK function create-cloud-nat-router() { if [[ ${GCE_PRIVATE_CLUSTER:-} == "true" ]]; then + if gcloud compute routers describe "$NETWORK-nat-router" --project $NETWORK_PROJECT --region $REGION &>/dev/null; then + echo "Cloud nat already exists" + return 0 + fi gcloud compute routers create "$NETWORK-nat-router" \ --project $NETWORK_PROJECT \ --region $REGION \ @@ -2503,8 +2507,9 @@ function create-cloud-nat-router() { --project $NETWORK_PROJECT \ --router-region $REGION \ --router "$NETWORK-nat-router" \ - --nat-all-subnet-ip-ranges \ - --auto-allocate-nat-external-ips + --nat-primary-subnet-ip-ranges \ + --auto-allocate-nat-external-ips \ + ${GCE_PRIVATE_CLUSTER_PORTS_PER_VM:+--min-ports-per-vm ${GCE_PRIVATE_CLUSTER_PORTS_PER_VM}} fi } @@ -3843,13 +3848,6 @@ function check-resources() { return 1 fi - if [[ ${GCE_PRIVATE_CLUSTER:-} == "true" ]]; then - if gcloud compute routers describe --project "${NETWORK_PROJECT}" --region "${REGION}" "${NETWORK}-nat-router" &>/dev/null; then - KUBE_RESOURCE_FOUND="Cloud NAT router" - return 1 - fi - fi - # No resources found. return 0 }