diff --git a/cluster/common.sh b/cluster/common.sh index 27b0ab4d00..01c1817440 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 aab4ae4410..54677e5838 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -783,6 +783,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 2fd19dc649..720f2a6fb2 100644 --- a/cluster/gce/trusty/configure-helper.sh +++ b/cluster/gce/trusty/configure-helper.sh @@ -607,6 +607,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 672b6ecb1e..7ba767b0d7 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}"