我们可以在配置图中将“数据”用作yaml文件而不是Json文件吗?

时间:2019-03-07 07:48:04

标签: kubernetes configmap

让我们以配置映射为例

<!DOCTYPE html>
<html>
<head>
    <base href="https://demos.telerik.com/kendo-ui/window/constrain-movement">
    <style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
    <title></title>
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.1.220/styles/kendo.common.min.css" />
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.1.220/styles/kendo.silver.min.css" />
    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.1.220/styles/kendo.silver.mobile.min.css" />

    <script src="https://kendo.cdn.telerik.com/2019.1.220/js/jquery.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2019.1.220/js/kendo.all.min.js"></script>
</head>
<body>
  


<button id="menuLock" >KENDO WINDOW</button>

  
<div id="lockScreen">
  <form action="#" method="POST">
  <p>Please enter your password!</p>
  <input id="" type="password" class="k-textbox" name="password" style="width: 180px;" />
  <button class="k-button k-primary" style="width:100%; position:absolute; bottom:0; right:0; padding: 15px 25px;">Unlock</button>	
	<span id="notification" style="display:none;" ></span>
  </form>
</div> 
  


</body>
</html>

遇到类似无法将Yaml解析为Json的错误。

3 个答案:

答案 0 :(得分:0)

从文件创建ConfigMap

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

您可以在kubernetes docs

上查看更多示例

答案 1 :(得分:0)

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

答案 2 :(得分:0)

是的,您可以这样做,但是您应该注意语法。您还可以遵循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 !!