You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多行JSON正确插入替换ConfigMap.yaml中的配置内容

ConfigMap内嵌JSON内容替换方法

核心注意点:YAML中|标记后的多行文本块,所有行必须保持统一缩进,否则会出现YAML解析错误,替换时只要保证缩进和键层级匹配即可,以下是三种常用实现方式:

  • 手动编辑修改
    打开本地ConfigMap.yaml文件,找到data层级下的appsettings.k8s.json: |行,删除该行下方原有的全部旧JSON内容,将JSON1文件的内容粘贴到该位置,调整所有JSON行的缩进为4个空格(相对于YAML行首的缩进,和目标示例格式对齐),保存后即可得到符合要求的文件。
  • kubectl命令生成(适用于集群操作场景)
    如果ConfigMap需要部署到K8s集群,不需要手动调整格式,直接执行以下命令,会自动读取JSON1文件内容生成格式正确的ConfigMap YAML:
    kubectl create configmap someCF --from-file=appsettings.k8s.json=./JSON1.json --dry-run=client -o yaml > updated_ConfigMap.yaml
    
    生成的updated_ConfigMap.yaml就是你需要的最终效果,直接执行kubectl apply -f updated_ConfigMap.yaml即可完成集群侧更新。
  • yq工具自动化替换(适用于脚本批量处理场景)
    如果需要在自动化流程中完成替换,可以使用yq(YAML命令行处理工具,需提前安装4.x以上版本)执行一键替换:
    yq eval ".data.\"appsettings.k8s.json\" = \"$(cat JSON1.json)\"" ConfigMap.yaml > updated_ConfigMap.yaml
    

格式校验提示:替换完成后可以用yamllint或者kubectl apply --dry-run=client -f 文件名的方式验证YAML格式是否正确,避免因为缩进错误导致部署失败。

内容的提问来源于stack exchange,提问作者YuriyF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 13:39:18