我们可以在 Config 映射中使用 "data" 作为 yaml 文件而不是 Json 文件吗
Can we use "data" as a yaml file instead of Json file in Config map
让我们以配置映射为例
apiVersion: v1
kind: ConfigMap
data:
abc.yml: |-
<yml here>
收到类似未能将 yaml 解析为 Json 的错误。
从文件创建 ConfigMap
。
kubectl create configmap myconfig --from-file=youfile.yml
。
您可以在 kubernetes docs
上查看更多示例
这些可能是问题所在
1. 问题很可能与缩进有关。
2. 从 abc.yml 中删除 '-':|- 并检查
我按照以下步骤将 yaml 文件加载到 configmap 中。它运行良好。
master $ cat c.yaml
apiVersion: v1
data:
redis-config: |
maxmemory 2mb
maxmemory-policy allkeys-lru
kind: ConfigMap
metadata:
name: example-redis-config
master $ kubectl create configmap testcfg --from-file=./c.yaml
master $ kubectl get cm testcfg -oyaml
apiVersion: v1
data:
c.yaml: |
apiVersion: v1
data:
redis-config: |
maxmemory 2mb
maxmemory-policy allkeys-lru
kind: ConfigMap
metadata:
name: example-redis-config
kind: ConfigMap
metadata:
creationTimestamp: 2019-03-07T08:35:18Z
name: testcfg
namespace: default
resourceVersion: "7520"
selfLink: /api/v1/namespaces/default/configmaps/testcfg
uid: f033536d-40b3-11e9-a67d-0242ac11005b
是的,你可以这样做,但你应该注意语法。您还可以遵循 here.
中的 yaml 技术
如果你用kubectl create configmap myconfig --from-file=abc.yml
就可以了
但是如果你在 myconfig.yaml 中为你的 configmap 编写整个 yaml 文件,然后 运行 kubectl create -f myconfig.yaml
,那么你应该关心语法。
假设您的 abc.yml
文件如下:
a:
b: b1
c: c1
d: d1
然后编写您的 myconfig.yaml
文件:
apiVersion: v1
kind: ConfigMap
data:
abc.yml: |
a:
b: b1
c: c1
d: d1
现在 运行 kubectl create -f myconfig.yaml
。
就是这样。
Kubernetes 快乐!!!
让我们以配置映射为例
apiVersion: v1
kind: ConfigMap
data:
abc.yml: |-
<yml here>
收到类似未能将 yaml 解析为 Json 的错误。
从文件创建 ConfigMap
。
kubectl create configmap myconfig --from-file=youfile.yml
。
您可以在 kubernetes docs
上查看更多示例这些可能是问题所在 1. 问题很可能与缩进有关。 2. 从 abc.yml 中删除 '-':|- 并检查
我按照以下步骤将 yaml 文件加载到 configmap 中。它运行良好。
master $ cat c.yaml
apiVersion: v1
data:
redis-config: |
maxmemory 2mb
maxmemory-policy allkeys-lru
kind: ConfigMap
metadata:
name: example-redis-config
master $ kubectl create configmap testcfg --from-file=./c.yaml
master $ kubectl get cm testcfg -oyaml
apiVersion: v1
data:
c.yaml: |
apiVersion: v1
data:
redis-config: |
maxmemory 2mb
maxmemory-policy allkeys-lru
kind: ConfigMap
metadata:
name: example-redis-config
kind: ConfigMap
metadata:
creationTimestamp: 2019-03-07T08:35:18Z
name: testcfg
namespace: default
resourceVersion: "7520"
selfLink: /api/v1/namespaces/default/configmaps/testcfg
uid: f033536d-40b3-11e9-a67d-0242ac11005b
是的,你可以这样做,但你应该注意语法。您还可以遵循 here.
中的 yaml 技术如果你用kubectl create configmap myconfig --from-file=abc.yml
就可以了
但是如果你在 myconfig.yaml 中为你的 configmap 编写整个 yaml 文件,然后 运行 kubectl create -f myconfig.yaml
,那么你应该关心语法。
假设您的 abc.yml
文件如下:
a:
b: b1
c: c1
d: d1
然后编写您的 myconfig.yaml
文件:
apiVersion: v1
kind: ConfigMap
data:
abc.yml: |
a:
b: b1
c: c1
d: d1
现在 运行 kubectl create -f myconfig.yaml
。
就是这样。
Kubernetes 快乐!!!