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