鉴于我已经使用以下文件创建了ConfigMap:
VARIABLE1=foo
VARIABLE2=bar
是否可以使用Kubernetes访问这些值,或者必须采用YAML格式?
答案 0 :(得分:3)
假设您有一个名为z
的文件,其中包含上面的内容。您有两种选择可将其放入ConfigMap。
$ kubectl create cm cm1 --from-file=z
这将导致如下所示的对象:
apiVersion: v1
kind: ConfigMap
metadata:
name: cm1
data:
z: |
VARIABLE1=foo
VARIABLE2=bar
没有直接方法可以从此ConfigMap投影单个值,因为它仅包含一个Blob。但是,您可以从容器源command
中使用的shell中,该容器会blob(如果将其投影为文件),然后使用生成的环境变量。
$ kubectl create cm cm2 --from-env-file=z
这将导致如下所示的对象:
apiVersion: v1
kind: ConfigMap
metadata:
name: cm2
data:
VARIABLE1: foo
VARIABLE2: bar
在这种情况下,您可以看到不同的变量变成了单独的键值对。
中还有更多示例