constellation/docs/versioned_docs/version-2.0/workflows/upgrade.md

36 lines
1.4 KiB
Markdown
Raw Normal View History

# Upgrade your cluster
2022-09-02 05:52:42 -04:00
2022-09-28 10:31:47 -04:00
Constellation provides an easy way to upgrade to the next release.
2022-09-02 05:52:42 -04:00
This involves choosing a new VM image to use for all nodes in the cluster and updating the cluster's expected measurements.
## Plan the upgrade
2022-09-28 10:31:47 -04:00
If you don't already know the image you want to upgrade to, use the `upgrade plan` command to pull a list of available updates.
2022-09-02 05:52:42 -04:00
```bash
constellation upgrade plan
```
2022-09-28 10:31:47 -04:00
The command lets you interactively choose from a list of available updates and prepares your Constellation config file for the next step.
2022-09-02 05:52:42 -04:00
2022-09-28 10:31:47 -04:00
To use the command in scripts, use the `--file` flag to compile the available options into a YAML file.
You can then set the chosen upgrade option in your Constellation config file.
2022-09-02 05:52:42 -04:00
:::caution
2022-09-28 10:31:47 -04:00
`constellation upgrade plan` only works for official Edgeless release images.
If your cluster is using a custom image, the Constellation CLI will fail to find compatible images.
2022-09-02 05:52:42 -04:00
However, you may still use the `upgrade execute` command by manually selecting a compatible image and setting it in your config file.
:::
## Execute the upgrade
Once your config file has been prepared with the new image and measurements, use the `upgrade execute` command to initiate the upgrade.
```bash
constellation upgrade execute
```
After the command has finished, the cluster will automatically replace old nodes using a rolling update strategy to ensure no downtime of the control or data plane.