your-registry,但实际使用 harbor.stardance旧做法(冗余):
# 全局values.yaml (1073行)
shop-recycle-payment:
image:
repository: your-registry/shop-recycle-payment
tag: "1.0.0"
config:
yml: {...} # 500+ 行配置
# + 各服务配置 (charts/shop-recycle-payment/values.yaml)
shop-recycle-payment:
image:
repository: harbor.stardance/shoprecycle/shop-payment
tag: v2.0.0
config:
yml: {...} # 相同的500+行配置
作用: 仅定义真正的全局配置
# 1. 全局镜像配置
global:
image:
registry: harbor.stardance
pullPolicy: IfNotPresent
# 2. 全局标签(所有Pod都会附加)
global:
labels:
platform: microservice-platform
project: shop-recycle
# 3. 服务启用/禁用开关
shop-recycle-payment:
enabled: true
shop-recycle-store:
enabled: true
# ... 其他服务
优点:
values.yaml (1073行, 冗余配置)
├── global config
├── shop-recycle-payment (完整配置)
├── shop-recycle-store (完整配置)
└── ... 32个服务 (每个包含完整配置)
charts/shop-recycle-payment/values.yaml (独立配置)
charts/shop-recycle-store/values.yaml (独立配置)
问题: 配置在两个地方,容易不同步!
values.yaml (102行, 仅全局和启用开关)
├── global:
│ ├── image
│ └── labels
└── <service>: enabled: true
charts/shop-recycle-payment/values.yaml (完整配置)
├── app
├── image
├── service
├── resources
└── config
charts/shop-recycle-store/values.yaml (完整配置)
优点: 单一配置源,配置一致!
# 查看所有值(包括从charts/<service>/values.yaml继承的)
helm template shop-recycle ./
# 只查看全局值
helm values ./
# 禁用某个服务
helm upgrade shop-recycle ./ \
--set shop-recycle-payment.enabled=false
# 启用特定服务
helm upgrade shop-recycle ./ \
--set shop-recycle-gateway.enabled=true
# 修改全局镜像拉取策略
helm upgrade shop-recycle ./ \
--set global.image.pullPolicy=Always
# 修改全局标签
helm upgrade shop-recycle ./ \
--set global.labels.environment=production
由于配置在各服务的values.yaml中,修改方式:
# 方式1: 命令行覆盖
helm upgrade shop-recycle ./ \
--set shop-recycle-payment.image.tag=v2.1.0 \
--set shop-recycle-payment.app.replicaCount=3
# 方式2: 使用环境特定的values文件
helm upgrade shop-recycle ./ \
-f environments/prod-values.yaml
# 方式3: 修改charts/shop-recycle-payment/values.yaml
# 然后git push提交更新
A: 修改 charts/<service>/values.yaml 的 image.tag 或使用命令行覆盖:
helm upgrade shop-recycle ./ \
--set shop-recycle-payment.image.tag=v2.1.0
A: 有的。用途:
A: 使用environment values文件:
# environments/prod-values.yaml
shop-recycle-payment:
app:
replicaCount: 3
shop-recycle-store:
app:
replicaCount: 3
shop-recycle-gateway:
app:
replicaCount: 5
# ...其他服务
然后:
helm upgrade shop-recycle ./ -f environments/prod-values.yaml
| 方面 | 旧设计 | 新设计 | 收益 |
|---|---|---|---|
| 代码行数 | 1073 | 102 | 减少90% |
| 维护点 | 68 (34服务×2文件) | 35 (34服务×1文件) | 减少50% |
| 配置一致性 | 易出错 | 自动一致 | ✅ 高 |
| 快速查看 | 困难 | 简单 | ✅ 高 |
最后更新: 2026-01-21