# Upgrading a Cluster

> Octelium documentation. Canonical page: <https://octelium.com/docs/octelium/latest/install/cluster/upgrade>.

You can check whether there is a new latest version available for your Octelium *Cluster* as follows:

```bash
octops upgrade <DOMAIN> --check
```

You can upgrade a *Cluster* to the latest version as follows:

```bash
octops upgrade <DOMAIN>
```

> **Note:**
>
> If you installed the *Cluster* via the quick installation [guide](https://octelium.com/docs/octelium/latest/overview/quick-install.md), then use the kubeconfig path `/etc/rancher/k3s/k3s.yaml` as shown in detail [here](https://octelium.com/docs/octelium/latest/overview/quick-install.md#upgrade-the-cluster).

By default, the command uses the kubeconfig located at `$HOME/.kube/config` or if explicitly set by the `KUBECONFIG` environment variable. You can also explicitly set the underlying Kubernetes cluster kubeconfig file path via the `--kubeconfig` flag as follows:

```bash
octops upgrade <DOMAIN> --kubeconfig </PATH/TO/CLUSTER/KUBECONFIG>
```

By default the command starts upgrading the *Cluster* to the `latest` version. You can set a specific version using the `--version` flag as follows:

```bash
octops upgrade <DOMAIN> --kubeconfig </PATH/TO/CLUSTER/KUBECONFIG> --version <VERSION>
```

Upgrading the *Cluster* is done from within the kubernetes cluster itself by starting [Genesis](https://octelium.com/docs/octelium/latest/reference/components.md#genesis) as Kubernetes job to initiate the upgrade process. The whole operation should usually take a few minutes minutes depending on the performance and specs of the underlying kubernetes nodes. By default, the `octops upgrade` command immediately exits after starting the Genesis pod without waiting it to finish. You can, however, explicitly instruct the command to command until the Genesis job pod finishes the upgrade via the `--wait` flag as follows:

```bash
octops upgrade <DOMAIN> --wait
```
