From 5f10c284c8cdee9be507d61e87257866cba18b87 Mon Sep 17 00:00:00 2001 From: Maciej Borsz Date: Wed, 5 Jun 2019 13:09:18 +0200 Subject: [PATCH] Modify kube-up to support cluster without nodes. --- cluster/gce/config-default.sh | 4 ++++ cluster/gce/config-test.sh | 4 ++++ cluster/gce/util.sh | 8 +++++--- cluster/validate-cluster.sh | 6 +++++- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/cluster/gce/config-default.sh b/cluster/gce/config-default.sh index d38723996e2..6446bfe9daa 100755 --- a/cluster/gce/config-default.sh +++ b/cluster/gce/config-default.sh @@ -41,6 +41,10 @@ NODE_LOCAL_SSDS=${NODE_LOCAL_SSDS:-0} NODE_LABELS="${KUBE_NODE_LABELS:-}" WINDOWS_NODE_LABELS="${WINDOWS_NODE_LABELS:-}" +# KUBE_CREATE_NODES can be used to avoid creating nodes, while master will be sized for NUM_NODES nodes. +# Firewalls and node templates are still created. +KUBE_CREATE_NODES="${KUBE_CREATE_NODES:-true}" + # An extension to local SSDs allowing users to specify block/fs and SCSI/NVMe devices # Format of this variable will be "#,scsi/nvme,block/fs" you can specify multiple # configurations by separating them by a semi-colon ex. "2,scsi,fs;1,nvme,block" diff --git a/cluster/gce/config-test.sh b/cluster/gce/config-test.sh index b2ce6d5703a..739c9e31508 100755 --- a/cluster/gce/config-test.sh +++ b/cluster/gce/config-test.sh @@ -41,6 +41,10 @@ NODE_LOCAL_SSDS=${NODE_LOCAL_SSDS:-0} NODE_LABELS="${KUBE_NODE_LABELS:-}" WINDOWS_NODE_LABELS="${WINDOWS_NODE_LABELS:-}" +# KUBE_CREATE_NODES can be used to avoid creating nodes, while master will be sized for NUM_NODES nodes. +# Firewalls and node templates are still created. +KUBE_CREATE_NODES="${KUBE_CREATE_NODES:-true}" + # An extension to local SSDs allowing users to specify block/fs and SCSI/NVMe devices # Format of this variable will be "#,scsi/nvme,block/fs" you can specify multiple # configurations by separating them by a semi-colon ex. "2,scsi,fs;1,nvme,block" diff --git a/cluster/gce/util.sh b/cluster/gce/util.sh index 7983467f146..5f72c5d2d59 100755 --- a/cluster/gce/util.sh +++ b/cluster/gce/util.sh @@ -2134,9 +2134,11 @@ function kube-up() { create-master create-nodes-firewall create-nodes-template - # Windows nodes take longer to boot and setup so create them first. - create-windows-nodes - create-linux-nodes + if [[ "${KUBE_CREATE_NODES}" == "true" ]]; then + # Windows nodes take longer to boot and setup so create them first. + create-windows-nodes + create-linux-nodes + fi check-cluster fi } diff --git a/cluster/validate-cluster.sh b/cluster/validate-cluster.sh index a2848149e73..9b851135b1f 100755 --- a/cluster/validate-cluster.sh +++ b/cluster/validate-cluster.sh @@ -51,7 +51,11 @@ ALLOWED_NOTREADY_NODES="${ALLOWED_NOTREADY_NODES:-0}" CLUSTER_READY_ADDITIONAL_TIME_SECONDS="${CLUSTER_READY_ADDITIONAL_TIME_SECONDS:-30}" if [[ "${KUBERNETES_PROVIDER:-}" == "gce" ]]; then - EXPECTED_NUM_NODES="$(get-num-nodes)" + if [[ "${KUBE_CREATE_NODES}" == "true" ]]; then + EXPECTED_NUM_NODES="$(get-num-nodes)" + else + EXPECTED_NUM_NODES="0" + fi echo "Validating gce cluster, MULTIZONE=${MULTIZONE:-}" # In multizone mode we need to add instances for all nodes in the region. if [[ "${MULTIZONE:-}" == "true" ]]; then