From 732abe23316ec907c3316cf9aeb5e105b1d61a0b Mon Sep 17 00:00:00 2001 From: Andrew Durbin Date: Fri, 2 Jan 2026 13:35:00 -0700 Subject: [PATCH] Fix cluster join: k3s 1.34.0+k3s1 does not set master label. Master label has been deprecated since 1.20 k3s stopped setting it in 1.34.0-rc1+k3s1 PR 12395 Signed-off-by: Andrew Durbin --- pkg/pillar/cmd/zedkube/clusterstatus.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/pillar/cmd/zedkube/clusterstatus.go b/pkg/pillar/cmd/zedkube/clusterstatus.go index ad3c175bff7..8d7251a7c8a 100644 --- a/pkg/pillar/cmd/zedkube/clusterstatus.go +++ b/pkg/pillar/cmd/zedkube/clusterstatus.go @@ -320,22 +320,26 @@ func (z *zedkube) clusterStatusHTTPHandler(w http.ResponseWriter, r *http.Reques return } - var isMaster, useEtcd bool + var isControlPlane, isMaster, useEtcd bool labels := node.GetLabels() if _, ok := labels["node-role.kubernetes.io/master"]; ok { isMaster = true } + // Master label removed: https://github.com/k3s-io/k3s/pull/12395 + if controlPlaneVal, ok := labels["node-role.kubernetes.io/control-plane"]; ok { + isControlPlane = (controlPlaneVal == "true") + } if _, ok := labels["node-role.kubernetes.io/etcd"]; ok { useEtcd = true } - if isMaster && useEtcd { + if (isControlPlane || isMaster) && useEtcd { // Return cluster status with cluster UUID: cluster: clusterUUID := z.clusterConfig.ClusterID.UUID.String() fmt.Fprintf(w, "cluster:%s", clusterUUID) return } - log.Functionf("clusterStatusHTTPHandler: not master or etcd") + log.Functionf("clusterStatusHTTPHandler: not control-plane and etcd") fmt.Fprint(w, "") }