kubernetes - 如何使用由等号 (=) 分隔的键/值的 ConfigMap 中的值?
问题描述
鉴于我已经创建了一个带有这样的文件的 ConfigMap:
VARIABLE1=foo
VARIABLE2=bar
有没有办法在 Kubernetes 中访问这些值,还是必须采用 YAML 格式?
解决方案
假设您有一个z
使用上述内容调用的文件。您有两个选项可以将其变成 ConfigMap。
选项 1(--来自文件)
$ kubectl create cm cm1 --from-file=z
这将产生一个像这样的对象:
apiVersion: v1
kind: ConfigMap
metadata:
name: cm1
data:
z: |
VARIABLE1=foo
VARIABLE2=bar
没有直接的方法可以从此 ConfigMap 中投影单个值,因为它只包含一个 blob。但是,您可以从command
blob 的容器源中使用的 shell(如果将其投影为文件),然后使用生成的环境变量。
选项 2(--from-env-file)
$ kubectl create cm cm2 --from-env-file=z
这将产生一个像这样的对象:
apiVersion: v1
kind: ConfigMap
metadata:
name: cm2
data:
VARIABLE1: foo
VARIABLE2: bar
如您所见,在这种情况下,不同的变量变成了单独的键值对。
参考文档中有更多示例
推荐阅读
- javascript - React/Node - 我如何找到“警告:该功能仅在客户端,在服务器端不起作用”的位置?
- elasticsearch - 如何为 ElasticSearch(常规或 OpenDistro)配置 LDAP?
- r - 在闪亮的应用程序中取消选择列或编辑数据表时,下载按钮消失
- ios - 在消耗品的应用购买服务器通知中,有办法吗?
- sql - 如何将非标准字符串格式化为日期格式
- mysql - UPDATE JOIN 表,数学运算仅发生在单个(最后?)行上
- jquery - 使用单个 Jquery UI 滑块控制多个图表
- scala - 值查找解析到 sbt 插件中的错误范围
- ios - .o 文件中缺少汇编函数
- api - 如何在不将 ClientId 和 ClientSecret 暴露给客户端的情况下使用 Auth0 保护 Web API?