Register standalone master w/ taints (#1426)
If Kubernetes > 1.6 register standalone master nodes w/ a node-role.kubernetes.io/master=:NoSchedule taint to allow for more flexible scheduling rather than just marking unschedulable.
This commit is contained in:
parent
49a223a17d
commit
ecb6dc3679
1 changed files with 6 additions and 0 deletions
|
@ -36,8 +36,14 @@ KUBELET_HOSTNAME="--hostname-override={{ kube_override_hostname }}"
|
||||||
{% set kubelet_args_kubeconfig %}--kubeconfig={{ kube_config_dir}}/node-kubeconfig.yaml --require-kubeconfig{% endset %}
|
{% set kubelet_args_kubeconfig %}--kubeconfig={{ kube_config_dir}}/node-kubeconfig.yaml --require-kubeconfig{% endset %}
|
||||||
{% if standalone_kubelet|bool %}
|
{% if standalone_kubelet|bool %}
|
||||||
{# We are on a master-only host. Make the master unschedulable in this case. #}
|
{# We are on a master-only host. Make the master unschedulable in this case. #}
|
||||||
|
{% if kube_version | version_compare('v1.6', '>=') %}
|
||||||
|
{# Set taints on the master so that it's unschedulable by default. Use node-role.kubernetes.io/master taint like kubeadm. #}
|
||||||
|
{% set kubelet_args_kubeconfig %}{{ kubelet_args_kubeconfig }} --register-with-taints=node-role.kubernetes.io/master=:NoSchedule{% endset %}
|
||||||
|
{% else %}
|
||||||
|
{# --register-with-taints was added in 1.6 so just register unschedulable if Kubernetes < 1.6 #}
|
||||||
{% set kubelet_args_kubeconfig %}{{ kubelet_args_kubeconfig }} --register-schedulable=false{% endset %}
|
{% set kubelet_args_kubeconfig %}{{ kubelet_args_kubeconfig }} --register-schedulable=false{% endset %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{# Kubelet node labels #}
|
{# Kubelet node labels #}
|
||||||
{% if inventory_hostname in groups['kube-master'] %}
|
{% if inventory_hostname in groups['kube-master'] %}
|
||||||
|
|
Loading…
Reference in a new issue