You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: site/en/adminGuide/upgrade_milvus_standalone-helm.md
+12-10Lines changed: 12 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,8 +24,10 @@ Upgrading from Milvus 2.5.x to {{var.milvus_release_version}} involves significa
24
24
-**New components**: Introduction of Streaming Node and other new components
25
25
-**Component optimizations**: Enhanced performance and streamlined architecture
26
26
27
+
This upgrade process ensures proper migration to the new architecture. For more information on architecture changes, refer to <ahref="architecture_overview.md">Milvus Architecture Overview</a>.
28
+
27
29
<divclass="alert note">
28
-
This upgrade is <strong>irreversible</strong>. You cannot roll back to a previous version once the upgrade is completed. For details on architectural changes, refer to <ahref="architecture_overview.md">Milvus Architecture Overview</a>.
30
+
This upgrade is <strong>irreversible</strong>. You cannot roll back to a previous version once the upgrade is completed.
29
31
</div>
30
32
31
33
### Requirements
@@ -61,10 +63,16 @@ The Milvus Helm Charts repo at <code>https://milvus-io.github.io/milvus-helm/</c
61
63
62
64
### Step 2: Upgrade to v2.5.16
63
65
66
+
<divclass="alert-note">
67
+
68
+
Skip this step if your standalone deployment is already running v2.5.16 or higher.
@@ -97,10 +102,7 @@ Confirm your standalone deployment is running the new version:
97
102
98
103
```bash
99
104
# Check pod status
100
-
kubectl get pods -l app.kubernetes.io/name=milvus
101
-
102
-
# Verify Helm release
103
-
helm list
105
+
kubectl get pods
104
106
```
105
107
106
108
For additional support, consult the [Milvus documentation](https://milvus.io/docs) or [community forum](https://github.com/milvus-io/milvus/discussions).
Once you have upgraded your Milvus operator to the latest version, you have the following choices:
19
+
### What's new in v{{var.milvus_release_version}}
28
20
21
+
Upgrading from Milvus 2.5.x to {{var.milvus_release_version}} involves significant architectural changes:
29
22
30
-
- To upgrade Milvus from v2.2.3, you can [conduct a rolling upgrade](#Conduct-a-rolling-upgrade).
31
-
- To upgrade Milvus from a minor release before v2.2.3 to {{var.milvus_release_version}}, you are advised to [upgrade Milvus by changing its image version](#Upgrade-Milvus-by-changing-its-image).
32
-
- To upgrade Milvus from v2.1.x to {{var.milvus_release_version}}, you need to [migrate the metadata](#Migrate-the-metadata) before the actual upgrade.
23
+
-**New components**: Introduction of Streaming Node and other new components
24
+
-**Component optimizations**: Enhanced performance and streamlined architecture for standalone deployments
33
25
34
-
> **Note**: It's highly recommended to upgrade one minor version at a time, and to use the latest stable release of that minor version. For example, if you are upgrading from v2.4.x to v2.6.x, you should first upgrade to the latest v2.4.x, then to the latest v2.5.x, and finally to v2.6.x. This ensures that you are using the latest stable release of each minor version, which is more likely to be compatible with your existing data and configurations.
26
+
This upgrade process ensures proper migration to the new architecture. For more information on architecture changes, refer to <ahref="architecture_overview.md">Milvus Architecture Overview</a>.
35
27
36
-
## Conduct a rolling upgrade
28
+
<divclass="alert note">
29
+
This upgrade is <strong>irreversible</strong>. You cannot roll back to a previous version once the upgrade is completed.
30
+
</div>
37
31
38
-
Since Milvus 2.2.3, you can configure Milvus coordinators to work in active-standby mode and enable the rolling upgrade feature for them, so that Milvus can respond to incoming requests during the coordinator upgrades. In previous releases, coordinators are to be removed and then created during an upgrade, which may introduce certain downtime of the service.
32
+
### Requirements
39
33
40
-
Based on the rolling update capabilities provided by Kubernetes, the Milvus operator enforces an ordered update of the deployments according to their dependencies. In addition, Milvus implements a mechanism to ensure that its components remain compatible with those depending on them during the upgrade, significantly reducing potential service downtime.
34
+
**System requirements:**
35
+
- Kubernetes cluster with Milvus standalone deployed via Milvus Operator
36
+
-`kubectl` configured to access your cluster
37
+
- Helm 3.x installed
41
38
42
-
The rolling upgrade feature is disabled by default. You need to explicitly enable it through a configuration file.
39
+
**Compatibility requirements:**
40
+
- Milvus v2.6.0-rc1 is **not compatible** with v{{var.milvus_release_version}}. Direct upgrades from release candidates are not supported.
41
+
- You **must** upgrade to v2.5.16 before upgrading to v{{var.milvus_release_version}}.
43
42
44
-
```yaml
45
-
apiVersion: milvus.io/v1beta1
46
-
kind: Milvus
47
-
metadata:
48
-
name: my-release
49
-
spec:
50
-
components:
51
-
enableRollingUpdate: true
52
-
imageUpdateMode: rollingUpgrade # Default value, can be omitted
In this above configuration file, set `spec.components.enableRollingUpdate` to `true` and set `spec.components.image` to the desired Milvus version.
45
+
### Step 1: Upgrade Milvus Operator
57
46
58
-
By default, Milvus performs a rolling upgrade for coordinators in an ordered way, in which it replaces the coordinator pod images one after another. To reduce the upgrade time, consider setting `spec.components.imageUpdateMode` to `all` so that Milvus replaces all pod images at the same time.
47
+
First, upgrade your Milvus Operator to v{{var.milvus_operator_version}}:
Skip this step if your standalone deployment is already running v2.5.16 or higher.
93
68
94
-
In normal cases, you can simply update your Milvus to the latest by changing its image. However, note that there will be a certain downtime when upgrading Milvus in this way.
69
+
</div>
95
70
96
-
Compose a configuration file as follows and save it as **milvusupgrade.yaml**:
71
+
Create a configuration file `milvusupgrade.yaml` to upgrade to v2.5.16:
97
72
98
73
```yaml
99
74
apiVersion: milvus.io/v1beta1
100
75
kind: Milvus
101
76
metadata:
102
-
name: my-release
103
-
labels:
104
-
app: milvus
77
+
name: my-release # Replace with your actual release name
Since Milvus 2.2.0, the metadata is incompatible with that in previous releases. The following example snippets assume an upgrade from Milvus 2.1.4 to Milvus v{{var.milvus_release_version}}.
91
+
```bash
92
+
# Verify all pods are ready
93
+
kubectl get pods
94
+
```
120
95
121
-
### 1. Create a `.yaml` file for metadata migration
96
+
#### 2.2 Upgrade to v{{var.milvus_release_version}}
122
97
123
-
Create a metadata migration file. The following is an example. You need to specify the `name`, `sourceVersion`, and `targetVersion` in the configuration file. The following example sets the `name` to `my-release-upgrade`, `sourceVersion` to `v2.1.4`, and `targetVersion` to `v{{var.milvus_release_version}}`. This means that your Milvus instance will be upgraded from v2.1.4 to v{{var.milvus_release_version}}.
98
+
Once v2.5.16 is running successfully, upgradeto v{{var.milvus_release_version}}:
124
99
125
-
```
100
+
Update your configuration file (`milvusupgrade.yaml` in this example):
101
+
102
+
```yaml
126
103
apiVersion: milvus.io/v1beta1
127
-
kind: MilvusUpgrade
104
+
kind: Milvus
128
105
metadata:
129
-
name: my-release-upgrade
106
+
name: my-release# Replace with your actual release name
Run the following command to check the status of your metadata migration.
120
+
Confirm your standalone deployment is running the new version:
158
121
122
+
```bash
123
+
# Check pod status
124
+
kubectl get pods
159
125
```
160
-
kubectl describe milvus release-name
161
-
```
162
-
163
-
The status of `ready` in the output means that the metadata migration is successful.
164
-
165
-
Or, you can also run `kubectl get pod` to check all the pods. If all the pods are `ready`, the metadata migration is successful.
166
-
167
-
168
-
169
-
### 4. Delete `my-release-upgrade`
170
126
171
-
When the upgrade is successful, delete `my-release-upgrade` in the YAML file.
127
+
For additional support, consult the <ahref="https://milvus.io/docs">Milvus documentation</a> or <ahref="https://github.com/milvus-io/milvus/discussions">community forum</a>.
0 commit comments