zhangqian
2024-01-08 ae1fefcf99a264c52ef4762bb2b59648932b28b0
src/main/main.go
@@ -20,10 +20,10 @@
)
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) {
@@ -77,7 +77,7 @@
   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")
@@ -176,9 +177,9 @@
      rancherClusterConfig.Nodes = make([]rancher.Node, 3)
      rancherClusterConfig.Nodes[0] = rancher.Node{
         Roles:       []string{"worker"},
         IP:          "192.168.20.189",
         IP:          "192.168.20.119",
         SSHUsername: "basic",
         SSHPassword: "123",
         SSHPassword: "basic2021",
         SSHPort:     22,
      }
@@ -208,18 +209,31 @@
         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)
      }
@@ -232,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)
@@ -250,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.")
@@ -282,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 秒后删除创建的资源