Add KubeSchedulerConfiguration for k8s 1.19 and up (#7351)

* Add KubeSchedulerConfiguration for k8s 1.19 and up

With release of version 1.19.0 of kubernetes KubeSchedulerConfiguration
was graduated to beta. It allows to extend different stages of
scheduling with profiles. Such effect is achieved by using plugins and
extensions.

This patch adds KubeSchedulerConfiguration for versions 1.19 and later.
Configuration is set to k8s defaults or to kubespray vars. Moving those
defaults to new vars will be done in following patch.

Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>

* KubeSchedulerConfiguration: add defaults

Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
This commit is contained in:
Maciej Wereski
2021-04-06 09:35:35 +02:00
committed by GitHub
parent be278f9dba
commit 771a5e26bb
5 changed files with 76 additions and 8 deletions

View File

@@ -327,8 +327,12 @@ controllerManager:
scheduler:
extraArgs:
bind-address: {{ kube_scheduler_bind_address }}
{% if kube_version is version('v1.19.0', '>=') %}
config: {{ kube_config_dir }}/kubescheduler-config.yaml
{% else %}
leader-elect-lease-duration: {{ kube_scheduler_leader_elect_lease_duration }}
leader-elect-renew-deadline: {{ kube_scheduler_leader_elect_renew_deadline }}
{% endif %}
{% if kube_feature_gates %}
feature-gates: {{ kube_feature_gates|join(',') }}
{% endif %}
@@ -344,8 +348,14 @@ scheduler:
tls-cipher-suites: {% for tls in tls_cipher_suites %}{{ tls }}{{ "," if not loop.last else "" }}{% endfor %}
{% endif %}
{% if scheduler_extra_volumes %}
{% if scheduler_extra_volumes or kube_version is version('v1.19.0', '>=') %}
extraVolumes:
{% if kube_version is version('v.1.19.0', '>=') %}
- name: kubescheduler-config
hostPath: {{ kube_config_dir }}/kubescheduler-config.yaml
mountPath: {{ kube_config_dir }}/kubescheduler-config.yaml
readOnly: true
{% endif %}
{% for volume in scheduler_extra_volumes %}
- name: {{ volume.name }}
hostPath: {{ volume.hostPath }}