zhangqian
2024-01-12 fea217048591823280a888b6c26f68558e51dded
src/util/util.go
@@ -4,6 +4,8 @@
   "context"
   "crypto/tls"
   "fmt"
   "k8s.io/client-go/kubernetes"
   "k8s.io/client-go/tools/clientcmd"
   "net/http"
   "os"
   "time"
@@ -107,10 +109,10 @@
   }
   // 安装Docker
   installCommand := "sudo curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh"
   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 +147,28 @@
   fmt.Println("kubectl has been installed on the remote server.")
   return nil
}
var kubeConfig string
func GetClient(cluster string) (*kubernetes.Clientset, error) {
   // 配置 Kubernetes 集群的 kubeconfig 路径
   //if kubeConfig == nil {
   //   kubeConfig = flag.String("kubeconfig", filepath.Join(HomeDir(), ".kube", cluster, "config"), "kubeconfig file")
   //   flag.Parse()
   //}
   kubeConfig = fmt.Sprintf("%s/.kube/%s/config", HomeDir(), cluster)
   // 创建 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
}