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

如何使用Kustomize处理集群中的共享根CA资源?

跨多命名空间共享根CA证书的Kustomize最优方案

在单仓管理Kustomize配置的场景下,要让所有命名空间共享同一根CA证书且避免重复复制文件,直接使用跨目录的相对路径会触发Kustomize的安全路径限制(禁止引用当前kustomization目录外的文件),以下是几个合规的最优解决方案:

方案一:基于Base+Overlay的分层复用

利用Kustomize原生的Base-Overlay设计模式,将根CA的ConfigMap定义在全局共享的Base目录中,各命名空间的配置直接引用该Base即可。

目录结构

repo-root/
├── bases/
│   └── trusted-root-ca/
│       ├── kustomization.yml
│       └── root-ca.pem  # 仅存放一份根CA证书
└── namespaces/
    ├── ns-app1/
    │   └── kustomization.yml
    └── ns-app2/
        └── kustomization.yml

全局Base配置

# bases/trusted-root-ca/kustomization.yml
configMapGenerator:
  - name: trusted-root-ca
    files:
      - root-ca.pem

命名空间引用配置

每个需要信任根CA的命名空间,在自己的kustomization.yml中添加对该Base的引用:

# namespaces/ns-app1/kustomization.yml
resources:
  - ../../bases/trusted-root-ca/

后续更新根CA时,只需替换bases/trusted-root-ca/root-ca.pem文件,所有引用该Base的命名空间都会同步更新,完全符合Kustomize的安全路径规则。

方案二:使用Kustomize Component复用(推荐Kustomize 3.7+)

Component是Kustomize专为可复用配置设计的特性,比Base更灵活,支持在复用基础上通过补丁调整配置,适合通用组件的标准化复用。

目录结构

repo-root/
├── components/
│   └── trusted-root-ca/
│       ├── kustomization.yml
│       └── root-ca.pem
└── namespaces/
    ├── ns-app1/
    │   └── kustomization.yml
    └── ns-app2/
        └── kustomization.yml

Component配置

# components/trusted-root-ca/kustomization.yml
configMapGenerator:
  - name: trusted-root-ca
    files:
      - root-ca.pem

命名空间引用Component

# namespaces/ns-app1/kustomization.yml
components:
  - ../../components/trusted-root-ca/

如果需要给不同命名空间的ConfigMap添加差异化配置(比如不同的标签),可以在命名空间的kustomization中添加补丁,无需修改Component本身。

方案三:CI/CD流水线中注入证书内容

如果需要完全避免在仓库中存放证书文件(比如证书是敏感信息),可以在CI/CD流水线中读取证书内容,通过环境变量注入到ConfigMap中:

命名空间配置

# namespaces/ns-app1/kustomization.yml
configMapGenerator:
  - name: trusted-root-ca
    literals:
      - root-ca.pem=${ROOT_CA_CONTENT}

流水线执行命令

在执行kustomize build时,将证书内容注入环境变量:

ROOT_CA_CONTENT=$(cat /path/to/root-ca.pem) kustomize build ./namespaces/ns-app1/

该方案适合自动化场景,但需要依赖流水线环境,不如前两个方案直观易维护。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:20:47