| | |
| | | ) |
| | | |
| | | 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) { |
| | |
| | | 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) |
| | | } |
| | |
| | | |
| | | 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") |
| | |
| | | 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, |
| | | } |
| | | |
| | |
| | | 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(k8s.Config{ |
| | | Client: clientset, |
| | | NameSpace: *createNamespace, |
| | | DeploymentName: *createDeployment, |
| | | ServiceName: *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) |
| | | } |
| | |
| | | // 配置 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) |
| | |
| | | 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.") |
| | |
| | | for _, ns := range namespaces { |
| | | deploymentName := ns |
| | | serviceName := ns |
| | | 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 { |
| | | 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 秒后删除创建的资源 |