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

如何通过Helmfile用prod.yaml控制Server Deployment的移除与恢复

解决方案

核心思路是利用Helm values的合并优先级:prod.yaml作为后加载的values文件,优先级高于server/values.yaml,通过将指定的server配置设为null来覆盖并删除原配置项,最终让Chart模板不生成对应Deployment。

步骤1:确保Helmfile加载prod.yaml

修改helmfile.yaml中server release的配置,把prod.yaml加入values加载列表(放在server/values.yaml之后,保证优先级更高):

releases:
- name: server
  chart: ./server
  values:
    - ./server/values.yaml  # 基础配置
    - ./prod.yaml           # 环境/开关配置,优先级更高

步骤2:在prod.yaml中添加禁用配置

要禁用10021对应的Deployment,直接在prod.yaml中添加以下内容:

server:
  10021: null

当Helm合并values时,server.10021会被覆盖为null,如果你的Chart模板是通过遍历.Values.server下的key来生成Deployment的(类似常规多实例Chart的模板逻辑),这个null项会被跳过,不会生成对应的Deployment,执行helmfile apply或helm upgrade时就会删除原有的10021 Deployment。

步骤3:恢复Deployment的操作

如果要恢复10021的Deployment,只需要删除prod.yaml中server.10021: null这一行(或注释掉),重新执行helmfile apply即可,Helm会重新读取server/values.yaml中的原始配置,生成对应的Deployment。

扩展:禁用多个server

如果需要禁用多个server,直接在prod.yaml中添加多个null配置:

server:
  10021: null
  10001: null

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 05:23:09