diff --git a/cluster/common.sh b/cluster/common.sh index c916e5a1cb5..aa2e0adf774 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 b02f7846d95..6f1422ec377 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 33be3919f5c..dc81e5c277d 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 389c3157349..3e1ff05d41b 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}"