XML 文件到 ConfigMap yaml

Posted

技术标签:

【中文标题】XML 文件到 ConfigMap yaml【英文标题】:XML files to ConfigMap yaml 【发布时间】:2018-12-06 23:37:47 【问题描述】:

是否可以在不使用 kubectl 命令的情况下将 xml 等配置文件转换为 kubernetes configmap yaml 文件?假设我想动态创建 xml 文件,然后将其作为 configmap yaml 存储在 git repo 中,并且一些操作员可以监视 yaml 更改并将其部署到集群。

【问题讨论】:

这能回答你的问题吗? medium.com/@dheeraj007tripathi/… 即在 ConfigMap 中嵌入 XML 文件? 【参考方案1】:

配置文件如 xml 到 kubernetes configmap yaml 文件,无需使用 kubectl 命令

当然,因为kubectlyaml 所做的唯一事情是立即将其转换为json,然后将POST(或PUT 或其他)转换为带有content-type: application/json;charset=utf-8 标头的kubernetes api(您可以通过kubectl --v=100 create -f my-thing.yaml观看发生的事情)

因此,您的问题的答案是使用您最喜欢的具有 json 库(或 positively amazing jq)的编程语言,根据需要打包 XML,使用 kube-applier 之类的东西来监控和推出更改:

# coding=utf-8
import json
import sys

result = 
  "apiVersion": "v1",
  "kind": "ConfigMap",
  # etc etc
  "data": [],

for fn in sys.argv[1:]:
    with open(fn) as fh:
       body = fh.read()
    data.append(fn: body)
json.dump(result, sys.stdout)  # or whatever

【讨论】:

以上是关于XML 文件到 ConfigMap yaml的主要内容,如果未能解决你的问题,请参考以下文章

Kubernetes之八:ConfigMap from-literal -from-file实战

Kubernetes(k8s)之Configmap配置管理

K8s -configmap

使用 Terraform 将 `configMap` 应用到 EKS 集群

configmap目录挂载和指定部分文件挂载

在春季使用k8s configmap