From 9dc14488e38d8de91b33d02d5778462a9b4c20a5 Mon Sep 17 00:00:00 2001 From: Vishnu kannan Date: Mon, 10 Sep 2018 14:50:42 -0700 Subject: [PATCH] 1. Do not set Accelerator Node labels on master node in GCE k8s clusters 2. Do not set Preemptible node label on master node unless the master node is explicitly set to be preemptible. Signed-off-by: Vishnu kannan --- cluster/gce/config-default.sh | 11 +++++++---- cluster/gce/config-test.sh | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/cluster/gce/config-default.sh b/cluster/gce/config-default.sh index ebb9b9d23c1..39947eeca1a 100755 --- a/cluster/gce/config-default.sh +++ b/cluster/gce/config-default.sh @@ -55,9 +55,6 @@ NODE_LOCAL_SSDS_EXT=${NODE_LOCAL_SSDS_EXT:-} NODE_ACCELERATORS=${NODE_ACCELERATORS:-""} REGISTER_MASTER_KUBELET=${REGISTER_MASTER:-true} PREEMPTIBLE_NODE=${PREEMPTIBLE_NODE:-false} -if [[ "${PREEMPTIBLE_NODE}" == "true" ]]; then - NODE_LABELS="${NODE_LABELS},cloud.google.com/gke-preemptible=true" -fi PREEMPTIBLE_MASTER=${PREEMPTIBLE_MASTER:-false} KUBE_DELETE_NODES=${KUBE_DELETE_NODES:-true} KUBE_DELETE_NETWORK=${KUBE_DELETE_NETWORK:-} # default value calculated below @@ -177,6 +174,12 @@ HEAPSTER_MACHINE_TYPE="${HEAPSTER_MACHINE_TYPE:-}" # NON_MASTER_NODE_LABELS are labels will only be applied on non-master nodes. NON_MASTER_NODE_LABELS="${KUBE_NON_MASTER_NODE_LABELS:-}" +if [[ "${PREEMPTIBLE_MASTER}" == "true" ]]; then + NODE_LABELS="${NODE_LABELS},cloud.google.com/gke-preemptible=true" +elif [[ "${PREEMPTIBLE_NODE}" == "true" ]]; then + NON_MASTER_NODE_LABELS="${NON_MASTER_NODE_LABELS},cloud.google.com/gke-preemptible=true" +fi + # To avoid running Calico on a node that is not configured appropriately, # label each Node so that the DaemonSet can run the Pods only on ready Nodes. if [[ ${NETWORK_POLICY_PROVIDER:-} == "calico" ]]; then @@ -253,7 +256,7 @@ FEATURE_GATES="${KUBE_FEATURE_GATES:-ExperimentalCriticalPodAnnotation=true}" if [[ ! -z "${NODE_ACCELERATORS}" ]]; then FEATURE_GATES="${FEATURE_GATES},DevicePlugins=true" if [[ "${NODE_ACCELERATORS}" =~ .*type=([a-zA-Z0-9-]+).* ]]; then - NODE_LABELS="${NODE_LABELS},cloud.google.com/gke-accelerator=${BASH_REMATCH[1]}" + NON_MASTER_NODE_LABELS="${NON_MASTER_NODE_LABELS},cloud.google.com/gke-accelerator=${BASH_REMATCH[1]}" fi fi diff --git a/cluster/gce/config-test.sh b/cluster/gce/config-test.sh index b2c6f980461..53f2bfbaac6 100755 --- a/cluster/gce/config-test.sh +++ b/cluster/gce/config-test.sh @@ -55,9 +55,6 @@ REGISTER_MASTER_KUBELET=${REGISTER_MASTER:-true} KUBE_APISERVER_REQUEST_TIMEOUT=300 PREEMPTIBLE_NODE=${PREEMPTIBLE_NODE:-false} PREEMPTIBLE_MASTER=${PREEMPTIBLE_MASTER:-false} -if [[ "${PREEMPTIBLE_NODE}" == "true" ]]; then - NODE_LABELS="${NODE_LABELS},cloud.google.com/gke-preemptible=true" -fi KUBE_DELETE_NODES=${KUBE_DELETE_NODES:-true} KUBE_DELETE_NETWORK=${KUBE_DELETE_NETWORK:-true} CREATE_CUSTOM_NETWORK=${CREATE_CUSTOM_NETWORK:-false} @@ -215,6 +212,12 @@ KUBEPROXY_TEST_ARGS="${KUBEPROXY_TEST_ARGS:-} ${TEST_CLUSTER_API_CONTENT_TYPE}" # NON_MASTER_NODE_LABELS are labels will only be applied on non-master nodes. NON_MASTER_NODE_LABELS="${KUBE_NON_MASTER_NODE_LABELS:-}" +if [[ "${PREEMPTIBLE_MASTER}" == "true" ]]; then + NODE_LABELS="${NODE_LABELS},cloud.google.com/gke-preemptible=true" +elif [[ "${PREEMPTIBLE_NODE}" == "true" ]]; then + NON_MASTER_NODE_LABELS="${NON_MASTER_NODE_LABELS},cloud.google.com/gke-preemptible=true" +fi + # Optional: Enable netd. ENABLE_NETD="${KUBE_ENABLE_NETD:-false}" CUSTOM_NETD_YAML="${KUBE_CUSTOM_NETD_YAML:-}" @@ -260,7 +263,7 @@ fi if [[ ! -z "${NODE_ACCELERATORS}" ]]; then FEATURE_GATES="${FEATURE_GATES},DevicePlugins=true" if [[ "${NODE_ACCELERATORS}" =~ .*type=([a-zA-Z0-9-]+).* ]]; then - NODE_LABELS="${NODE_LABELS},cloud.google.com/gke-accelerator=${BASH_REMATCH[1]}" + NON_MASTER_NODE_LABELS="${NON_MASTER_NODE_LABELS},cloud.google.com/gke-accelerator=${BASH_REMATCH[1]}" fi fi