- 1 External
- 2 Internal
- 3 Overview
- 4 Chart Sources
- 5 helm install and Dependencies
- 6 Overriding Default Configuration or Providing New Cofiguration
- 7 Overriding Tags and Conditions
- 8 Options
Revised for Helm 3
helm install <release-name> <chart> [options]
Path to an Unpacked Chart
The chart argument of the install command can be an unpacked local chart directory. The directory name must be identical with the chart name specified in Chart.yaml).
helm install simplest ./playground/helm/simplest
Path to a Packaged Chart
helm install simplest ./simplest-1.0.0.tgz
Charts can be packaged with helm package command.
The absolute URL of a chart can be used as such:
helm install https://example.com/charts/something-1.0.0.tgz
Using a Repository Prefix
helm install postgresql example/postgresql
Note that the "example" is a name of a repository that has been previously added locally with helm repo add. If no other version specification is provided, the latest stable version of the chart will be installed. A specific version can be requested with --version.
Using an Explicit Repository URL with --repo
A repository URL can be specified in-line in the install command line with --repo, without being previously added with helm repo add:
helm install --repo https://example.com/charts/ mynginx nginx
helm install and Dependencies
If the chart has dependencies, they must be present in the charts/ subdirectory at the time of the installation.
helm installdoes not manage dependencies,
helm installperforms some sanity checks, such as comparing the content of requirements.yaml with the content of the charts/ subdirectory and failing if requirements.yaml contains dependencies that are not in charts/. However, if a dependency is present in charts/ but not in requirements.yaml, it will be installed. For more details on dependencies and how they work, see:
Overriding Default Configuration or Providing New Cofiguration
Default configuration can be overridden or new configuration can be specified with:
helm install -f|--values <configuration-overrides-file.yaml> <chart name>The -f|--values flag can be specified multiple time on the command line, and the rightmost value will take precedence. For more details on Helm configuration see:
TODO: Clarify use cases and file content syntax.For more details on Helm configuration see:
Individual configuration options can be specified with --set or --set-string.
helm install --set size=10 <chart name>--set can be specified multiple times. If specified multiple time for the same value, the priority will be given to the last (right-most) set specified. For more details on overriding or specifying configuration see:
Overriding Tags and Conditions
Generate a release name:
helm install --generate-name <chart>
If used, the user-supplied name must be omitted from the command line, and a name based on the chart name will be generated. If the chart is named "simplest", the generated name is similar to "simplest-1-1575057340".
In this mode, the installation is simulated, without actually modifying anything on the Kubernetes cluster. Instead of installing the chart, the rendered template are sent to stdout so they can be inspected. Note that in this mode, it is not guaranteed that Kubernetes cluster will accept the generated manifest.
helm install --dry-run ...
--dry-run can be combined with --debug for more information:
helm install --dry-run --debug ...
helm install --debug ...
The --debug flag displays:
If --verify is used, the chart must have a provenance file, and the provenance file must pass all verification steps.
Installation process purges chart on fail. The --wait flag will be set automatically if --atomic is used.
Specify the exact chart version to install. If this is not specified, the latest version is installed.
Run helm dependency update before installing the chart. TODO: more research here.
Specify template used to name the release.
Prints the output in the specified format. Allowed values: table, json, yaml (default table).
If set, Helm will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment, StatefulSet, or ReplicaSet are in a ready state before marking the release as successful. It will wait for as long as --timeout.
The time to wait for any individual Kubernetes operation. The default value is 5 minutes.