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

Kustomize中vars使用方法相关文档查询,支持无需ConfigMap/Secret声明场景

Kustomize vars功能使用说明

你提到的vars是Kustomize内置的跨资源变量引用能力,原生设计上要求所有变量值必须从已声明的Kubernetes资源(ConfigMap、Secret、Service等)的字段中提取,暂不支持直接在vars字段中声明固定字面量值。

如果你不想额外维护独立的ConfigMap/Secret资源,又需要直接用固定值作为变量,可以用以下两种实现方案:

方案1:临时ConfigMap中转+自动清理

通过configMapGenerator生成临时存储字面量的ConfigMap,配合vars取值,最后通过补丁删除这个临时资源,避免部署到集群:

# kustomization.yaml 示例
configMapGenerator:
- name: temp-vars
  literals:
    # 直接在这里写你的固定变量值
  - ROUTE_HOST=myapp.test.com
  options:
    disableNameSuffixHash: true

vars:
- name: ROUTE_HOST
  objref:
    kind: ConfigMap
    name: temp-vars
    apiVersion: v1
  fieldref:
    fieldpath: data.ROUTE_HOST

# 加入这部分配置,自动排除临时ConfigMap不部署
patches:
- target:
    kind: ConfigMap
    name: temp-vars
  patch: |-
    $patch: delete

方案2:使用replacements功能(推荐,Kustomize v4.5.0+支持)

replacements是vars的升级替代功能,原生支持直接声明字面量值,不需要依赖任何中间资源:

# kustomization.yaml 示例
replacements:
- source:
    # 直接写固定变量值,无需关联资源
    value: myapp.test.com
  targets:
  # 配置需要注入该值的资源和对应字段
  - select:
      kind: Ingress
      name: my-app-ingress
    fieldPaths:
    - spec.rules.0.host

内容的提问来源于stack exchange,提问作者cosmos-1905-14

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:18:03