如何使用Kubernetes客户端Api部署ConfigMap

时间:2019-08-16 17:46:32

标签: kubernetes configmap

我想要特定的configMap结构

  apiVersion: v1
    kind: ConfigMap
    metadata:
      name: config-map-router1
      labels:
        name: nc1
    data:
      object.properties: |
        address: "1"
        port: ""

如何用

表示缩进
  

object.properties:

我们必须多开发一部分代码

        Map<String, String> data = new HashMap<>();
        data.put("address","");
        //...

        V1ConfigMap configMap= new V1ConfigMap();
        configMap.apiVersion("v1");
        configMap.kind("ConfigMap");
        configMap.metadata(meta);

        configMap.data(data);

1 个答案:

答案 0 :(得分:2)

我假设您正在使用Java客户端。
从文件创建configmap时,出现object.properties缩进。示例:kubectl create configmap myapp-config --from-file=object.properties
From what I have researched Java客户端似乎仅支持<string, string>作为 data 的值。由于文件object.properties仅包含UTF-8字符,因此您可以尝试:
 data.put("object.properties","address: \"1\"\nport: \"\"") 或创建如下所示的文件并以Java字符串形式打开:

address: "1"
port: ""

您还可以打开文件并使用 binaryData 代替 data

将其作为二进制文件添加到configmap中