zhangqian
2023-12-26 0e22b2dfe7a24c528fb8ac58ece089bd032f5478
支持添加额外的env
2个文件已修改
35 ■■■■ 已修改文件
src/k8s/create.go 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/main.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/k8s/create.go
@@ -60,7 +60,7 @@
    // 创建多个 Namespace 下的相同名称的 Deployment 和 Service
    for _, ns := range namespaces {
        err = CreateDeploymentAndService(Config{Client: clientset, NameSpace: ns, DeploymentName: ns, ServiceName: ns})
        err = CreateDeploymentAndService(Config{Client: clientset, NameSpace: ns, DeploymentName: ns, ServiceName: ns}, nil)
        if err != nil {
            panic(err)
        }
@@ -129,7 +129,7 @@
    return nil
}
func CreateDeploymentAndService(config Config) error {
func CreateDeploymentAndService(config Config, extendEnvs map[string]string) error {
    fmt.Println("\033[1;37;40mCreating resources in Namespace:", config.NameSpace, "\033[0m")
    // 检测并删除已存在的 Deployment 和 Service
@@ -144,7 +144,7 @@
    }
    // 创建 Deployment
    err = createDeployment(config)
    err = createDeployment(config, extendEnvs)
    if err != nil {
        return err
    }
@@ -181,10 +181,7 @@
    return nil
}
func createDeployment(config Config) error {
    fmt.Println("\033[1;37;40mCreating Deployment:", config.DeploymentName, "\033[0m")
func createEnv(config Config, pairs map[string]string) []apiv1.EnvVar {
    envs := []apiv1.EnvVar{
        {
            Name:  "GRPC_PORT",
@@ -240,6 +237,26 @@
        })
    }
    if len(pairs) > 0 {
        for name, value := range pairs {
            envs = append(envs, apiv1.EnvVar{
                Name:  name,
                Value: value,
            })
        }
    }
    for name, value := range pairs {
        envs = append(envs, apiv1.EnvVar{
            Name:  name,
            Value: value,
        })
    }
    return envs
}
func createDeployment(config Config, extendEnvs map[string]string) error {
    fmt.Println("\033[1;37;40mCreating Deployment:", config.DeploymentName, "\033[0m")
    envs := createEnv(config, extendEnvs)
    deployment := &appsv1.Deployment{
        ObjectMeta: metav1.ObjectMeta{
            Name: config.DeploymentName,
src/main/main.go
@@ -219,7 +219,7 @@
            NameSpace:      *createNamespace,
            DeploymentName: *createDeployment,
            ServiceName:    *createService,
        })
        }, nil)
        if err != nil {
            panic(err)
        }
@@ -292,7 +292,7 @@
                NameSpace:      ns,
                DeploymentName: deploymentName,
                ServiceName:    serviceName,
            })
            }, nil)
            if err != nil {
                log.Printf("\033[97;41mFailed to create resources in namespace %s: %v\033[0m\n", ns, err)
            } else {