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

标签 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);

最佳答案

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

address: "1"
port: ""

您还可以打开文件并使用binaryData代替data作为二进制文件添加到configmap中

关于kubernetes - 如何使用Kubernetes客户端Api部署ConfigMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57529026/

相关文章:

amazon-web-services - Terraform 在 wait_for_cluster 上超时并中断 EKS 的配置

kubernetes - 无法删除kubernetes前景中的PVC

kubernetes - 无法为volumeMount准备子路径

kubernetes - 递归地从文件创建配置映射

nginx - Kubernetes 中来自 ConfigMap 的自定义 nginx.conf

deployment - 覆盖容器规范中定义的 env 值

kubernetes - 如何将数据集放在 gcloud kubernetes 集群上?

docker - Jenkins 的 K8s 插件 : Always running two separate containers inside a pod

laravel - 使用 "envFrom"和 "configMapRef"(kustomize/kubernetes/laravel) 时,环境变量在 pod/容器中不可用

docker - crashloopbackoff中的Kubernetes Pod