+++
title = "helm upgrade"
weight = "40"

tags = ["commands"]
section = "helm-commands"
categories = ["helm-commands"]
type = "page"

slug = "helm-upgrade"

[menu.main]
  url = "helm-upgrade"
  parent = "helm-commands"

+++

## helm upgrade

upgrade a release

### Synopsis



This command upgrades a release to a new version of a chart.

The upgrade arguments must be a release and chart. The chart
argument can be either: a chart reference('stable/mariadb'), a path to a chart directory,
a packaged chart, or a fully qualified URL. For chart references, the latest
version will be specified unless the '--version' flag is set.

To override values in a chart, use either the '--values' flag and pass in a file
or use the '--set' flag and pass configuration from the command line.

You can specify the '--values'/'-f' flag multiple times. The priority will be given to the
last (right-most) file specified. For example, if both myvalues.yaml and override.yaml
contained a key called 'Test', the value set in override.yaml would take precedence:

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

You can specify the '--set' flag multiple times. The priority will be given to the
last (right-most) set specified. For example, if both 'bar' and 'newbar' values are
set for a key called 'foo', the 'newbar' value would take precedence:

	$ helm upgrade --set foo=bar --set foo=newbar redis ./redis


```
helm upgrade [RELEASE] [CHART]
```

### Options

```
      --ca-file string       verify certificates of HTTPS-enabled servers using this CA bundle
      --cert-file string     identify HTTPS client using this SSL certificate file
      --dry-run              simulate an upgrade
  -i, --install              if a release by this name doesn't already exist, run an install
      --key-file string      identify HTTPS client using this SSL key file
      --keyring string       path to the keyring that contains public signing keys (default "~/.gnupg/pubring.gpg")
      --namespace string     namespace to install the release into (only used if --install is set) (default "default")
      --no-hooks             disable pre/post upgrade hooks
      --recreate-pods        performs pods restart for the resource if applicable
      --repo string          chart repository url where to locate the requested chart
      --reset-values         when upgrading, reset the values to the ones built into the chart
      --reuse-values         when upgrading, reuse the last release's values, and merge in any new values. If '--reset-values' is specified, this is ignored.
      --set stringArray      set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
      --timeout int          time in seconds to wait for any individual kubernetes operation (like Jobs for hooks) (default 300)
      --tls                  enable TLS for request
      --tls-ca-cert string   path to TLS CA certificate file (default "$HELM_HOME/ca.pem")
      --tls-cert string      path to TLS certificate file (default "$HELM_HOME/cert.pem")
      --tls-key string       path to TLS key file (default "$HELM_HOME/key.pem")
      --tls-verify           enable TLS for request and verify remote
  -f, --values valueFiles    specify values in a YAML file (can specify multiple) (default [])
      --verify               verify the provenance of the chart before upgrading
      --version string       specify the exact chart version to use. If this is not specified, the latest version is used
      --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

```
      --debug                     enable verbose output
      --home string               location of your Helm config. Overrides $HELM_HOME (default "~/.helm")
      --host string               address of tiller. Overrides $HELM_HOST
      --kube-context string       name of the kubeconfig context to use
      --tiller-namespace string   namespace of tiller (default "kube-system")
```

### SEE ALSO
* [helm](#helm)	 - The Helm package manager for Kubernetes.