@@ -51,13 +51,14 @@ import (
5151)
5252
5353const (
54- kubeProxyKey = "kube-proxy"
55- kubeadmConfigKey = "kubeadm-config"
56- kubeletConfigKey = "kubelet"
57- cgroupDriverKey = "cgroupDriver"
58- labelNodeRoleControlPlane = "node-role.kubernetes.io/master"
59- clusterStatusKey = "ClusterStatus"
60- clusterConfigurationKey = "ClusterConfiguration"
54+ kubeProxyKey = "kube-proxy"
55+ kubeadmConfigKey = "kubeadm-config"
56+ kubeletConfigKey = "kubelet"
57+ cgroupDriverKey = "cgroupDriver"
58+ labelNodeRoleOldControlPlane = "node-role.kubernetes.io/master" // Deprecated: https://github.com/kubernetes/kubeadm/issues/2200
59+ labelNodeRoleControlPlane = "node-role.kubernetes.io/control-plane"
60+ clusterStatusKey = "ClusterStatus"
61+ clusterConfigurationKey = "ClusterConfiguration"
6162)
6263
6364var (
@@ -121,16 +122,28 @@ type Workload struct {
121122var _ WorkloadCluster = & Workload {}
122123
123124func (w * Workload ) getControlPlaneNodes (ctx context.Context ) (* corev1.NodeList , error ) {
124- nodes := & corev1.NodeList {}
125- labels := map [string ]string {
126- labelNodeRoleControlPlane : "" ,
127- }
128- if err := w .Client .List (ctx , nodes , ctrlclient .MatchingLabels (labels )); err != nil {
125+ allNodes := & corev1.NodeList {}
126+ if err := w .Client .List (ctx , allNodes ); err != nil {
129127 return nil , err
130128 }
129+
130+ nodes := & corev1.NodeList {}
131+ for i := range allNodes .Items {
132+ node := allNodes .Items [i ]
133+ if isControlPlaneNode (node ) {
134+ nodes .Items = append (nodes .Items , node )
135+ }
136+ }
137+
131138 return nodes , nil
132139}
133140
141+ func isControlPlaneNode (node corev1.Node ) bool {
142+ _ , hasLabelNodeRoleControlPlane := node .Labels [labelNodeRoleControlPlane ]
143+ _ , hasLabelNodeRoleOldControlPlane := node .Labels [labelNodeRoleOldControlPlane ]
144+ return hasLabelNodeRoleControlPlane || hasLabelNodeRoleOldControlPlane
145+ }
146+
134147func (w * Workload ) getConfigMap (ctx context.Context , configMap ctrlclient.ObjectKey ) (* corev1.ConfigMap , error ) {
135148 original := & corev1.ConfigMap {}
136149 if err := w .Client .Get (ctx , configMap , original ); err != nil {
0 commit comments