refactor: consider node as master if either admin.conf or kube-apiserver.yaml exists (#2708)
Some checks are pending
CI / Build (push) Waiting to run
Release Drafter / update_release_draft (push) Waiting to run

Signed-off-by: pixiake <guofeng@yunify.com>
This commit is contained in:
pixiake 2025-08-18 15:54:40 +08:00 committed by GitHub
parent d7dac556c0
commit 09b27769eb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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
}