From 633c2379132a29ba0beb79cc70cbdc5221478dc2 Mon Sep 17 00:00:00 2001 From: Jerzy Szczepkowski Date: Mon, 7 Nov 2016 10:21:07 +0100 Subject: [PATCH] Change master to advertise external IP in kubernetes service. Change master to advertise external IP in kubernetes service. In effect, in HA mode in case of multiple masters, IP of external load balancer will be advertise in kubernetes service. --- cluster/common.sh | 1 + cluster/gce/gci/configure-helper.sh | 2 ++ cluster/gce/trusty/configure-helper.sh | 2 ++ cluster/gce/util.sh | 1 + 4 files changed, 6 insertions(+) diff --git a/cluster/common.sh b/cluster/common.sh index c916e5a1cb..aa2e0adf77 100755 --- a/cluster/common.sh +++ b/cluster/common.sh @@ -701,6 +701,7 @@ MANIFEST_URL_HEADER: $(yaml-quote ${MANIFEST_URL_HEADER:-}) NUM_NODES: $(yaml-quote ${NUM_NODES}) STORAGE_BACKEND: $(yaml-quote ${STORAGE_BACKEND:-etcd2}) ENABLE_GARBAGE_COLLECTOR: $(yaml-quote ${ENABLE_GARBAGE_COLLECTOR:-}) +MASTER_ADVERTISE_ADDRESS: $(yaml-quote ${MASTER_ADVERTISE_ADDRESS:-}) EOF # ETCD_IMAGE (if set) allows to use a custom etcd image. if [ -n "${ETCD_IMAGE:-}" ]; then diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh index b02f7846d9..6f1422ec37 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -777,6 +777,8 @@ function start-kube-apiserver { params+=" --advertise-address=${vm_external_ip}" params+=" --ssh-user=${PROXY_SSH_USER}" params+=" --ssh-keyfile=/etc/srv/sshproxy/.sshkeyfile" + else [ -n "${MASTER_ADVERTISE_ADDRESS:-}" ] + params="${params} --advertise-address=${MASTER_ADVERTISE_ADDRESS}" fi local webhook_authn_config_mount="" diff --git a/cluster/gce/trusty/configure-helper.sh b/cluster/gce/trusty/configure-helper.sh index 33be3919f5..dc81e5c277 100644 --- a/cluster/gce/trusty/configure-helper.sh +++ b/cluster/gce/trusty/configure-helper.sh @@ -603,6 +603,8 @@ start_kube_apiserver() { params="${params} --advertise-address=${vm_external_ip}" params="${params} --ssh-user=${PROXY_SSH_USER}" params="${params} --ssh-keyfile=/etc/srv/sshproxy/.sshkeyfile" + else [ -n "${MASTER_ADVERTISE_ADDRESS:-}" ] + params="${params} --advertise-address=${MASTER_ADVERTISE_ADDRESS}" fi readonly kube_apiserver_docker_tag=$(cat /home/kubernetes/kube-docker-files/kube-apiserver.docker_tag) diff --git a/cluster/gce/util.sh b/cluster/gce/util.sh index 389c315734..3e1ff05d41 100755 --- a/cluster/gce/util.sh +++ b/cluster/gce/util.sh @@ -782,6 +782,7 @@ function create-master() { fi KUBERNETES_MASTER_NAME="${MASTER_RESERVED_IP}" + MASTER_ADVERTISE_ADDRESS="${MASTER_RESERVED_IP}" create-certs "${MASTER_RESERVED_IP}"