kubernetes - 舵图。如何传递带有多个点的环境值?
问题描述
在 deployment.yaml 中包含条件:
{{- if or $.Values.env $.Values.envSecrets }}
env:
{{- range $key, $value := $.Values.env }}
- name: {{ $key }}
value: {{ $value | quote }}
{{- end }}
{{- range $key, $secret := $.Values.envSecrets }}
- name: {{ $key }}
valueFrom:
secretKeyRef:
name: {{ $secret }}
key: {{ $key | quote }}
{{- end }}
{{- end }}
如果我通过 $key = helm install NAME nexus/stand --set env.server.servlet.context-path=/bpm/router-app
,那么我不会得到我所期望的:
Containers:
...
Environment:
server: map[servlet:map[context-path:/bpm/router-app]]
我怎样才能解决这个问题并获得如下环境:
Environment:
server.servlet.context-path: /bpm/router-app
解决方案
使用双反斜杠。
helm install NAME nexus/stand --set env.server\\.servlet\\.context-path=/bpm/router-app
这相当于:
env:
server.servlet.context-path: /bpm/router-app
这对于注释特别有用。
或者,您应该能够使用引号和单反斜杠。
helm install NAME nexus/stand --set 'env.server\.servlet\.context-path'=/bpm/router-app
推荐阅读
- django - 保护 Django API 的最佳方法是什么?
- javascript - 在字符串上迭代相同的方法
- android - 在 ubuntu 18.04 中全新安装颤振不会运行我的第一个应用程序
- c++ - 为什么 std::nounitbuf 在 MSVC 上没有做任何事情?
- react-native - 在 React Native 上设置相机样式
- c - 遍历 argv 指针到 char 指针
- html - 在 CSS 中重现复杂的渐变
- javascript - 在按钮 onclick 上调用 javascript 函数
- flutter - 如何在不关闭 AdGuard 的情况下让 Flutter 工作
- php - 通过上传 RDF 文件在 PHP 中可视化 RDF 图