From ae1fefcf99a264c52ef4762bb2b59648932b28b0 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期一, 08 一月 2024 19:11:10 +0800 Subject: [PATCH] update --- src/main/main.go | 131 ++++++++++++++++++++++++++++++------------- 1 files changed, 90 insertions(+), 41 deletions(-) diff --git a/src/main/main.go b/src/main/main.go index db889ec..c1d9ea2 100644 --- a/src/main/main.go +++ b/src/main/main.go @@ -20,14 +20,14 @@ ) var ( - replicas int32 = 3 + replicas int32 = 1 port int32 = 9081 usedNodePorts = make(map[int32]bool) - namespaces = []string{"guangsheng", "geruimi", "tongsheng"} + namespaces = []string{"testFactory1", "testFactory2", "testFactory3"} ) func rancher_install_test(node rancher.Node) { -/* nodes := []Node{ + /* nodes := []Node{ { Roles: []string{"etcd", "controlplane", "worker"}, IP: "192.168.20.189", @@ -61,7 +61,7 @@ os.Exit(0) } -func cluster_test(clusterName string,rancherClusterConfig rancher.RancherClusterConfig) { +func cluster_test(clusterName string, rancherClusterConfig rancher.RancherClusterConfig) { // Create the cluster // Rancher configuration @@ -70,14 +70,14 @@ BearerToken: "token-nnrsc:w68zdt8s47fnpjd5xqdl5hhzpz4j2d56kt5nx49nsswcbpdzc28kh5", }*/ - fmt.Println(rancherClusterConfig) - fmt.Println(rancherClusterConfig.RancherURL) - fmt.Println(rancherClusterConfig.BearerToken) + fmt.Println(rancherClusterConfig) + fmt.Println(rancherClusterConfig.RancherURL) + fmt.Println(rancherClusterConfig.BearerToken) // Deploy clusterId clusterID, err := cluster.GetClusterID(rancherClusterConfig.RancherURL, rancherClusterConfig.BearerToken, clusterName) if err != nil { fmt.Printf("Cluster not found: %s %v\n", clusterName, err) - err = cluster.CreateCluster(rancherClusterConfig, clusterName) + _, err = cluster.CreateCluster(rancherClusterConfig, clusterName) if err != nil { log.Fatalf("Failed to create cluster: %v", err) } @@ -127,8 +127,9 @@ createNamespace := createCmd.String("ns", "", "Namespace name") createDeployment := createCmd.String("deployment", "", "Deployment name") + fmt.Println(createDeployment) createService := createCmd.String("service", "", "Service name") - + fmt.Println(createService) deleteNamespace := deleteCmd.String("ns", "", "Namespace name") deleteDeployment := deleteCmd.String("deployment", "", "Deployment name") deleteService := deleteCmd.String("service", "", "Service name") @@ -155,32 +156,45 @@ } if rancherInstallCmd.Parsed() { - // 鍒濆鍖栭厤缃В鏋愬簱 - viper.SetConfigName("config") - viper.SetConfigType("yaml") - viper.AddConfigPath("./config") - - // 璇诲彇閰嶇疆鏂囦欢 - err := viper.ReadInConfig() - if err != nil { - log.Fatalf("Failed to read config file: %v", err) - } + //// 鍒濆鍖栭厤缃В鏋愬簱 + //viper.SetConfigName("config") + //viper.SetConfigType("yaml") + //viper.AddConfigPath("./config") + // + //// 璇诲彇閰嶇疆鏂囦欢 + //err := viper.ReadInConfig() + //if err != nil { + // log.Fatalf("Failed to read config file: %v", err) + //} // 瑙f瀽閰嶇疆鏂囦欢涓殑瀛楁 - var rancherClusterConfig rancher.RancherClusterConfig - err = viper.Unmarshal(&rancherClusterConfig) - if err != nil { - log.Fatalf("Failed to unmarshal config: %v", err) + var rancherClusterConfig rancher.RancherClusterConfig + //err = viper.Unmarshal(&rancherClusterConfig) + //if err != nil { + // log.Fatalf("Failed to unmarshal config: %v", err) + //} + + rancherClusterConfig.Nodes = make([]rancher.Node, 3) + rancherClusterConfig.Nodes[0] = rancher.Node{ + Roles: []string{"worker"}, + IP: "192.168.20.119", + SSHUsername: "basic", + SSHPassword: "basic2021", + SSHPort: 22, } + rancher_install_test(rancherClusterConfig.Nodes[0]) os.Exit(1) } // 鎵ц create 鍛戒护 if createCmd.Parsed() { + // 閰嶇疆 Kubernetes 闆嗙兢鐨� kubeconfig 璺緞 kubeconfig := flag.String("kubeconfig", filepath.Join(util.HomeDir(), ".kube", "config"), "kubeconfig file") flag.Parse() + + fmt.Println(&kubeconfig) // 鍒涘缓 Kubernetes 瀹㈡埛绔� config, err := clientcmd.BuildConfigFromFlags("", *kubeconfig) @@ -188,23 +202,38 @@ panic(err.Error()) } + fmt.Println(&config) + clientset, err := kubernetes.NewForConfig(config) if err != nil { panic(err.Error()) } - if *createNamespace == "" || *createDeployment == "" || *createService == "" { + if *createNamespace == "" { fmt.Println("Namespace, Deployment, and Service names are required") createCmd.PrintDefaults() os.Exit(1) } - err = k8s.CreateDeploymentAndService(clientset, *createNamespace, *createDeployment, *createService) + err = k8s.CreateNamespace(clientset, *createNamespace) if err != nil { panic(err) } + for _, proj := range k8s.Projects { + obj := k8s.GetCreateObj(proj) + err = obj.CreateDeploymentAndService(k8s.Config{ + Client: clientset, + NameSpace: *createNamespace, + DeploymentName: proj, + ServiceName: proj, + Image: "fai365.com:9088/aps/aps", + }, nil) + if err != nil { + panic(err) + } + } - nodeport, err := k8s.GetServiceNodePort(clientset, *createNamespace, *createService) + nodeport, err := k8s.GetServiceNodePort(clientset, *createNamespace, "aps") if err != nil { panic(err) } @@ -217,6 +246,12 @@ // 閰嶇疆 Kubernetes 闆嗙兢鐨� kubeconfig 璺緞 kubeconfig := flag.String("kubeconfig", filepath.Join(util.HomeDir(), ".kube", "config"), "kubeconfig file") flag.Parse() + + fmt.Println(*kubeconfig) + fmt.Println(*kubeconfig) + fmt.Println(*kubeconfig) + fmt.Println(*kubeconfig) + fmt.Println(*kubeconfig) // 鍒涘缓 Kubernetes 瀹㈡埛绔� config, err := clientcmd.BuildConfigFromFlags("", *kubeconfig) @@ -235,9 +270,14 @@ os.Exit(1) } - err = k8s.DeleteResources(clientset, *deleteNamespace, *deleteDeployment, *deleteService) - if err != nil { - panic(err) + for _, proj := range k8s.Projects { + err = k8s.DeleteResources(clientset, *deleteNamespace, proj, proj) + if err != nil { + panic(err) + } + if err != nil { + panic(err) + } } fmt.Println("Resources deleted.") @@ -267,18 +307,27 @@ for _, ns := range namespaces { deploymentName := ns serviceName := ns - err := k8s.CreateDeploymentAndService(clientset, ns, deploymentName, serviceName) - if err != nil { - log.Printf("\033[97;41mFailed to create resources in namespace %s: %v\033[0m\n", ns, err) - } else { - nodeport, err := k8s.GetServiceNodePort(clientset, ns, ns) + for _, proj := range k8s.Projects { + obj := k8s.GetCreateObj(proj) + err = obj.CreateDeploymentAndService(k8s.Config{ + Client: clientset, + NameSpace: ns, + DeploymentName: deploymentName, + ServiceName: serviceName, + }, nil) if err != nil { - panic(err) - } + log.Printf("\033[97;41mFailed to create resources in namespace %s: %v\033[0m\n", ns, err) + } else { + nodeport, err := k8s.GetServiceNodePort(clientset, ns, ns) + if err != nil { + panic(err) + } - log.Printf("Service NodePort: %d\n", nodeport) - log.Printf("\033[97;42mSuccessfully created resources in namespace %s\033[0m\n", ns) + log.Printf("Service NodePort: %d\n", nodeport) + log.Printf("\033[97;42mSuccessfully created resources in namespace %s\033[0m\n", ns) + } } + } // 寤惰繜 1000 绉掑悗鍒犻櫎鍒涘缓鐨勮祫婧� @@ -311,13 +360,13 @@ } // 瑙f瀽閰嶇疆鏂囦欢涓殑瀛楁 - var rancherClusterConfig rancher.RancherClusterConfig + var rancherClusterConfig rancher.RancherClusterConfig err = viper.Unmarshal(&rancherClusterConfig) if err != nil { log.Fatalf("Failed to unmarshal config: %v", err) } - clusterName := "kubernetus" - fmt.Println(rancherClusterConfig) + clusterName := "kubernetus" + fmt.Println(rancherClusterConfig) cluster_test(clusterName, rancherClusterConfig) } -- Gitblit v1.8.0