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

Kubernetes中能否将已有Deployment作为sidecar添加至另一Deployment?

需求实现方案说明

1. Rancher GUI 可实现基础需求

  • 仅适用于原Helm Chart生成的容器配置比较简单的场景,操作逻辑如下:
    • 第一步:先在Rancher的Apps&Marketplaces界面,选择对应的Helm Chart进入预览界面,导出其生成的Deployment配置,提取目标容器的镜像地址、端口、环境变量、存储挂载、资源配额等核心参数
    • 第二步:找到需要挂载sidecar的目标Deployment,点击操作栏的「编辑配置」,切换到「容器」配置页,点击「添加容器」,将上一步提取的参数逐一填入对应字段
    • 第三步:确认配置无误后保存,Rancher会自动更新Deployment,将新增容器作为sidecar和原有容器运行在同一Pod内
  • 局限性:如果原Helm Chart包含关联的ConfigMap、Secret、ServiceAccount、权限规则等复杂依赖,GUI手动配置容易遗漏参数,导致sidecar运行异常。

2. 更稳妥的方案:直接通过YAML配置

这种方式可控性更高,适配所有场景,常用两种操作路径:

  • 路径1:修改Helm Chart模板
    直接编辑原Helm Chart的templates/deployment.yaml文件,将目标sidecar容器的配置添加到Pod模板的spec.containers数组中,之后正常执行helm install命令部署即可。
  • 路径2:导出YAML后手动合并
    1. 执行helm template <自定义release名> <本地chart路径/远程chart名>命令,导出该Helm Chart生成的所有Kubernetes资源YAML
    2. 从导出的内容中提取Deployment定义里的容器配置段,合并到目标Deployment的YAML的spec.template.spec.containers字段下
    3. 可以直接通过kubectl apply -f <修改后的deployment.yaml>命令生效,也可以在Rancher的Deployment编辑界面切换到YAML编辑模式,粘贴修改后的内容保存即可

注意:原Helm Chart如果会生成独立的Service、Ingress、PV等和原Deployment绑定的资源,作为sidecar使用时这些冗余资源可以直接删除,避免占用集群资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:06:03