You pass your own values with --set flags or values files at install or upgrade time. Helm merges them over the chart's defaults in a fixed order of precedence, highest first:
--seton the command line wins over everything.- A custom values file passed with
--values, or its short form-f. - When you pass several
-ffiles, a later file overrides an earlier one. - The chart's own
values.yamlsupplies the defaults and has the lowest precedence.
helm install myapp ./mychart --set replicaCount=5 --set image.tag=2.0
helm install myapp ./mychart --values custom-values.yaml
helm install myapp ./mychart -f values.yaml -f production-values.yaml
A custom values file only needs the keys you want to change:
replicaCount: 3
image:
repository: myapp
tag: "v2.1.0"
service:
type: LoadBalancer
resources:
limits:
memory: "512Mi"
cpu: "500m"
Helm merges maps deeply, so setting image.tag keeps the default image.repository. Arrays are replaced whole, so to change one item you pass the full list.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
The diagram below the answer is the concept . Jump to it ↓