Support kube-scheduler component-config in GCE init scripts

Taking precedence over some existing flags.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
This commit is contained in:
Aldo Culquicondor 2020-06-11 17:27:54 -04:00
parent 4ea576e4f5
commit 55242bf3c9

View File

@ -1268,6 +1268,15 @@ current-context: service-account-context
EOF EOF
} }
function create-kube-scheduler-config {
echo "Creating kube-scheduler config file"
mkdir -p /etc/srv/kubernetes/kube-scheduler
cat <<EOF >/etc/srv/kubernetes/kube-scheduler/config
${KUBE_SCHEDULER_CONFIG}
EOF
}
# TODO(#92143): Remove legacy policy config creation once kube-scheduler config is GA.
function create-kubescheduler-policy-config { function create-kubescheduler-policy-config {
echo "Creating kube-scheduler policy config file" echo "Creating kube-scheduler policy config file"
mkdir -p /etc/srv/kubernetes/kube-scheduler mkdir -p /etc/srv/kubernetes/kube-scheduler
@ -1948,10 +1957,16 @@ function start-kube-scheduler {
# Calculate variables and set them in the manifest. # Calculate variables and set them in the manifest.
params="${SCHEDULER_TEST_LOG_LEVEL:-"--v=2"} ${SCHEDULER_TEST_ARGS:-}" params="${SCHEDULER_TEST_LOG_LEVEL:-"--v=2"} ${SCHEDULER_TEST_ARGS:-}"
params+=" --kubeconfig=/etc/srv/kubernetes/kube-scheduler/kubeconfig"
if [[ -n "${FEATURE_GATES:-}" ]]; then if [[ -n "${FEATURE_GATES:-}" ]]; then
params+=" --feature-gates=${FEATURE_GATES}" params+=" --feature-gates=${FEATURE_GATES}"
fi fi
# Scheduler Component Config takes precedence over some flags.
if [[ -n "${KUBE_SCHEDULER_CONFIG:-}" ]]; then
create-kube-scheduler-config
params+=" --config=/etc/srv/kubernetes/kube-scheduler/config"
else
params+=" --kubeconfig=/etc/srv/kubernetes/kube-scheduler/kubeconfig"
if [[ -n "${SCHEDULING_ALGORITHM_PROVIDER:-}" ]]; then if [[ -n "${SCHEDULING_ALGORITHM_PROVIDER:-}" ]]; then
params+=" --algorithm-provider=${SCHEDULING_ALGORITHM_PROVIDER}" params+=" --algorithm-provider=${SCHEDULING_ALGORITHM_PROVIDER}"
fi fi
@ -1960,6 +1975,7 @@ function start-kube-scheduler {
params+=" --use-legacy-policy-config" params+=" --use-legacy-policy-config"
params+=" --policy-config-file=/etc/srv/kubernetes/kube-scheduler/policy-config" params+=" --policy-config-file=/etc/srv/kubernetes/kube-scheduler/policy-config"
fi fi
fi
params="$(convert-manifest-params "${params}")" params="$(convert-manifest-params "${params}")"
local -r kube_scheduler_docker_tag=$(cat "${KUBE_HOME}/kube-docker-files/kube-scheduler.docker_tag") local -r kube_scheduler_docker_tag=$(cat "${KUBE_HOME}/kube-docker-files/kube-scheduler.docker_tag")