2

让我们以配置映射为例

apiVersion: v1
kind: ConfigMap
data:
  abc.yml: |-
<yml here>

出现无法将 yaml 解析为 Json 之类的错误。

4

3 回答 3

1

是的,你可以这样做,但你应该关心语法。您还可以从此处遵循 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 !!!

于 2019-03-08T10:17:51.610 回答
1

这些可能是问题 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

于 2019-03-07T08:36:35.863 回答
1

ConfigMap从文件创建。

kubectl create configmap myconfig --from-file=youfile.yml.

您可以在kubernetes 文档上查看更多示例

于 2019-03-07T08:18:10.003 回答