diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh index 5c5460632c3..f766dbd8c49 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -576,6 +576,13 @@ function create-master-pki { SERVICEACCOUNT_KEY="${MASTER_KEY}" fi + if [[ -n "${OLD_MASTER_CERT:-}" && -n "${OLD_MASTER_KEY:-}" ]]; then + OLD_MASTER_CERT_PATH="${pki_dir}/oldapiserver.crt" + echo "${OLD_MASTER_CERT}" | base64 --decode > "${OLD_MASTER_CERT_PATH}" + OLD_MASTER_KEY_PATH="${pki_dir}/oldapiserver.key" + echo "${OLD_MASTER_KEY}" | base64 --decode > "${OLD_MASTER_KEY_PATH}" + fi + SERVICEACCOUNT_CERT_PATH="${pki_dir}/serviceaccount.crt" write-pki-data "${SERVICEACCOUNT_CERT}" "${SERVICEACCOUNT_CERT_PATH}" diff --git a/cluster/gce/gci/configure-kubeapiserver.sh b/cluster/gce/gci/configure-kubeapiserver.sh index eb10ee76537..94d665e84ae 100644 --- a/cluster/gce/gci/configure-kubeapiserver.sh +++ b/cluster/gce/gci/configure-kubeapiserver.sh @@ -82,6 +82,13 @@ function start-kube-apiserver { fi params+=" --tls-cert-file=${APISERVER_SERVER_CERT_PATH}" params+=" --tls-private-key-file=${APISERVER_SERVER_KEY_PATH}" + if [[ -n "${OLD_MASTER_IP:-}" ]]; then + local old_ips="${OLD_MASTER_IP}" + if [[ -n "${OLD_LOAD_BALANCER_IP}" ]]; then + old_ips+=",${OLD_LOAD_BALANCER_IP}" + fi + params+=" --tls-sni-cert-key=${OLD_MASTER_CERT_PATH},${OLD_MASTER_KEY_PATH}:${old_ips}" + fi params+=" --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname" if [[ -s "${REQUESTHEADER_CA_CERT_PATH:-}" ]]; then params+=" --requestheader-client-ca-file=${REQUESTHEADER_CA_CERT_PATH}"