Inf*_*hie 3 spring-boot kubernetes
我正在寻找相当于 Kubernetes 部署 yaml 中 Docker Compose 的 SPRING_APPLICATION_JSON 环境变量的内容。
我知道我们可以将单独的配置作为名称-值对传递。但在 Kubernetes 中必须有某种东西可以让所有 env 变量以 json 或 yaml 格式传递。
小智 5
您可以通过配置映射来完成此操作,如上所示,或者您可以将环境变量值作为字符串读取并将其解组。为此,您必须使用|-- yaml 运算符,它允许您嵌入更多“复杂”结构。
例如在您的 K8s 部署.yaml 中:
...
env:
- name: FOO
value: |
{"foo":"bar"}
Run Code Online (Sandbox Code Playgroud)
然后在你的代码中
type v struct {
Key string `json:"foo"`
}
func main() {
foo := os.Getenv("FOO")
var t v
if err := json.Unmarshal([]bytes(foo), &t); err != nil {
// log error
}
fmt.Println("Foo %s", t.Foo) // should print out "bar"
}
Run Code Online (Sandbox Code Playgroud)
我不确定如果你尝试使用 yaml 来做到这一点,效果如何,但是 json 对象绝对可以通过 k8s 中的环境变量 API 以这种方式传递。我会让你决定它的利弊。:)
| 归档时间: |
|
| 查看次数: |
9984 次 |
| 最近记录: |