From 54207877bd0c8d432efe48555244e721e4d109a3 Mon Sep 17 00:00:00 2001
From: Matthew Mosesohn <mmosesohn@mirantis.com>
Date: Mon, 6 Mar 2017 15:51:32 +0300
Subject: [PATCH] Add node labels in kubelet

Related-issue: https://github.com/kubernetes/community/issues/300
Upgraded nodes do not obtain labels automatically.
See https://github.com/kubernetes/kubernetes/pull/29459 for more details.
---
 roles/kubernetes/node/templates/kubelet.j2 | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/roles/kubernetes/node/templates/kubelet.j2 b/roles/kubernetes/node/templates/kubelet.j2
index 10135c13f..dc0a3dced 100644
--- a/roles/kubernetes/node/templates/kubelet.j2
+++ b/roles/kubernetes/node/templates/kubelet.j2
@@ -31,7 +31,17 @@ KUBELET_HOSTNAME="--hostname-override={{ ansible_hostname }}"
 {% set kubelet_args_kubeconfig %}{{ kubelet_args_kubeconfig }} --register-schedulable=false{% endset %}
 {% endif %}
 
-KUBELET_ARGS="{{ kubelet_args_base }} {{ kubelet_args_dns }} {{ kubelet_args_kubeconfig }}"
+{# Kubelet node labels #}
+{% if inventory_hostname in groups['kube-master'] %}
+{%   set node_labels %}--node-labels=node-role.kubernetes.io/master=true{% endset %}
+{%   if not standalone_kubelet|bool %}
+{%     set node_labels %}{{ node_labels }},node-role.kubernetes.io/node=true{% endset %}
+{%   endif %}
+{% else %}
+{%   set node_labels %}--node-labels=node-role.kubernetes.io/node=true{% endset %}
+{% endif %}
+
+KUBELET_ARGS="{{ kubelet_args_base }} {{ kubelet_args_dns }} {{ kubelet_args_kubeconfig }} {{ node_labels }}"
 {% if kube_network_plugin is defined and kube_network_plugin in ["calico", "weave", "canal"] %}
 KUBELET_NETWORK_PLUGIN="--network-plugin=cni --network-plugin-dir=/etc/cni/net.d"
 {% elif kube_network_plugin is defined and kube_network_plugin == "weave" %}
-- 
GitLab