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

如何创建不绑定特定Deployment名称的Kustomize通用Component组件

解决方案

你可以通过给补丁指定target匹配规则实现通用Component,不需要在补丁内写死Deployment名称,修改方式如下:

1. 修改Component目录下的kustomization.yaml

将原来的补丁引用改为带target规则的格式:

apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component

patches:
  - path: deployment-sidecar.yaml
    target:
      kind: Deployment
      # 可选配置:仅给带有指定标签的Deployment注入sidecar,不需要可删除
      # labelSelector: "inject-monitor=true"

2. 简化deployment-sidecar.yaml内容

完全移除补丁文件中的metadata字段即可,不需要指定名称:

apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
      containers:
      - name: monitor-sidecar
        image: MONITOR-SIDECAR.IMG

补充说明

Kustomize的补丁规则中只要指定了target参数,就会自动匹配所有符合筛选条件的资源执行补丁操作,不需要在补丁文件内显式声明待修改资源的名称。如果需要更精细的控制,可以通过labelSelector、annotationSelector等参数筛选要注入sidecar的Deployment,避免给不需要的资源误加配置。

调整后该Component可以给任意Deployment复用,上层引用组件时不需要做额外适配,只要Deployment符合你设定的target规则就会自动注入sidecar。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:27:00