Skip to content

Commit 018e821

Browse files
authored
Merge pull request #56336 from lahinson/hcp-upgrades-osdocs-5327
[OSDOCS-5327]: Adding updates docs for hosted control planes
2 parents ccc4d07 + 200897e commit 018e821

8 files changed

+163
-1
lines changed

_topic_maps/_topic_map.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -622,6 +622,8 @@ Topics:
622622
File: updating-hardware-on-nodes-running-on-vsphere
623623
- Name: Preflight validation for Kernel Module Management (KMM) Modules
624624
File: kmm-preflight-validation
625+
- Name: Updating hosted control planes
626+
File: updating-hosted-control-planes
625627
# - Name: Troubleshooting an update
626628
# File: updating-troubleshooting
627629
---

hosted_control_planes/hcp-managing.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ toc::[]
88

99
After you configure your environment for hosted control planes and create a hosted cluster, you can further manage your clusters and nodes.
1010

11-
//updating hosted control planes
11+
include::modules/updates-for-hosted-control-planes.adoc[leveloffset=+1]
12+
include::modules/updating-node-pools-for-hcp.adoc[leveloffset=+1]
13+
include::modules/configuring-node-pools-for-hcp.adoc[leveloffset=+1]
1214
//restarting hosted control plane components
1315
//pausing reconciliation
1416
//debugging why nodes have not joined the cluster
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * updates/updating-hosted-control-planes.adoc
4+
// * hosted_control_planes/hcp-managing.adoc
5+
6+
:_content-type: PROCEDURE
7+
[id="configuring-node-pools-for-hcp_{context}"]
8+
= Configuring node pools for hosted control planes
9+
10+
On hosted control planes, you can configure node pools by creating a `MachineConfig` object inside of a config map in the management cluster.
11+
12+
//.Prerequisites
13+
14+
//Are any prerequisites needed for this procedure? i.e., does the customer need to perform an update first?
15+
16+
.Procedure
17+
18+
. To create a `MachineConfig` object inside of a config map in the management cluster, enter the following information:
19+
+
20+
[source,yaml]
21+
----
22+
apiVersion: v1
23+
kind: ConfigMap
24+
metadata:
25+
name: <configmap-name>
26+
namespace: clusters
27+
data:
28+
config: |
29+
apiVersion: machineconfiguration.openshift.io/v1
30+
kind: MachineConfig
31+
metadata:
32+
labels:
33+
machineconfiguration.openshift.io/role: worker
34+
name: <machineconfig-name>
35+
spec:
36+
config:
37+
ignition:
38+
version: 3.2.0
39+
storage:
40+
files:
41+
- contents:
42+
source: data:...
43+
mode: 420
44+
overwrite: true
45+
path: ${PATH} <1>
46+
----
47+
<1> Sets the path on the node where the `MachineConfig` object is stored.
48+
49+
. After you add the object to the config map, you can apply the config map to the node pool as follows:
50+
+
51+
[source,yaml]
52+
----
53+
spec:
54+
config:
55+
- name: ${CONFIGMAP_NAME}
56+
----
57+
58+
//.Verification
59+
60+
// Does the user need to do anything to verify that the procedure was successful?
61+
62+
63+
64+
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * updates/updating-hosted-control-planes.adoc
4+
// * hosted_control_planes/hcp-managing.adoc
5+
6+
:_content-type: CONCEPT
7+
[id="updates-for-hosted-control-planes_{context}"]
8+
= Updates for hosted control planes
9+
10+
Updates for hosted control planes involve updating the hosted cluster and the node pools. For a cluster to remain fully operational during an update process, you must meet the requirements of the link:https://kubernetes.io/releases/version-skew-policy/[Kubernetes version skew policy] while completing the control plane and node updates.
11+
12+
[id="updates-for-hosted-control-planes-hostedcluster_{context}"]
13+
== Updates for the hosted cluster
14+
15+
The `spec.release` value dictates the version of the control plane. The `HostedCluster` object transmits the intended `spec.release` value to the `HostedControlPlane.spec.release` value and runs the appropriate Control Plane Operator version.
16+
17+
The hosted control plane manages the rollout of the new version of the control plane components along with any {product-title} components through the new version of the Cluster Version Operator (CVO).
18+
19+
[id="updates-for-hosted-control-planes-nodepools_{context}"]
20+
== Updates for node pools
21+
22+
With node pools, you can configure the software that is running in the nodes by exposing the `spec.release` and `spec.config` values. You can start a rolling node pool update in the following ways:
23+
24+
* Changing the `spec.release` or `spec.config` values.
25+
* Changing any platform-specific field, such as the AWS instance type. The result is a set of new instances with the new type.
26+
* Changing the cluster configuration, if the change propagates to the node.
27+
28+
Node pools support replace updates and in-place updates. The `nodepool.spec.release` value dictates the version of any particular node pool. A `NodePool` object completes a replace or an in-place rolling update according to the `.spec.management.upgradeType` value.
29+
30+
After you create a node pool, you cannot change the update type. If you want to change the update type, you must create a node pool and delete the other one.
31+
32+
[id="updates-for-nodepools-replace_{context}"]
33+
=== Replace updates for node pools
34+
35+
A _replace_ update creates instances in the new version while it removes old instances from the previous version. This update type is effective in cloud environments where this level of immutability is cost effective.
36+
37+
Replace updates do not preserve any manual changes because the node is entirely re-provisioned.
38+
39+
[id="updates-for-nodepools-inplace_{context}"]
40+
=== In place updates for node pools
41+
42+
An _in-place_ update directly updates the operating systems of the instances. This type is suitable for environments where the infrastructure constraints are higher, such as bare metal.
43+
44+
In-place updates can preserve manual changes, but will report errors if you make manual changes to any file system or operating system configuration that the cluster directly manages, such as kubelet certificates.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * updates/updating-hosted-control-planes.adoc
4+
// * hosted_control_planes/hcp-managing.adoc
5+
6+
:_content-type: PROCEDURE
7+
[id="updating-node-pools-for-hcp_{context}"]
8+
= Updating node pools for hosted control planes
9+
10+
On hosted control planes, you update your version of {product-title} by updating the node pools. The node pool version must not surpass the hosted control plane version.
11+
12+
.Procedure
13+
14+
* To start the process to update to a new version of {product-title}, change the `spec.release.image` value of the node pool by entering the following command:
15+
+
16+
[source,terminal]
17+
----
18+
$ oc -n NAMESPACE patch HC HCNAME --patch '{"spec":{"release":{"image": "example"}}}' --type=merge
19+
----
20+
21+
.Verification
22+
23+
* To verify that the new version was rolled out, check the `.status.version` value and the status conditions.
24+
25+
26+

updating/index.adoc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,11 @@ xref:../updating/updating-hardware-on-nodes-running-on-vsphere.adoc#updating-har
9696
====
9797
Using hardware version 13 for your cluster nodes running on vSphere is now deprecated. This version is still fully supported, but support will be removed in a future version of {product-title}. Hardware version 15 is now the default for vSphere virtual machines in {product-title}.
9898
====
99+
100+
[id="updating-clusters-overview-hosted-control-planes"]
101+
== Updating hosted control planes
102+
103+
xref:../updating/updating-hosted-control-planes.adoc#updating-hosted-control-planes[Updating hosted control planes]: On hosted control planes for {product-title}, updates are decoupled between the control plane and the nodes. Your service cluster provider, which is the user that hosts the cluster control planes, can manage the updates as needed. The hosted cluster handles control plane updates, and node pools handle node upgrades. For more information, see the following information:
104+
105+
* xref:../updating/updating-hosted-control-planes.adoc#updates-for-hosted-control-planes_updating-hosted-control-planes[Updates for hosted control planes]
106+
* xref:../updating/updating-hosted-control-planes.adoc#updating-node-pools-for-hcp_updating-hosted-control-planes[Updating node pools for hosted control planes]

updating/understanding-openshift-updates.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,7 @@ include::modules/update-common-terms.adoc[leveloffset=+1]
2525
.Additional resources
2626

2727
* xref:../post_installation_configuration/machine-configuration-tasks.adoc#machine-config-overview-post-install-machine-configuration-tasks[Machine config overview]
28+
ifdef::openshift-enterprise[]
29+
* xref:../updating/updating-restricted-network-cluster/restricted-network-update-osus.adoc#update-service-overview_updating-restricted-network-cluster-osus[About the OpenShift Update Service]
30+
endif::openshift-enterprise[]
2831
* xref:../updating/understanding-upgrade-channels-release.adoc#understanding-upgrade-channels_understanding-upgrade-channels-releases[Update channels and releases]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
:_content-type: ASSEMBLY
2+
[id="updating-hosted-control-planes"]
3+
= Updating hosted control planes
4+
include::_attributes/common-attributes.adoc[]
5+
:context: updating-hosted-control-planes
6+
7+
toc::[]
8+
9+
On hosted control planes for {product-title}, updates are decoupled between the control plane and the nodes. Your service cluster provider, which is the user that hosts the cluster control planes, can manage the updates as needed. The hosted cluster handles control plane updates, and node pools handle node upgrades.
10+
11+
include::modules/updates-for-hosted-control-planes.adoc[leveloffset=+1]
12+
include::modules/updating-node-pools-for-hcp.adoc[leveloffset=+1]
13+
include::modules/configuring-node-pools-for-hcp.adoc[leveloffset=+1]

0 commit comments

Comments
 (0)