helm upgrade

upgrade a release

Synopsis

This command upgrades a release to a specified version of a chart and/or updates chart values.

Required arguments are release and chart. The chart argument can be one of: - a chart reference(‘stable/mariadb’); use ‘–version’ and ‘–devel’ flags for versions other than latest, - a path to a chart directory, - a packaged chart, - a fully qualified URL.

To customize the chart values, use any of - ‘–values’/‘-f’ to pass in a yaml file holding settings, - ‘–set’ to provide one or more key=val pairs directly, - ‘–set-string’ to provide key=val forcing val to be stored as a string, - ‘–set-file’ to provide key=path to read a single large value from a file at path.

To edit or append to the existing customized values, add the ‘–reuse-values’ flag, otherwise any existing customized values are ignored.

If no chart value arguments are provided on the command line, any existing customized values are carried forward. If you want to revert to just the values provided in the chart, use the ‘–reset-values’ flag.

You can specify any of the chart value flags multiple times. The priority will be given to the last (right-most) value specified. For example, if both myvalues.yaml and override.yaml contained a key called ‘Test’, the value set in override.yaml would take precedence:

  1. $ helm upgrade -f myvalues.yaml -f override.yaml redis ./redis

Note that the key name provided to the ‘–set’, ‘–set-string’ and ‘–set-file’ flags can reference structure elements. Examples: - mybool=TRUE - livenessProbe.timeoutSeconds=10 - metrics.annotations[0]=hey,metrics.annotations[1]=ho

which sets the top level key mybool to true, the nested timeoutSeconds to 10, and two array values, respectively.

Note that the value side of the key=val provided to ‘–set’ and ‘–set-string’ flags will pass through shell evaluation followed by yaml type parsing to produce the final value. This may alter inputs with special characters in unexpected ways, for example

  1. $ helm upgrade --set pwd=3jk$o2,z=f\30.e redis ./redis

results in “pwd: 3jk” and “z: f30.e”. Use single quotes to avoid shell evaluation and argument delimiters, and use backslash to escape yaml special characters:

  1. $ helm upgrade --set pwd='3jk$o2z=f\\30.e' redis ./redis

which results in the expected “pwd: 3jk$o2z=f\30.e”. If a single quote occurs in your value then follow your shell convention for escaping it; for example in bash:

  1. $ helm upgrade --set pwd='3jk$o2z=f\\30with'\''quote'

which results in “pwd: 3jk$o2z=f\30with’quote”.

  1. helm upgrade [RELEASE] [CHART] [flags]

Options

  1. --atomic if set, upgrade process rolls back changes made in case of failed upgrade, also sets --wait flag
  2. --ca-file string verify certificates of HTTPS-enabled servers using this CA bundle
  3. --cert-file string identify HTTPS client using this SSL certificate file
  4. --cleanup-on-fail allow deletion of new resources created in this upgrade when upgrade failed
  5. --description string specify the description to use for the upgrade, rather than the default
  6. --devel use development versions, too. Equivalent to version '>0.0.0-0'. If --version is set, this is ignored.
  7. --dry-run simulate an upgrade
  8. --force force resource update through delete/recreate if needed
  9. -h, --help help for upgrade
  10. -i, --install if a release by this name doesn't already exist, run an install
  11. --key-file string identify HTTPS client using this SSL key file
  12. --keyring string path to the keyring that contains public signing keys (default "~/.gnupg/pubring.gpg")
  13. --namespace string namespace to install the release into (only used if --install is set). Defaults to the current kube config namespace
  14. --no-hooks disable pre/post upgrade hooks
  15. --password string chart repository password where to locate the requested chart
  16. --recreate-pods performs pods restart for the resource if applicable
  17. --render-subchart-notes render subchart notes along with parent
  18. --repo string chart repository url where to locate the requested chart
  19. --reset-values when upgrading, reset the values to the ones built into the chart
  20. --reuse-values when upgrading, reuse the last release's values and merge in any overrides from the command line via --set and -f. If '--reset-values' is specified, this is ignored.
  21. --set stringArray set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
  22. --set-file stringArray set values from respective files specified via the command line (can specify multiple or separate values with commas: key1=path1,key2=path2)
  23. --set-string stringArray set STRING values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
  24. --timeout int time in seconds to wait for any individual Kubernetes operation (like Jobs for hooks) (default 300)
  25. --tls enable TLS for request
  26. --tls-ca-cert string path to TLS CA certificate file (default "$HELM-HOME/ca.pem")
  27. --tls-cert string path to TLS certificate file (default "$HELM-HOME/cert.pem")
  28. --tls-hostname string the server name used to verify the hostname on the returned certificates from the server
  29. --tls-key string path to TLS key file (default "$HELM-HOME/key.pem")
  30. --tls-verify enable TLS for request and verify remote
  31. --username string chart repository username where to locate the requested chart
  32. -f, --values valueFiles specify values in a YAML file or a URL(can specify multiple) (default [])
  33. --verify verify the provenance of the chart before upgrading
  34. --version string specify the exact chart version to use. If this is not specified, the latest version is used
  35. --wait if set, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful. It will wait for as long as --timeout

Options inherited from parent commands

  1. --debug enable verbose output
  2. --home string location of your Helm config. Overrides $HELM-HOME (default "~/.helm")
  3. --host string address of Tiller. Overrides $HELM-HOST
  4. --kube-context string name of the kubeconfig context to use
  5. --kubeconfig string absolute path to the kubeconfig file to use
  6. --tiller-connection-timeout int the duration (in seconds) Helm will wait to establish a connection to tiller (default 300)
  7. --tiller-namespace string namespace of Tiller (default "kube-system")

SEE ALSO

  • helm - The Helm package manager for Kubernetes.
Auto generated by spf13/cobra on 5-Feb-2019