Skip to content

Commit d26ea57

Browse files
authored
Add doc on how to upgrade etcd (#1476)
1 parent 0bad8ec commit d26ea57

File tree

3 files changed

+85
-0
lines changed

3 files changed

+85
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
import Tabs from '@theme/Tabs';
2+
import TabItem from '@theme/TabItem';
3+
4+
5+
6+
## Version matrix for embedded ETCD and vCluster
7+
8+
| vCluster Version | ETCD Version |
9+
|------------------|--------------|
10+
| v0.26.4 | v3.5.21 |
11+
| v0.26.5 | v3.5.25 |
12+
| v0.27.2 | v3.5.21 |
13+
| v0.27.3 | v3.5.25 |
14+
| v0.28.1 | v3.5.21 |
15+
| v0.28.2 | v3.5.25 |
16+
| v0.29.*+ | v3.6.* |
17+
18+
**Important**: Before upgrading, read the [ETCD blog post about upgrading from 3.5 to 3.6](https://etcd.io/blog/2025/upgrade_from_3.5_to_3.6_issue_followup/).
19+
20+
<Tabs>
21+
<TabItem value="embedded" label="Embedded ETCD">
22+
23+
<Tabs>
24+
<TabItem value="v0.26" label="vCluster v0.26.[0-4]">
25+
First upgrade to v0.26.5, it uses ETCD v3.5.25. Then, your ETCD data will be saved in a format compatible with upgrade to v3.6
26+
</TabItem>
27+
<TabItem value="v0.27" label="vCluster v0.27.[0-2]">
28+
First upgrade to v0.27.3, it uses ETCD v3.5.25. Then, your ETCD data will be saved in a format compatible with upgrade to v3.6
29+
</TabItem>
30+
<TabItem value="v0.28" label="vCluster v0.28.[0-1]">
31+
First upgrade to v0.28.2, it uses ETCD v3.5.25. Then, your ETCD data will be saved in a format compatible with upgrade to v3.6
32+
</TabItem>
33+
</Tabs>
34+
35+
</TabItem>
36+
37+
<TabItem value="deploy" label="Deployed ETCD">
38+
39+
Follow the ETCD-recommended upgrade path:
40+
1. **v3.5.21 → v3.5.25**
41+
2. **v3.5.25 → v3.6.x**
42+
43+
You may set ETCD image tag via:
44+
```yaml title="vcluster.yaml"
45+
controlPlane:
46+
backingStore:
47+
etcd:
48+
deploy:
49+
statefulSet:
50+
image:
51+
registry: quay.io
52+
repository: coreos/etcd
53+
tag: v3.5.25
54+
```
55+
56+
</TabItem>
57+
58+
</Tabs>

vcluster/configure/vcluster-yaml/control-plane/components/backing-store/etcd/embedded.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ An issue exists when upgrading etcd (from version 3.5.1 or later, but earlier th
2626

2727
To avoid this issue, vCluster does not upgrade etcd to version 3.6 until vCluster version 0.29.0.
2828

29+
Follow [vCluster documentation](../../../../../../learn-how-to/control-plane/container/safely-upgrade-etcd) on how to upgrade from v3.5 -> v3.6.
30+
2931
Any vCluster running a version earlier than 0.24.2, must first be upgraded to a version between 0.24.2 and 0.28.x, before upgrading to version 0.29.0.
3032

3133
For more information, see the [official etcd documentation](https://etcd.io/blog/2025/upgrade_from_3.5_to_3.6_issue/).
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
title: Safely upgrade ETCD v3.5 -> v3.6
3+
sidebar_label: Upgrade ETCD to v3.6
4+
sidebar_position: 6
5+
toc_max_heading_level: 3
6+
description: Learn how to upgrade ETCD to v3.6 in your virtual cluster.
7+
---
8+
9+
import EtcdUpgradeGuide from '@site/vcluster/_fragments/safely-upgrade-etcd.mdx'
10+
import BackingStore from '../../../_partials/config/controlPlane/backingStore.mdx'
11+
12+
## Upgrade ETCD from v3.5 to v3.6 in vCluster
13+
14+
In vCluster, etcd can serve as the underlying storage backend, similar to vanilla Kubernetes. Its version can be configured either explicitly via a `controlPlane.backingStore.etcd.deploy.statefulSet.image.tag` section in the `vcluster.yaml` or implicitly derived from the vCluster version. Before upgrading, we recommend taking an etcd snapshot for safety; the procedure is detailed in the [backup documentation](../../../manage/backup-restore/backup).
15+
16+
etcd has identified and fixed an additional scenario that may cause upgrade failures when moving from etcd v3.5 to v3.6, specifically during rolling replacement upgrades where a new learner may receive an incorrect snapshot from an older member (≤ v3.5.19). This issue, detailed in [issue #20793](https://github.com/etcd-io/etcd/issues/20793), was addressed in etcd v3.5.24 via [PR #20797](https://github.com/etcd-io/etcd/pull/20797). <br/>
17+
The recommended solution is to first upgrade to etcd v3.5.24 (or higher) before proceeding to v3.6. For users on v3.5.20-v3.5.23 from a fresh install, a direct upgrade to v3.6 is safe. <br/>
18+
To safely upgrade etcd in vCluster, continue reading this page for detailed steps.<br/><br/>
19+
For more details, refer to the [etcd upgrade guide](https://etcd.io/docs/latest/upgrades/upgrade_3_6/).
20+
21+
<EtcdUpgradeGuide />
22+
23+
## Config reference
24+
25+
<BackingStore />

0 commit comments

Comments
 (0)