From 09b27769ebafae5b50e8ffa132ce97dc736cd440 Mon Sep 17 00:00:00 2001 From: pixiake Date: Mon, 18 Aug 2025 15:54:40 +0800 Subject: [PATCH] refactor: consider node as master if either admin.conf or kube-apiserver.yaml exists (#2708) Signed-off-by: pixiake --- cmd/kk/pkg/kubernetes/tasks.go | 58 ++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/cmd/kk/pkg/kubernetes/tasks.go b/cmd/kk/pkg/kubernetes/tasks.go index 0f32c57d..6f75ec70 100644 --- a/cmd/kk/pkg/kubernetes/tasks.go +++ b/cmd/kk/pkg/kubernetes/tasks.go @@ -53,42 +53,46 @@ type GetClusterStatus struct { } func (g *GetClusterStatus) Execute(runtime connector.Runtime) error { - exist, err := runtime.GetRunner().FileExist("/etc/kubernetes/admin.conf") + adminConfExist, err := runtime.GetRunner().FileExist("/etc/kubernetes/admin.conf") + if err != nil { + return err + } + apiserverManifestExist, err := runtime.GetRunner().FileExist("/etc/kubernetes/manifests/kube-apiserver.yaml") if err != nil { return err } - if !exist { + if !(adminConfExist || apiserverManifestExist) { g.PipelineCache.Set(common.ClusterExist, false) return nil - } else { - g.PipelineCache.Set(common.ClusterExist, true) + } - if v, ok := g.PipelineCache.Get(common.ClusterStatus); ok { - cluster := v.(*KubernetesStatus) - if err := cluster.SearchVersion(runtime); err != nil { - return err - } - if err := cluster.SearchKubeConfig(runtime); err != nil { - return err - } - if err := cluster.LoadKubeConfig(runtime, g.KubeConf); err != nil { - return err - } - if err := cluster.SearchClusterInfo(runtime); err != nil { - return err - } - if err := cluster.SearchNodesInfo(runtime); err != nil { - return err - } - if err := cluster.SearchJoinInfo(runtime); err != nil { - return err - } + g.PipelineCache.Set(common.ClusterExist, true) - g.PipelineCache.Set(common.ClusterStatus, cluster) - } else { - return errors.New("get kubernetes cluster status by pipeline cache failed") + if v, ok := g.PipelineCache.Get(common.ClusterStatus); ok { + cluster := v.(*KubernetesStatus) + if err := cluster.SearchVersion(runtime); err != nil { + return err } + if err := cluster.SearchKubeConfig(runtime); err != nil { + return err + } + if err := cluster.LoadKubeConfig(runtime, g.KubeConf); err != nil { + return err + } + if err := cluster.SearchClusterInfo(runtime); err != nil { + return err + } + if err := cluster.SearchNodesInfo(runtime); err != nil { + return err + } + if err := cluster.SearchJoinInfo(runtime); err != nil { + return err + } + + g.PipelineCache.Set(common.ClusterStatus, cluster) + } else { + return errors.New("get kubernetes cluster status by pipeline cache failed") } return nil }