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

如何通过Kustomize从其他Git仓库创建ConfigMap?

Kustomize能否从外部Git仓库文件生成ConfigMap?

结论

Kustomize的configMapGenerator不支持直接通过Git URL引用外部仓库的文件来生成ConfigMap。

原因

configMapGenerator的files字段仅接受本地文件路径(即和当前kustomization.yaml处于同一本地目录/仓库内的文件)。你尝试用的git::ssh://...格式是Kustomize用来引用外部K8s资源清单(比如其他仓库里的Deployment、Service)的语法,但这个语法并不适用于configMapGenerator的文件引用。

可行替代方案

  • 提前拉取外部文件到本地
    可以通过Git子模块或者CI/CD流水线的前置步骤,把外部仓库的目标文件拉取到本地目录,再让configMapGenerator引用本地副本:

    1. 添加Git子模块(如果是长期依赖):
      git submodule add ssh://git@bitbucket.company.com:7999/proj/repo-name.git external-config
      
    2. 修改kustomization.yaml引用本地文件:
      apiVersion: kustomize.config.k8s.io/v1beta1
      kind: Kustomization
      resources:
        - deployment.yaml
      configMapGenerator:
      - name: my-config
        files:
        - external-config/config-file.json
      
  • CI/CD动态生成ConfigMap
    在CI/CD流程中,先通过脚本拉取外部仓库的文件内容,直接生成包含该内容的ConfigMap资源清单,再让Kustomize引用这个生成的清单文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 06:49:52