Helm子图表Values覆盖未生效?AWS区域配置异常排查
Helm子图表镜像仓库未切换问题解决
问题现象
使用Helm子图表部署应用时,执行helm install命令指定aws_region=eu-north-1,但最终生成的镜像地址仍使用默认的us-east-1仓库,未切换到对应区域的ECR地址。
错误原因
- 参数路径错误:基础图表中
aws_region是根级Values字段,而非image的子字段,原命令中--set image.aws_region=eu-north-1完全不匹配目标字段。 - 子图表前缀缺失:子图表通过
alias: microservice-0引入基础图表,所有针对该子图表的Values配置必须以microservice-0.为前缀,否则配置不会传递到对应的子图表实例中。
修正方案
1. 修正helm install命令
将错误的--set image.aws_region=eu-north-1替换为--set microservice-0.aws_region=eu-north-1,正确命令如下:
$ helm install marcom-stats-svc microservice-chart/ \ --set microservice-0.aws_region=eu-north-1 \ --set microservice-0.image.version=2.0.0 \ --dry-run --debug
2. (可选)配置子图表默认区域
如果需要子图表默认使用eu-north-1区域,可以在子图表的values.yaml中添加根级aws_region配置:
microservice-0: aws_region: eu-north-1 image: name: myApp version: 1.2.3
验证效果
执行修正后的命令后,生成的镜像地址将符合预期:
image: 98765432109.dkr.ecr.eu-north-1.amazonaws.com/myApp:2.0.0
内容的提问来源于stack exchange,提问作者Chris F
相关产品推荐
相关产品推荐

