fix
修改 util Cluster
根据ClusterId 保存并读取kube config
| | |
| | | if err != nil { |
| | | log.Fatalf("Failed to get home directory: %v", err) |
| | | } |
| | | kubeconfigDir := filepath.Join(homeDir, ".kube") |
| | | kubeconfigDir := filepath.Join(homeDir, ".kube", clusterName) |
| | | err = os.MkdirAll(kubeconfigDir, 0700) |
| | | if err != nil { |
| | | log.Fatalf("Failed to create .kube directory: %v", err) |
| | |
| | | os.Exit(1) |
| | | } |
| | | |
| | | err = k8s.CreateDeploymentAndService(clientset, *createNamespace, *createDeployment, *createService) |
| | | err = k8s.CreateDeploymentAndService(k8s.Config{ |
| | | Client: clientset, |
| | | NameSpace: *createNamespace, |
| | | DeploymentName: *createDeployment, |
| | | ServiceName: *createService, |
| | | }) |
| | | if err != nil { |
| | | panic(err) |
| | | } |
| | |
| | | for _, ns := range namespaces { |
| | | deploymentName := ns |
| | | serviceName := ns |
| | | err := k8s.CreateDeploymentAndService(clientset, ns, deploymentName, serviceName) |
| | | err := k8s.CreateDeploymentAndService(k8s.Config{ |
| | | Client: clientset, |
| | | NameSpace: ns, |
| | | DeploymentName: deploymentName, |
| | | ServiceName: serviceName, |
| | | }) |
| | | if err != nil { |
| | | log.Printf("\033[97;41mFailed to create resources in namespace %s: %v\033[0m\n", ns, err) |
| | | } else { |
| | |
| | | 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" |
| | |
| | | return nil |
| | | } |
| | | |
| | | var kubeConfig *string |
| | | var kubeConfig string |
| | | |
| | | func GetClient() (*kubernetes.Clientset, error) { |
| | | func GetClient(cluster string) (*kubernetes.Clientset, error) { |
| | | // 配置 Kubernetes 集群的 kubeconfig 路径 |
| | | if kubeConfig == nil { |
| | | kubeConfig = flag.String("kubeconfig", filepath.Join(HomeDir(), ".kube", "config"), "kubeconfig file") |
| | | flag.Parse() |
| | | } |
| | | //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) |
| | | config, err := clientcmd.BuildConfigFromFlags("", kubeConfig) |
| | | if err != nil { |
| | | panic(err.Error()) |
| | | } |