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,17 +1957,24 @@ 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
if [[ -n "${SCHEDULING_ALGORITHM_PROVIDER:-}" ]]; then
params+=" --algorithm-provider=${SCHEDULING_ALGORITHM_PROVIDER}" # Scheduler Component Config takes precedence over some flags.
fi if [[ -n "${KUBE_SCHEDULER_CONFIG:-}" ]]; then
if [[ -n "${SCHEDULER_POLICY_CONFIG:-}" ]]; then create-kube-scheduler-config
create-kubescheduler-policy-config params+=" --config=/etc/srv/kubernetes/kube-scheduler/config"
params+=" --use-legacy-policy-config" else
params+=" --policy-config-file=/etc/srv/kubernetes/kube-scheduler/policy-config" params+=" --kubeconfig=/etc/srv/kubernetes/kube-scheduler/kubeconfig"
if [[ -n "${SCHEDULING_ALGORITHM_PROVIDER:-}" ]]; then
params+=" --algorithm-provider=${SCHEDULING_ALGORITHM_PROVIDER}"
fi
if [[ -n "${SCHEDULER_POLICY_CONFIG:-}" ]]; then
create-kubescheduler-policy-config
params+=" --use-legacy-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}")"