From fc04b550883aac3ce9319f9b80a35229f89e5548 Mon Sep 17 00:00:00 2001 From: Brad Erickson Date: Mon, 23 Nov 2015 19:04:40 -0800 Subject: [PATCH] Minion->Node rename: NODE_NAMES, NODE_NAME, NODE_PORT --- cluster/aws/util.sh | 14 +++++----- cluster/centos/master/scripts/apiserver.sh | 4 +-- cluster/centos/node/scripts/kubelet.sh | 4 +-- cluster/gce/upgrade.sh | 6 ++--- cluster/gce/util.sh | 20 +++++++-------- cluster/gke/util.sh | 10 ++++---- cluster/kube-util.sh | 2 +- cluster/mesos/docker/config-default.sh | 2 +- cluster/vagrant/config-default.sh | 2 +- cluster/vagrant/provision-master.sh | 4 +-- cluster/vagrant/provision-minion.sh | 8 +++--- cluster/vagrant/util.sh | 10 ++++---- cluster/vsphere/config-default.sh | 2 +- cluster/vsphere/config-test.sh | 2 +- cluster/vsphere/util.sh | 30 +++++++++++----------- docs/design/networking.md | 4 +-- hack/kube-dump.sh | 2 +- 17 files changed, 63 insertions(+), 63 deletions(-) diff --git a/cluster/aws/util.sh b/cluster/aws/util.sh index fe365f59193..1a381f63287 100755 --- a/cluster/aws/util.sh +++ b/cluster/aws/util.sh @@ -187,28 +187,28 @@ function query-running-minions () { function find-running-minions () { NODE_IDS=() - MINION_NAMES=() + NODE_NAMES=() for id in $(query-running-minions "Reservations[].Instances[].InstanceId"); do NODE_IDS+=("${id}") # We use the minion ids as the name - MINION_NAMES+=("${id}") + NODE_NAMES+=("${id}") done } function detect-minions () { find-running-minions - # This is inefficient, but we want MINION_NAMES / NODE_IDS to be ordered the same as KUBE_NODE_IP_ADDRESSES + # This is inefficient, but we want NODE_NAMES / NODE_IDS to be ordered the same as KUBE_NODE_IP_ADDRESSES KUBE_NODE_IP_ADDRESSES=() - for (( i=0; i<${#MINION_NAMES[@]}; i++)); do + for (( i=0; i<${#NODE_NAMES[@]}; i++)); do local minion_ip if [[ "${ENABLE_NODE_PUBLIC_IP}" == "true" ]]; then - minion_ip=$(get_instance_public_ip ${MINION_NAMES[$i]}) + minion_ip=$(get_instance_public_ip ${NODE_NAMES[$i]}) else - minion_ip=$(get_instance_private_ip ${MINION_NAMES[$i]}) + minion_ip=$(get_instance_private_ip ${NODE_NAMES[$i]}) fi - echo "Found minion ${i}: ${MINION_NAMES[$i]} @ ${minion_ip}" + echo "Found minion ${i}: ${NODE_NAMES[$i]} @ ${minion_ip}" KUBE_NODE_IP_ADDRESSES+=("${minion_ip}") done diff --git a/cluster/centos/master/scripts/apiserver.sh b/cluster/centos/master/scripts/apiserver.sh index aebe85964c7..abd8cbc860c 100755 --- a/cluster/centos/master/scripts/apiserver.sh +++ b/cluster/centos/master/scripts/apiserver.sh @@ -38,7 +38,7 @@ KUBE_API_ADDRESS="--address=${MASTER_ADDRESS}" KUBE_API_PORT="--port=8080" # --kubelet-port=10250: Kubelet port -MINION_PORT="--kubelet-port=10250" +NODE_PORT="--kubelet-port=10250" # --allow-privileged=false: If true, allow privileged containers. KUBE_ALLOW_PRIV="--allow-privileged=false" @@ -75,7 +75,7 @@ KUBE_APISERVER_OPTS=" \${KUBE_LOGTOSTDERR} \\ \${KUBE_ETCD_SERVERS} \\ \${KUBE_API_ADDRESS} \\ \${KUBE_API_PORT} \\ - \${MINION_PORT} \\ + \${NODE_PORT} \\ \${KUBE_ALLOW_PRIV} \\ \${KUBE_SERVICE_ADDRESSES} \\ \${KUBE_ADMISSION_CONTROL} \\ diff --git a/cluster/centos/node/scripts/kubelet.sh b/cluster/centos/node/scripts/kubelet.sh index 71d780d5433..41192390eb0 100755 --- a/cluster/centos/node/scripts/kubelet.sh +++ b/cluster/centos/node/scripts/kubelet.sh @@ -30,7 +30,7 @@ KUBE_LOG_LEVEL="--v=4" NODE_ADDRESS="--address=${NODE_ADDRESS}" # --port=10250: The port for the Kubelet to serve on. Note that "kubectl logs" will not work if you set this flag. -MINION_PORT="--port=10250" +NODE_PORT="--port=10250" # --hostname-override="": If non-empty, will use this string as identification instead of the actual hostname. NODE_HOSTNAME="--hostname-override=${NODE_ADDRESS}" @@ -49,7 +49,7 @@ EOF KUBE_PROXY_OPTS=" \${KUBE_LOGTOSTDERR} \\ \${KUBE_LOG_LEVEL} \\ \${NODE_ADDRESS} \\ - \${MINION_PORT} \\ + \${NODE_PORT} \\ \${NODE_HOSTNAME} \\ \${KUBELET_API_SERVER} \\ \${KUBE_ALLOW_PRIV} \\ diff --git a/cluster/gce/upgrade.sh b/cluster/gce/upgrade.sh index 89ad920d390..bed8a8beb9c 100755 --- a/cluster/gce/upgrade.sh +++ b/cluster/gce/upgrade.sh @@ -121,15 +121,15 @@ function prepare-upgrade() { } -# Reads kube-env metadata from first node in MINION_NAMES. +# Reads kube-env metadata from first node in NODE_NAMES. # # Assumed vars: -# MINION_NAMES +# NODE_NAMES # PROJECT # ZONE function get-node-env() { # TODO(zmerlynn): Make this more reliable with retries. - gcloud compute --project ${PROJECT} ssh --zone ${ZONE} ${MINION_NAMES[0]} --command \ + gcloud compute --project ${PROJECT} ssh --zone ${ZONE} ${NODE_NAMES[0]} --command \ "curl --fail --silent -H 'Metadata-Flavor: Google' \ 'http://metadata/computeMetadata/v1/instance/attributes/kube-env'" 2>/dev/null } diff --git a/cluster/gce/util.sh b/cluster/gce/util.sh index 9845cbb64e0..a0af03d95da 100755 --- a/cluster/gce/util.sh +++ b/cluster/gce/util.sh @@ -214,13 +214,13 @@ function upload-server-tars() { # Assumed vars: # NODE_INSTANCE_PREFIX # Vars set: -# MINION_NAMES +# NODE_NAMES function detect-minion-names { detect-project - MINION_NAMES=($(gcloud compute instance-groups managed list-instances \ + NODE_NAMES=($(gcloud compute instance-groups managed list-instances \ "${NODE_INSTANCE_PREFIX}-group" --zone "${ZONE}" --project "${PROJECT}" \ --format=yaml | grep instance: | cut -d ' ' -f 2)) - echo "MINION_NAMES=${MINION_NAMES[*]}" >&2 + echo "NODE_NAMES=${NODE_NAMES[*]}" >&2 } # Detect the information about the minions @@ -228,20 +228,20 @@ function detect-minion-names { # Assumed vars: # ZONE # Vars set: -# MINION_NAMES +# NODE_NAMES # KUBE_NODE_IP_ADDRESSES (array) function detect-minions () { detect-project detect-minion-names KUBE_NODE_IP_ADDRESSES=() - for (( i=0; i<${#MINION_NAMES[@]}; i++)); do + for (( i=0; i<${#NODE_NAMES[@]}; i++)); do local minion_ip=$(gcloud compute instances describe --project "${PROJECT}" --zone "${ZONE}" \ - "${MINION_NAMES[$i]}" --fields networkInterfaces[0].accessConfigs[0].natIP \ + "${NODE_NAMES[$i]}" --fields networkInterfaces[0].accessConfigs[0].natIP \ --format=text | awk '{ print $2 }') if [[ -z "${minion_ip-}" ]] ; then - echo "Did not find ${MINION_NAMES[$i]}" >&2 + echo "Did not find ${NODE_NAMES[$i]}" >&2 else - echo "Found ${MINION_NAMES[$i]} at ${minion_ip}" + echo "Found ${NODE_NAMES[$i]} at ${minion_ip}" KUBE_NODE_IP_ADDRESSES+=("${minion_ip}") fi done @@ -1105,8 +1105,8 @@ function kube-push { push-master - for (( i=0; i<${#MINION_NAMES[@]}; i++)); do - push-node "${MINION_NAMES[$i]}" & + for (( i=0; i<${#NODE_NAMES[@]}; i++)); do + push-node "${NODE_NAMES[$i]}" & done wait-for-jobs diff --git a/cluster/gke/util.sh b/cluster/gke/util.sh index 50feb9b860f..9a0f127f371 100755 --- a/cluster/gke/util.sh +++ b/cluster/gke/util.sh @@ -171,7 +171,7 @@ function test-setup() { detect-minions >&2 # At this point, CLUSTER_NAME should have been used, so its value is final. - MINION_TAG=$($GCLOUD compute instances describe ${MINION_NAMES[0]} --project="${PROJECT}" --zone="${ZONE}" | grep -o "gke-${CLUSTER_NAME}-.\{8\}-node" | head -1) + MINION_TAG=$($GCLOUD compute instances describe ${NODE_NAMES[0]} --project="${PROJECT}" --zone="${ZONE}" | grep -o "gke-${CLUSTER_NAME}-.\{8\}-node" | head -1) OLD_MINION_TAG="k8s-${CLUSTER_NAME}-node" # Open up port 80 & 8080 so common containers on minions can be reached. @@ -209,7 +209,7 @@ function detect-master() { # Assumed vars: # none # Vars set: -# MINION_NAMES +# NODE_NAMES function detect-minions() { echo "... in gke:detect-minions()" >&2 detect-minion-names @@ -220,16 +220,16 @@ function detect-minions() { # Assumed vars: # none # Vars set: -# MINION_NAMES +# NODE_NAMES function detect-minion-names { echo "... in gke:detect-minion-names()" >&2 detect-project detect-node-instance-group - MINION_NAMES=($(gcloud compute instance-groups managed list-instances \ + NODE_NAMES=($(gcloud compute instance-groups managed list-instances \ "${NODE_INSTANCE_GROUP}" --zone "${ZONE}" --project "${PROJECT}" \ --format=yaml | grep instance: | cut -d ' ' -f 2)) - echo "MINION_NAMES=${MINION_NAMES[*]}" + echo "NODE_NAMES=${NODE_NAMES[*]}" } # Detect instance group name generated by gke diff --git a/cluster/kube-util.sh b/cluster/kube-util.sh index 396ccccf619..d78622cd255 100644 --- a/cluster/kube-util.sh +++ b/cluster/kube-util.sh @@ -26,7 +26,7 @@ function detect-master { # Get minion names if they are not static. function detect-minion-names { - echo "MINION_NAMES: [${MINION_NAMES[*]}]" 1>&2 + echo "NODE_NAMES: [${NODE_NAMES[*]}]" 1>&2 } # Get minion IP addresses and store in KUBE_NODE_IP_ADDRESSES[] diff --git a/cluster/mesos/docker/config-default.sh b/cluster/mesos/docker/config-default.sh index ab2482d0917..2fee7df3537 100755 --- a/cluster/mesos/docker/config-default.sh +++ b/cluster/mesos/docker/config-default.sh @@ -19,7 +19,7 @@ NUM_MINIONS=${NUM_MINIONS:-2} INSTANCE_PREFIX="${INSTANCE_PREFIX:-kubernetes}" MASTER_NAME="${INSTANCE_PREFIX}-master" -MINION_NAMES=($(eval echo ${INSTANCE_PREFIX}-minion-{1..${NUM_MINIONS}})) +NODE_NAMES=($(eval echo ${INSTANCE_PREFIX}-minion-{1..${NUM_MINIONS}})) SERVICE_CLUSTER_IP_RANGE=10.10.10.0/24 diff --git a/cluster/vagrant/config-default.sh b/cluster/vagrant/config-default.sh index c0f69bc0257..86301b7b4b8 100755 --- a/cluster/vagrant/config-default.sh +++ b/cluster/vagrant/config-default.sh @@ -39,7 +39,7 @@ MASTER_CONTAINER_SUBNET="${NODE_CONTAINER_SUBNET_BASE}.0.1/24" CONTAINER_SUBNET="${NODE_CONTAINER_SUBNET_BASE}.0.0/16" for ((i=0; i < NUM_MINIONS; i++)) do NODE_IPS[$i]="${NODE_IP_BASE}$((i+3))" - MINION_NAMES[$i]="${INSTANCE_PREFIX}-minion-$((i+1))" + NODE_NAMES[$i]="${INSTANCE_PREFIX}-minion-$((i+1))" NODE_CONTAINER_SUBNETS[$i]="${NODE_CONTAINER_SUBNET_BASE}.$((i+1)).1/24" NODE_CONTAINER_ADDRS[$i]="${NODE_CONTAINER_SUBNET_BASE}.$((i+1)).1" NODE_CONTAINER_NETMASKS[$i]="255.255.255.0" diff --git a/cluster/vagrant/provision-master.sh b/cluster/vagrant/provision-master.sh index fc5176dcb9e..5a16929087b 100755 --- a/cluster/vagrant/provision-master.sh +++ b/cluster/vagrant/provision-master.sh @@ -68,8 +68,8 @@ fi # Setup hosts file to support ping by hostname to each minion in the cluster from apiserver -for (( i=0; i<${#MINION_NAMES[@]}; i++)); do - minion=${MINION_NAMES[$i]} +for (( i=0; i<${#NODE_NAMES[@]}; i++)); do + minion=${NODE_NAMES[$i]} ip=${NODE_IPS[$i]} if [ ! "$(cat /etc/hosts | grep $minion)" ]; then echo "Adding $minion to hosts file" diff --git a/cluster/vagrant/provision-minion.sh b/cluster/vagrant/provision-minion.sh index d8befaa7026..f5d2927c8cc 100755 --- a/cluster/vagrant/provision-minion.sh +++ b/cluster/vagrant/provision-minion.sh @@ -70,7 +70,7 @@ EOF # Set the host name explicitly # See: https://github.com/mitchellh/vagrant/issues/2430 -hostnamectl set-hostname ${MINION_NAME} +hostnamectl set-hostname ${NODE_NAME} if [[ "$(grep 'VERSION_ID' /etc/os-release)" =~ ^VERSION_ID=21 ]]; then # Workaround to vagrant inability to guess interface naming sequence @@ -94,11 +94,11 @@ if [ ! "$(cat /etc/hosts | grep $MASTER_NAME)" ]; then echo "Adding $MASTER_NAME to hosts file" echo "$MASTER_IP $MASTER_NAME" >> /etc/hosts fi -echo "$NODE_IP $MINION_NAME" >> /etc/hosts +echo "$NODE_IP $NODE_NAME" >> /etc/hosts # Setup hosts file to support ping by hostname to each minion in the cluster -for (( i=0; i<${#MINION_NAMES[@]}; i++)); do - minion=${MINION_NAMES[$i]} +for (( i=0; i<${#NODE_NAMES[@]}; i++)); do + minion=${NODE_NAMES[$i]} ip=${NODE_IPS[$i]} if [ ! "$(cat /etc/hosts | grep $minion)" ]; then echo "Adding $minion to hosts file" diff --git a/cluster/vagrant/util.sh b/cluster/vagrant/util.sh index 9a6198db147..5f2464c4529 100644 --- a/cluster/vagrant/util.sh +++ b/cluster/vagrant/util.sh @@ -124,7 +124,7 @@ function create-provision-scripts { echo "INSTANCE_PREFIX='${INSTANCE_PREFIX}'" echo "MASTER_NAME='${INSTANCE_PREFIX}-master'" echo "MASTER_IP='${MASTER_IP}'" - echo "MINION_NAMES=(${MINION_NAMES[@]})" + echo "NODE_NAMES=(${NODE_NAMES[@]})" echo "NODE_IPS=(${NODE_IPS[@]})" echo "NODE_IP='${MASTER_IP}'" echo "CONTAINER_SUBNET='${CONTAINER_SUBNET}'" @@ -163,13 +163,13 @@ function create-provision-scripts { awk '!/^#/' "${KUBE_ROOT}/cluster/vagrant/provision-master.sh" ) > "${KUBE_TEMP}/master-start.sh" - for (( i=0; i<${#MINION_NAMES[@]}; i++)); do + for (( i=0; i<${#NODE_NAMES[@]}; i++)); do ( echo "#! /bin/bash" echo "MASTER_NAME='${MASTER_NAME}'" echo "MASTER_IP='${MASTER_IP}'" - echo "MINION_NAMES=(${MINION_NAMES[@]})" - echo "MINION_NAME=(${MINION_NAMES[$i]})" + echo "NODE_NAMES=(${NODE_NAMES[@]})" + echo "NODE_NAME=(${NODE_NAMES[$i]})" echo "NODE_IPS=(${NODE_IPS[@]})" echo "NODE_IP='${NODE_IPS[$i]}'" echo "NODE_ID='$i'" @@ -222,7 +222,7 @@ function verify-cluster { # verify each minion has all required daemons local i - for (( i=0; i<${#MINION_NAMES[@]}; i++)); do + for (( i=0; i<${#NODE_NAMES[@]}; i++)); do echo "Validating ${VAGRANT_NODE_NAMES[$i]}" local machine=${VAGRANT_NODE_NAMES[$i]} local -a required_daemon=("salt-minion" "kubelet" "docker") diff --git a/cluster/vsphere/config-default.sh b/cluster/vsphere/config-default.sh index 43cfbc224f0..fb981598f29 100755 --- a/cluster/vsphere/config-default.sh +++ b/cluster/vsphere/config-default.sh @@ -26,7 +26,7 @@ MASTER_NAME="${INSTANCE_PREFIX}-master" MASTER_MEMORY_MB=1024 MASTER_CPU=1 -MINION_NAMES=($(eval echo ${INSTANCE_PREFIX}-minion-{1..${NUM_MINIONS}})) +NODE_NAMES=($(eval echo ${INSTANCE_PREFIX}-minion-{1..${NUM_MINIONS}})) NODE_IP_RANGES=($(eval echo "10.244.{1..${NUM_MINIONS}}.0/24")) NODE_MEMORY_MB=2048 NODE_CPU=1 diff --git a/cluster/vsphere/config-test.sh b/cluster/vsphere/config-test.sh index 39ca55d7233..18bedebc9b5 100755 --- a/cluster/vsphere/config-test.sh +++ b/cluster/vsphere/config-test.sh @@ -26,7 +26,7 @@ MASTER_NAME="${INSTANCE_PREFIX}-master" MASTER_MEMORY_MB=1024 MASTER_CPU=1 -MINION_NAMES=($(eval echo ${INSTANCE_PREFIX}-minion-{1..${NUM_MINIONS}})) +NODE_NAMES=($(eval echo ${INSTANCE_PREFIX}-minion-{1..${NUM_MINIONS}})) NODE_IP_RANGES=($(eval echo "10.244.{1..${NUM_MINIONS}}.0/24")) NODE_MEMORY_MB=1024 NODE_CPU=1 diff --git a/cluster/vsphere/util.sh b/cluster/vsphere/util.sh index 30616366679..a003f725ba6 100755 --- a/cluster/vsphere/util.sh +++ b/cluster/vsphere/util.sh @@ -45,17 +45,17 @@ function detect-master { # Detect the information about the minions # # Assumed vars: -# MINION_NAMES +# NODE_NAMES # Vars set: # KUBE_NODE_IP_ADDRESS (array) function detect-minions { KUBE_NODE_IP_ADDRESSES=() - for (( i=0; i<${#MINION_NAMES[@]}; i++)); do - local minion_ip=$(govc vm.ip ${MINION_NAMES[$i]}) + for (( i=0; i<${#NODE_NAMES[@]}; i++)); do + local minion_ip=$(govc vm.ip ${NODE_NAMES[$i]}) if [[ -z "${minion_ip-}" ]] ; then - echo "Did not find ${MINION_NAMES[$i]}" >&2 + echo "Did not find ${NODE_NAMES[$i]}" >&2 else - echo "Found ${MINION_NAMES[$i]} at ${minion_ip}" + echo "Found ${NODE_NAMES[$i]} at ${minion_ip}" KUBE_NODE_IP_ADDRESSES+=("${minion_ip}") fi done @@ -266,10 +266,10 @@ function kube-up { echo "Starting minion VMs (this can take a minute)..." - for (( i=0; i<${#MINION_NAMES[@]}; i++)); do + for (( i=0; i<${#NODE_NAMES[@]}; i++)); do ( echo "#! /bin/bash" - echo "readonly MY_NAME=${MINION_NAMES[$i]}" + echo "readonly MY_NAME=${NODE_NAMES[$i]}" grep -v "^#" "${KUBE_ROOT}/cluster/vsphere/templates/hostname.sh" echo "KUBE_MASTER=${KUBE_MASTER}" echo "KUBE_MASTER_IP=${KUBE_MASTER_IP}" @@ -278,8 +278,8 @@ function kube-up { ) > "${KUBE_TEMP}/minion-start-${i}.sh" ( - kube-up-vm "${MINION_NAMES[$i]}" -c ${NODE_CPU-1} -m ${NODE_MEMORY_MB-1024} - kube-run "${MINION_NAMES[$i]}" "${KUBE_TEMP}/minion-start-${i}.sh" + kube-up-vm "${NODE_NAMES[$i]}" -c ${NODE_CPU-1} -m ${NODE_MEMORY_MB-1024} + kube-run "${NODE_NAMES[$i]}" "${KUBE_TEMP}/minion-start-${i}.sh" ) & done @@ -312,8 +312,8 @@ function kube-up { printf " OK\n" local i - for (( i=0; i<${#MINION_NAMES[@]}; i++)); do - printf "Waiting for ${MINION_NAMES[$i]} to become available..." + for (( i=0; i<${#NODE_NAMES[@]}; i++)); do + printf "Waiting for ${NODE_NAMES[$i]} to become available..." until curl --max-time 5 \ --fail --output /dev/null --silent "http://${KUBE_NODE_IP_ADDRESSES[$i]}:10250/healthz"; do printf "." @@ -347,10 +347,10 @@ function kube-up { # Basic sanity checking local i - for (( i=0; i<${#MINION_NAMES[@]}; i++)); do + for (( i=0; i<${#NODE_NAMES[@]}; i++)); do # Make sure docker is installed kube-ssh "${KUBE_NODE_IP_ADDRESSES[$i]}" which docker > /dev/null || { - echo "Docker failed to install on ${MINION_NAMES[$i]}. Your cluster is unlikely" >&2 + echo "Docker failed to install on ${NODE_NAMES[$i]}. Your cluster is unlikely" >&2 echo "to work correctly. Please run ./cluster/kube-down.sh and re-create the" >&2 echo "cluster. (sorry!)" >&2 exit 1 @@ -372,8 +372,8 @@ function kube-up { function kube-down { govc vm.destroy ${MASTER_NAME} & - for (( i=0; i<${#MINION_NAMES[@]}; i++)); do - govc vm.destroy ${MINION_NAMES[i]} & + for (( i=0; i<${#NODE_NAMES[@]}; i++)); do + govc vm.destroy ${NODE_NAMES[i]} & done wait diff --git a/docs/design/networking.md b/docs/design/networking.md index 3259a83a67f..b110ca75ade 100644 --- a/docs/design/networking.md +++ b/docs/design/networking.md @@ -132,11 +132,11 @@ differentiate it from `docker0`) is set up outside of Docker proper. Example of GCE's advanced routing rules: ```sh -gcloud compute routes add "${MINION_NAMES[$i]}" \ +gcloud compute routes add "${NODE_NAMES[$i]}" \ --project "${PROJECT}" \ --destination-range "${NODE_IP_RANGES[$i]}" \ --network "${NETWORK}" \ - --next-hop-instance "${MINION_NAMES[$i]}" \ + --next-hop-instance "${NODE_NAMES[$i]}" \ --next-hop-instance-zone "${ZONE}" & ``` diff --git a/hack/kube-dump.sh b/hack/kube-dump.sh index fd6321db343..76cc9a5bf86 100755 --- a/hack/kube-dump.sh +++ b/hack/kube-dump.sh @@ -32,7 +32,7 @@ source "${KUBE_ROOT}/cluster/${KUBERNETES_PROVIDER}/util.sh" detect-project &> /dev/null echo "kube-dump.sh: Getting docker statuses on all nodes..." -ALL_NODES=(${MINION_NAMES[*]} ${MASTER_NAME}) +ALL_NODES=(${NODE_NAMES[*]} ${MASTER_NAME}) for NODE in ${ALL_NODES[*]}; do echo "kube-dump.sh: Node $NODE:" ssh-to-node "${NODE}" '