Mongodb 如何正确地将env从代码传输到k8s?

Mongodb 如何正确地将env从代码传输到k8s?,mongodb,go,kubernetes,Mongodb,Go,Kubernetes,Golang上的应用程序有一些字符串: type configuration struct { ListenPort string `env:"listen" default:":8080"` MongoHost string `env:"mongo_host" default:"mongo-srv:27017"` MongoUser string `env:"

Golang上的应用程序有一些字符串:

type configuration struct {
    ListenPort    string `env:"listen" default:":8080"`
    MongoHost     string `env:"mongo_host" default:"mongo-srv:27017"`
    MongoUser     string `env:"mongo_user" default:"user"`
    MongoPass     string `env:"mongo_pass" default:"password"`
    MongoDBname   string `env:"mongo_db_name" default:"MyDB"`
}
如何从evnironment传输值以在k8s中部署此应用程序? 我试着这么做。但它不起作用

kind: Deployment
metadata:
  name: MyApp
  namespace: App
...
    spec:
      containers:
...
        env:
          - name: listen
            value: "8080"
          - name: mongo_host
            value: "mongo-srv:27017"
...

你怎么知道它不起作用?如果您在Kubernetes之外运行Go代码,那么这些环境变量设置是否得到尊重?当我使用应用程序运行pod时,它无法连接到db。也许我使用的环境变量不正确。是否值得从代码中删除这些参数,但将其另外写入docker compose中?您是否试图将结构值从go代码提取到pod/容器中?@shubham_asati是的。您能否解释一下您试图实现的目标。。请提供有关该场景的更多信息