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: content/en/docs/deployment/private-cloud/reduced-downtime-deployment.md
+10-11Lines changed: 10 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,8 +12,8 @@ The Mendix on Kubernetes Operator uses a [recreate](https://kubernetes.io/docs/c
12
12
13
13
Starting from version 2.24.0, the Operator will automatically perform a Rolling update for any environment that meets the [prerequisites](#prerequisites-2.24.0):
14
14
15
-
1. The environment has two or more replicas.
16
-
2. The configuration update does not modify the app source code (MDA or container image).
15
+
* The environment has two or more replicas.
16
+
* The configuration update does not modify the app source code (MDA or container image).
17
17
18
18
{{% alert color="info" %}}
19
19
Versions 2.20.0 to 2.23.1 of the Operator had an option to manually enable a **PreferRolling** strategy. That is, the Operator tried to perform a rolling update whenever possible. If the Operator detected that a database schema update was needed, it switched to a Recreate strategy to perform a full restart. If the new version of the app had model changes, deploying it required a schema update. In that case, the Mendix on Kubernetes Operator automatically stopped all replicas of the app, causing downtime.
@@ -29,26 +29,25 @@ If you have manually created PodDisruptionBudgets for an app, delete it and inst
29
29
30
30
## Prerequisites
31
31
32
-
## Prerequisites for Operator version 2.24.0 and higher{#prerequisites-2.24.0}
32
+
## Prerequisites for Operator version 2.24.0 and Higher{#prerequisites-2.24.0}
33
33
34
-
The Operator will automatically perform a Rolling update for any environment that meets the following conditions:
34
+
The Operator automatically performs a Rolling update for any environment that meets the following conditions:
35
35
36
-
* The environment has 2 or more replicas.
36
+
* The environment has two or more replicas.
37
37
* The configuration update does not modify the app source code (MDA or container image).
38
38
39
39
{{% alert color="warning" %}}
40
-
Mendix Operator versions 2.20.0 to 2.23.1 had a experimental feature that also performed database schema upgrades with a Rolling strategy.
41
-
This feature was removed in Operator 2.24.0, as it doesn't work well with the latest Mendix Runtime security features.
40
+
Mendix Operator versions 2.20.0 to 2.23.1 had an experimental feature that also performed database schema upgrades with a Rolling strategy. This feature was removed in Operator 2.24.0, as it does not work well with the latest Mendix Runtime security features.
42
41
{{% /alert %}}
43
42
44
-
## How the Operator chooses a deployment strategy
43
+
## How the Operator Chooses a Deployment Strategy
45
44
46
-
If any of the following conditions is true, the Operator will always use a **Recreate** strategy, performing a full stop of all of the app's replicas:
45
+
If any of the following conditions is true, the Operator always uses a **Recreate** strategy, performing a full stop of all of the app's replicas:
47
46
48
47
* There are app pods that are running a different (older) version of the app image: there are changes in the app MDA or base OS image.
49
-
* The app environment has 1 replica.
48
+
* The app environment has one replica.
50
49
51
-
Otherwise, the Operator will perform a **Rolling** update automatically.
50
+
Otherwise, the Operator performs a **Rolling** update automatically.
52
51
53
52
As a **Rolling** strategy can run multiple versions of the app at the same time, requests from the browser must be routed to a matching app version (that is, an app that has the same microflow or nanoflow parameters). The Operator uses Kubernetes service labels to perform an atomic switch, and instantly switch all clients to the updated version. This is done automatically once the number of updated replicas reaches a certain threshold. By default the threshold is 50% of all replicas. The value is specified in the [switchoverThreshold](#prefer-rolling-in-standalone) parameter.
0 commit comments