From fa2acd8e330344d9d17ff778a7a48c1d09ab74be Mon Sep 17 00:00:00 2001 From: cheliequan <liequanche@126.com> Date: 星期二, 30 五月 2023 15:42:02 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/aps_deploy --- src/main/main.go | 152 +++++++++++++++++++++++++++++++++----------------- 1 files changed, 99 insertions(+), 53 deletions(-) diff --git a/src/main/main.go b/src/main/main.go index 11f948f..dce6324 100644 --- a/src/main/main.go +++ b/src/main/main.go @@ -15,6 +15,8 @@ "k8s.io/client-go/tools/clientcmd" "basic.com/aps/aps_deploy.git/src/k8s" + + "github.com/spf13/viper" ) var ( @@ -68,35 +70,7 @@ os.Exit(0) } -func cluster_test() { - clusterName := "kubernetus" - nodes := []Node{ - { - ClusterName: clusterName, - Roles: []string{"etcd", "controlplane", "worker"}, - IP: "192.168.20.189", - SSHUsername: "basic", - SSHPassword: "123", - SSHPort: 22, - }, - { - ClusterName: clusterName, - Roles: []string{"worker"}, - IP: "192.168.20.10", - SSHUsername: "basic", - SSHPassword: "123", - SSHPort: 22, - }, - { - ClusterName: clusterName, - Roles: []string{"worker"}, - IP: "192.168.20.115", - SSHUsername: "basic", - SSHPassword: "alien123", - SSHPort: 22, - }, - // Add more nodes here if needed - } +func cluster_test(clusterName string,nodes []Node,rancherConfig rancher.RancherConfig) { // Create the cluster // Rancher configuration @@ -104,11 +78,6 @@ RancherURL: "https://192.168.20.119:8443", BearerToken: "token-nnrsc:w68zdt8s47fnpjd5xqdl5hhzpz4j2d56kt5nx49nsswcbpdzc28kh5", }*/ - - rancherConfig := rancher.RancherConfig{ - RancherURL: "https://192.168.20.189:8443", - BearerToken: "token-t4cdf:h7zhmbvbzdvd9mmjw8zmt8rh4m7rl5gtqpqljlhl9tlr2z26j9lf4l", - } // Deploy clusterId clusterID, err := cluster.GetClusterID(rancherConfig.RancherURL, rancherConfig.BearerToken, clusterName) @@ -191,30 +160,35 @@ os.Exit(1) } - // 閰嶇疆 Kubernetes 闆嗙兢鐨� kubeconfig 璺緞 - kubeconfig := flag.String("kubeconfig", filepath.Join(util.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()) + if rancherInstallCmd.Parsed() { + rancher_install_test() + os.Exit(1) } // 鎵ц create 鍛戒护 if createCmd.Parsed() { + // 閰嶇疆 Kubernetes 闆嗙兢鐨� kubeconfig 璺緞 + kubeconfig := flag.String("kubeconfig", filepath.Join(util.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()) + } + if *createNamespace == "" || *createDeployment == "" || *createService == "" { fmt.Println("Namespace, Deployment, and Service names are required") createCmd.PrintDefaults() os.Exit(1) } - err := k8s.CreateDeploymentAndService(clientset, *createNamespace, *createDeployment, *createService) + err = k8s.CreateDeploymentAndService(clientset, *createNamespace, *createDeployment, *createService) if err != nil { panic(err) } @@ -229,13 +203,28 @@ // 鎵ц delete 鍛戒护 if deleteCmd.Parsed() { + // 閰嶇疆 Kubernetes 闆嗙兢鐨� kubeconfig 璺緞 + kubeconfig := flag.String("kubeconfig", filepath.Join(util.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()) + } + if *deleteNamespace == "" || *deleteDeployment == "" || *deleteService == "" { fmt.Println("Namespace, Deployment, and Service names are required") deleteCmd.PrintDefaults() os.Exit(1) } - err := k8s.DeleteResources(clientset, *deleteNamespace, *deleteDeployment, *deleteService) + err = k8s.DeleteResources(clientset, *deleteNamespace, *deleteDeployment, *deleteService) if err != nil { panic(err) } @@ -245,6 +234,21 @@ // 鎵ц鍒涘缓鍜屽垹闄ゆ祴璇� if testCmd.Parsed() { + // 閰嶇疆 Kubernetes 闆嗙兢鐨� kubeconfig 璺緞 + kubeconfig := flag.String("kubeconfig", filepath.Join(util.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()) + } + fmt.Println("\033[97;40mRunning create and delete tests...\033[0m") // 鍒涘缓娴嬭瘯 @@ -284,11 +288,53 @@ } if clusterCmd.Parsed() { - cluster_test() - } + // 鍒濆鍖栭厤缃В鏋愬簱 + viper.SetConfigName("config") + viper.SetConfigType("yaml") + viper.AddConfigPath("./config") - if rancherInstallCmd.Parsed() { - rancher_install_test() + // 璇诲彇閰嶇疆鏂囦欢 + err := viper.ReadInConfig() + if err != nil { + log.Fatalf("Failed to read config file: %v", err) + } + + // 瑙f瀽閰嶇疆鏂囦欢涓殑瀛楁 + var rancherConfig rancher.RancherConfig + err = viper.Unmarshal(&rancherConfig) + if err != nil { + log.Fatalf("Failed to unmarshal config: %v", err) + } + clusterName := "kubernetus" + nodes := []Node{ + { + ClusterName: clusterName, + Roles: []string{"worker"}, + IP: "192.168.20.189", + SSHUsername: "basic", + SSHPassword: "123", + SSHPort: 22, + }, + { + ClusterName: clusterName, + Roles: []string{"etcd", "worker"}, + IP: "192.168.20.10", + SSHUsername: "basic", + SSHPassword: "123", + SSHPort: 22, + }, + { + ClusterName: clusterName, + Roles: []string{"etcd", "controlplane","worker"}, + IP: "192.168.20.115", + SSHUsername: "basic", + SSHPassword: "alien123", + SSHPort: 22, + }, + // Add more nodes here if needed + } + + cluster_test(clusterName, nodes, rancherConfig) } } -- Gitblit v1.8.0