diff --git a/cluster/gce/config-default.sh b/cluster/gce/config-default.sh index 308d5ab83eb..6f8a590e567 100755 --- a/cluster/gce/config-default.sh +++ b/cluster/gce/config-default.sh @@ -559,3 +559,6 @@ export ETCD_PROGRESS_NOTIFY_INTERVAL="${ETCD_PROGRESS_NOTIFY_INTERVAL:-10m}" # It improves container image pull performance since most time is spent # unzipping the image layers to disk. export WINDOWS_ENABLE_PIGZ="${WINDOWS_ENABLE_PIGZ:-true}" + +# TLS_CIPHER_SUITES defines cipher suites allowed to be used by kube-apiserver. If this variable is unset or empty, kube-apiserver is allowed to use any cipher it supports. +export TLS_CIPHER_SUITES="" diff --git a/cluster/gce/config-test.sh b/cluster/gce/config-test.sh index 7a7b28a7d66..538dad29879 100755 --- a/cluster/gce/config-test.sh +++ b/cluster/gce/config-test.sh @@ -595,3 +595,6 @@ export ETCD_PROGRESS_NOTIFY_INTERVAL="${ETCD_PROGRESS_NOTIFY_INTERVAL:-10m}" # It improves container image pull performance since most time is spent # unzipping the image layers to disk. export WINDOWS_ENABLE_PIGZ="${WINDOWS_ENABLE_PIGZ:-true}" + +# TLS_CIPHER_SUITES defines cipher suites allowed to be used by kube-apiserver. If this variable is unset or empty, kube-apiserver is allowed to use any cipher it supports. +export TLS_CIPHER_SUITES="" diff --git a/cluster/gce/gci/configure-kubeapiserver.sh b/cluster/gce/gci/configure-kubeapiserver.sh index 045ea62b587..eab6932e6d2 100644 --- a/cluster/gce/gci/configure-kubeapiserver.sh +++ b/cluster/gce/gci/configure-kubeapiserver.sh @@ -92,6 +92,9 @@ function start-kube-apiserver { fi params+=" --tls-sni-cert-key=${OLD_MASTER_CERT_PATH},${OLD_MASTER_KEY_PATH}:${old_ips}" fi + if [[ -n "${TLS_CIPHER_SUITES:-}" ]]; then + params+=" --tls-cipher-suites=${TLS_CIPHER_SUITES}" + 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}"