From 694739cdbc206517247c205f44cec2f345147f78 Mon Sep 17 00:00:00 2001 From: cheliequan <liequanche@126.com> Date: 星期二, 06 六月 2023 12:14:45 +0800 Subject: [PATCH] 更新代码 --- src/k8s/create.go | 63 +++++++++++++++++++++++-------- 1 files changed, 46 insertions(+), 17 deletions(-) diff --git a/src/k8s/create.go b/src/k8s/create.go index 65208e4..c57539f 100644 --- a/src/k8s/create.go +++ b/src/k8s/create.go @@ -22,7 +22,7 @@ var ( replicas int32 = 3 port int32 = 9081 - rpcPort int32 = 9082 + rpcPort int32 = 9091 namespaces = []string{"guangsheng", "geruimi", "tongsheng"} usedNodePorts = make(map[int32]bool) ) @@ -129,15 +129,22 @@ return err } + nodePort1, nodePort2, err := getTwoNodePort(clientset) + if err != nil { + return err + } + + port1 := fmt.Sprint(nodePort1) + port2 := fmt.Sprint(nodePort2) // 鍒涘缓 Deployment - err = createDeployment(clientset, namespace, deploymentName) + err = createDeployment(clientset, namespace, deploymentName, port1, port2) if err != nil { return err } log.Printf("Waiting for Deployment %s to be ready...\n", deploymentName) // 鍒涘缓 Service - err = createService(clientset, namespace, serviceName) + err = createService(clientset, namespace, serviceName, nodePort1, nodePort2) if err != nil { return err } @@ -168,7 +175,7 @@ return nil } -func createDeployment(clientset *kubernetes.Clientset, namespace, deploymentName string) error { +func createDeployment(clientset *kubernetes.Clientset, namespace, deploymentName, port1, port2 string) error { fmt.Println("\033[1;37;40mCreating Deployment:", deploymentName, "\033[0m") deployment := &appsv1.Deployment{ @@ -204,15 +211,20 @@ Containers: []apiv1.Container{ { Name: namespace, - Image: "192.168.20.119/apsserver/apsserver:v0.5", + Image: "harbor.smartai.com/apsserver/apsserver:v0.1", Env: []apiv1.EnvVar{ { - Name: "NODE_ID", - Value: namespace, + Name: "GRPC_PORT", + Value: port1, }, + // todo 浠庨厤缃枃浠朵腑璇诲彇 { Name: "DB_HOST", - Value: "localhost", + Value: "172.20.11.128", + }, + { + Name: "GRPC_HOST", + Value: "0.0.0.0", }, { Name: "DB_NAME", @@ -231,6 +243,7 @@ Value: namespace + "@Basic2023", }, }, + ImagePullPolicy: apiv1.PullAlways, // 璁剧疆闀滃儚鎷夊彇绛栫暐涓� Always }, }, }, @@ -252,13 +265,8 @@ } // createService 鍒涘缓鎸囧畾鐨� Service -func createService(clientset *kubernetes.Clientset, namespace, serviceName string) error { +func createService(clientset *kubernetes.Clientset, namespace, serviceName string, port1, port2 int32) error { fmt.Println("\033[1;37;40mCreating Service:", serviceName, "\033[0m") - - //nodePort, err := getRandomNodePort(clientset) - //if err != nil { - // return err - //} service := &apiv1.Service{ ObjectMeta: metav1.ObjectMeta{ @@ -275,14 +283,14 @@ Protocol: apiv1.ProtocolTCP, Port: port, // 闆嗙兢鍐呴儴璁块棶绔彛 TargetPort: intstr.FromInt(int(port)), // 瀹瑰櫒瀵瑰绔彛 - NodePort: 0, // 澶栭儴璁块棶绔彛 + NodePort: port1, // 澶栭儴璁块棶绔彛 }, { Name: "tcp", Protocol: apiv1.ProtocolTCP, Port: rpcPort, TargetPort: intstr.FromInt(int(rpcPort)), - NodePort: 0, + NodePort: port2, }, }, }, @@ -300,6 +308,27 @@ } return nil +} + +func getTwoNodePort(client *kubernetes.Clientset) (nodePort1, nodePort2 int32, err error) { + nodePort1, err = getRandomNodePort(client) + if err != nil { + return 0, 0, err + } + + for { + nodePort2, err = getRandomNodePort(client) + if err != nil { + return 0, 0, err + } + + if nodePort2 != nodePort1 { + break + } + + } + + return nodePort1, nodePort2, nil } // getRandomNodePort 鑾峰彇涓�涓湭浣跨敤鐨勯殢鏈� NodePort @@ -369,7 +398,7 @@ if len(svc.Spec.Ports) > 0 { for _, p := range svc.Spec.Ports { // return tcp port - if p.Name == "tcp" { + if p.Name == "http" { return p.NodePort, nil } } -- Gitblit v1.8.0