From 5a55a2a9fe07ce9a9664d2d4fe4bb9436116f57b Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期六, 03 六月 2023 10:15:49 +0800
Subject: [PATCH] fix getClient
---
src/util/util.go | 31 +++++++++++++++++++++++++++++--
1 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/src/util/util.go b/src/util/util.go
index a26d5d8..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"
@@ -107,10 +111,10 @@
}
// 瀹夎Docker
- installCommand := "sudo curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh && sudo systemctl restart docker"
+ installCommand := "sudo curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh && sudo systemctl start docker && sudo systemctl enable docker"
_, err = SSHExec(nodeIP, sshUsername, sshPassword, installCommand, sshPort)
if err != nil {
- return fmt.Errorf("failed to install Docker on the remote server: %v", err)
+ return fmt.Errorf("failed to install Docker on the remote server:%v %v", nodeIP, err)
}
fmt.Println("Docker has been installed on the remote server.")
@@ -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