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: doc/user/content/installation/upgrading.md
+31-18Lines changed: 31 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,9 @@ When upgrading:
22
22
- Always upgrade your Materialize instances after upgrading the operator to
23
23
ensure compatibility.
24
24
25
+
- Always check the [version specific upgrade notes](#version-specific-upgrade-notes).
26
+
27
+
25
28
### Upgrading the Helm Chart
26
29
27
30
{{< important >}}
@@ -53,8 +56,6 @@ ensure compatibility.
53
56
54
57
To upgrade your Materialize instances, you'll need to update the Materialize custom resource and trigger a rollout.
55
58
56
-
By default, the operator performs rolling upgrades (`inPlaceRollout: false`) which minimize downtime but require additional Kubernetes cluster resources during the transition. However, keep in mind that rolling upgrades typically take longer to complete due to the sequential rollout process. For environments where downtime is acceptable, you can opt for in-place upgrades (`inPlaceRollout: true`).
57
-
58
59
#### Determining the Version
59
60
60
61
The compatible version for your Materialize instances is specified in the Helm chart's `appVersion`. For the installed chart version, you can run:
@@ -69,11 +70,11 @@ Or check the `Chart.yaml` file in the `misc/helm-charts/operator` directory:
69
70
apiVersion: v2
70
71
name: materialize-operator
71
72
# ...
72
-
version: 25.1.0-beta.1
73
-
appVersion: v0.125.2# Use this version for your Materialize instances
73
+
version: 26.0.0
74
+
appVersion: v26.0.0# Use this version for your Materialize instances
74
75
```
75
76
76
-
Use the `appVersion` (`v0.125.2` in this case) when updating your Materialize instances to ensure compatibility.
77
+
Use the `appVersion` (`v26.0.0` in this case) when updating your Materialize instances to ensure compatibility.
77
78
78
79
#### Using `kubectl` patch
79
80
@@ -84,7 +85,7 @@ For standard upgrades such as image updates:
The behavior of a forced rollout follows your `inPlaceRollout` setting:
141
-
- With `inPlaceRollout: false` (default): Creates new instances before terminating the old ones, temporarily requiring twice the resources during the transition
142
-
- With `inPlaceRollout: true`: Directly replaces the instances, causing downtime but without requiring additional resources
142
+
The behavior of a the new version rollout follows your `rolloutStrategy` setting:
143
+
- With `WaitUntilReady` (default): New instances are created and all dataflows are determined to be ready before cuto over and termination the old version, temporarily requiring twice the resources during the transition
144
+
- With `ImmediatelyPromoteCausingDowntime`: Tears down the prior version before creating and promoting the new version. This causes downtime equal to the duration it takes for datalfows to hydrate, but does not require additional resources
- `requestRollout`triggers a rollout only if there are actual changes to the instance (like image updates)
159
-
- `forceRollout`triggers a rollout regardless of whether there are changes, which can be useful for debugging or when you need to force a rollout for other reasons
160
-
- Both fields expect UUID values and each rollout requires a new, unique UUID value
161
-
- `inPlaceRollout`:
162
-
- When `false` (default): Performs a rolling upgrade by spawning new instances before terminating old ones. While this minimizes downtime, there may still be a brief interruption during the transition.
163
-
- When `true`: Directly replaces existing instances, which will cause downtime.
160
+
- `requestRollout`triggers a rollout only if there are actual changes to the instance (like image updates) - requires a new UUID each rollout.
161
+
- `forceRollout`triggers a rollout regardless of whether there are changes, which can be useful for debugging or when you need to force a rollout for other reasons - requires a new UUID each rollout
162
+
- `rolloutStrategy`:
163
+
- `WaitUntilReady` (default): New instances are created and all dataflows are determined to be ready before cuto over and termination the old version, temporarily requiring twice the resources during the transition
164
+
- `ImmediatelyPromoteCausingDowntime`: Tears down the prior version before creating and promoting the new version. This causes downtime equal to the duration it takes for datalfows to hydrate, but does not require additional resources
165
+
- `inPlaceRollout`: Deprecated and ignored. Please use `rolloutStrategy`.
166
+
167
+
### Version Specific Upgrade Notes
168
+
169
+
#### Upgrading to `v26`
170
+
- `v26`is a major version upgrade. In order to upgrade to `v26` you must first upgrade to `v25.2.15`, then upgrade to `v26.0.0`.
171
+
- `v26`introduced a new requirement for license keys. In order to upgrade you will first need to add a license key to the `backendSecret` used in the spec for your Materialize resource.
172
+
# TODO link to licence key doc / community license key marketing page
173
+
174
+
175
+
#### Upgrading between minor versions less than `v26`
176
+
- Prior to `v26` it is always required to upgrade at most one minor version at a time. For example upgrading from `v25.1.5` to `v25.2.15` is permitted.
0 commit comments