From 94e73826a2c21e968804706b1955aea239220a1a Mon Sep 17 00:00:00 2001 From: wangpengfei <274878379@qq.com> Date: 星期一, 05 六月 2023 16:38:19 +0800 Subject: [PATCH] fix --- src/util/util.go | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-) diff --git a/src/util/util.go b/src/util/util.go index f396fcd..cb8dc2c 100644 --- a/src/util/util.go +++ b/src/util/util.go @@ -3,9 +3,13 @@ import ( "context" "crypto/tls" + "flag" "fmt" + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/tools/clientcmd" "net/http" "os" + "path/filepath" "time" "golang.org/x/crypto/ssh" @@ -145,3 +149,26 @@ fmt.Println("kubectl has been installed on the remote server.") return nil } + +var kubeConfig *string + +func GetClient() (*kubernetes.Clientset, error) { + // 閰嶇疆 Kubernetes 闆嗙兢鐨� kubeconfig 璺緞 + if kubeConfig == nil { + kubeConfig = flag.String("kubeconfig", filepath.Join(HomeDir(), ".kube", "config"), "kubeconfig file") + flag.Parse() + } + + // 鍒涘缓 Kubernetes 瀹㈡埛绔� + config, err := clientcmd.BuildConfigFromFlags("", *kubeConfig) + if err != nil { + panic(err.Error()) + } + + clientset, err := kubernetes.NewForConfig(config) + if err != nil { + panic(err.Error()) + } + + return clientset, nil +} -- Gitblit v1.8.0