Helm同名不同版本依赖subchart部署异常:旧版本模板无输出
以下是可能导致该现象的几个原因:
旧版本subchart的逻辑限制:0.26.0版本的vector subchart可能存在设计上的限制,仅设置
enabled: true和role: Agent不足以触发资源模板渲染。比如该版本可能要求额外配置agent.enabled: true(而非顶层enabled),或者Agent角色对应的资源需要其他必填参数(如日志采集路径、接收器配置)才能生成输出;而0.30.0版本的vector subchart优化了这部分逻辑,启用后无需额外配置即可生成基础资源模板。依赖包未正确下载:执行
helm dependency build时,vector-agent对应的0.26.0版本可能未成功下载到本地charts目录或Helm缓存中。此时Helm找不到该subchart的模板文件,自然无法输出任何内容。可以通过helm dependency list命令检查两个依赖的状态,确认0.26.0版本是否显示为"ok"。模板条件判断错误:0.26.0版本的vector subchart模板中,可能存在错误的条件判断逻辑。比如模板文件中判断资源是否渲染的条件仅针对Infra角色,或者变量路径错误(如引用了
.Values.vector.enabled而非别名对应的.Values.vector-agent.enabled),导致Agent角色的配置无法触发模板渲染。Helm版本兼容性问题:如果使用的Helm版本较旧,可能对别名subchart的values覆盖逻辑存在bug,导致vector-agent的enabled配置未被正确传递到对应的subchart中,而新版本Helm修复了该问题,所以vector-infra(0.30.0)能正常工作。可以尝试升级Helm到稳定版本后再测试。
内容的提问来源于stack exchange,提问作者Bhargav Mg

