Skip to content

Commit 03ca388

Browse files
authored
Merge pull request #63023 from skopacz1/OSDOCS-7104
OSDOCS-7104: new update duration diagram
2 parents df09f6b + 42be2c5 commit 03ca388

File tree

3 files changed

+53
-10
lines changed

3 files changed

+53
-10
lines changed

images/update-duration.png

66.6 KB
Loading

modules/update-duration-example.adoc

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * updating/understanding_updates/understanding-openshift-update-duration.adoc
4+
5+
:_content-type: CONCEPT
6+
[id="update-duration-example_{context}"]
7+
= Example update duration of cluster Operators
8+
9+
image::update-duration.png[A diagram displaying the periods during which cluster Operators update themselves during an OCP update]
10+
11+
The previous diagram shows an example of the time that cluster Operators might take to update to their new versions.
12+
The example is based on a three-node AWS OVN cluster, which has a healthy compute `MachineConfigPool` and no workloads that take long to drain, updating from 4.13 to 4.14.
13+
14+
[NOTE]
15+
====
16+
* The specific update duration of a cluster and its Operators can vary based on several cluster characteristics, such as the target version, the amount of nodes, and the types of workloads scheduled to the nodes.
17+
18+
* Some Operators, such as the Cluster Version Operator, update themselves in a short amount of time.
19+
These Operators have either been omitted from the diagram or are included in the broader group of Operators labeled "Other Operators in parallel".
20+
====
21+
22+
Each cluster Operator has characteristics that affect the time it takes to update itself.
23+
For instance, the Kube API Server Operator in this example took more than eleven minutes to update because `kube-apiserver` provides graceful termination support, meaning that existing, in-flight requests are allowed to complete gracefully.
24+
This might result in a longer shutdown of the `kube-apiserver`.
25+
In the case of this Operator, update speed is sacrificed to help prevent and limit disruptions to cluster functionality during an update.
26+
27+
Another characteristic that affects the update duration of an Operator is whether the Operator utilizes DaemonSets.
28+
The Network and DNS Operators utilize full-cluster DaemonSets, which can take time to roll out their version changes, and this is one of several reasons why these Operators might take longer to update themselves.
29+
30+
The update duration for some Operators is heavily dependent on characteristics of the cluster itself. For instance, the Machine Config Operator update applies machine configuration changes to each node in the cluster. A cluster with many nodes has a longer update duration for the Machine Config Operator compared to a cluster with fewer nodes.
31+
32+
[NOTE]
33+
====
34+
Each cluster Operator is assigned a stage during which it can be updated.
35+
Operators within the same stage can update simultaneously, and Operators in a given stage cannot begin updating until all previous stages have been completed.
36+
For more information, see "Understanding how manifests are applied during an update" in the "Additional resources" section.
37+
====

updating/understanding_updates/understanding-openshift-update-duration.adoc

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,6 @@ To do: Remove this comment once 4.13 docs are EOL.
1414

1515
{product-title} update duration varies based on the deployment topology. This page helps you understand the factors that affect update duration and estimate how long the cluster update takes in your environment.
1616

17-
[id="update-duration-prerequisites"]
18-
== Prerequisites
19-
* You are familiar with xref:../../architecture/architecture.adoc#architecture[OpenShift Container Platform architecture] and xref:../../updating/understanding_updates/intro-to-updates.adoc#understanding-openshift-updates[OpenShift Container Platform updates].
20-
2117
// Factors affecting update duration
2218
include::modules/update-duration-factors.adoc[leveloffset=+1]
2319

@@ -28,15 +24,9 @@ In {product-title}, the cluster update happens in two phases:
2824
* Cluster Version Operator (CVO) target update payload deployment
2925
* Machine Config Operator (MCO) node updates
3026

31-
3227
// Cluster Version Operator target update payload deployment
3328
include::modules/update-duration-cvo.adoc[leveloffset=+2]
3429

35-
[role="_additional-resources"]
36-
.Additional resources
37-
38-
* xref:../../updating/understanding_updates/intro-to-updates.adoc#understanding-openshift-updates[Introduction to OpenShift updates]
39-
4030
// Machine Config Operator node updates
4131
include::modules/update-duration-mco.adoc[leveloffset=+2]
4232

@@ -46,6 +36,15 @@ include::modules/update-duration-mco.adoc[leveloffset=+2]
4636
* xref:../../post_installation_configuration/machine-configuration-tasks.adoc#machine-config-overview-post-install-machine-configuration-tasks[Machine config overview]
4737
* xref:../../nodes/pods/nodes-pods-configuring.adoc#nodes-pods-configuring-pod-distruption-about_nodes-pods-configuring[Pod disruption budget]
4838

39+
//Example update duration of cluster Operators
40+
include::modules/update-duration-example.adoc[leveloffset=+2]
41+
42+
[role="_additional-resources"]
43+
.Additional resources
44+
45+
* xref:../../updating/understanding_updates/intro-to-updates.adoc#understanding-openshift-updates[Introduction to OpenShift updates]
46+
* xref:../../updating/understanding_updates/how-updates-work.adoc#update-manifest-application_how-updates-work[Understanding how manifests are applied during an update]
47+
4948
// Estimating cluster update time
5049
include::modules/update-duration-estimate-cluster-update-time.adoc[leveloffset=+1]
5150

@@ -58,3 +57,10 @@ include::modules/update-duration-rhel-nodes.adoc[leveloffset=+1]
5857

5958
* xref:../../updating/updating_a_cluster/updating-cluster-rhel-compute.adoc#updating-cluster-rhel-compute[Updating RHEL compute machines]
6059
endif::openshift-origin[]
60+
61+
[role="_additional-resources"]
62+
[id="additional-resources_update-duration"]
63+
== Additional resources
64+
65+
* xref:../../architecture/architecture.adoc#architecture[OpenShift Container Platform architecture]
66+
* xref:../../updating/understanding_updates/intro-to-updates.adoc#understanding-openshift-updates[OpenShift Container Platform updates]

0 commit comments

Comments
 (0)