Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 18 additions & 16 deletions modules/hcp-migrate-aws-single-to-multiarch.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,19 @@
[id="hcp-migrate-aws-single-to-multiarch_{context}"]
= Transitioning a hosted cluster from single-architecture to multi-architecture

You can transition your single-architecture 64-bit AMD hosted cluster to a multi-architecture hosted cluster on {aws-first}, to reduce the cost of running workloads on your cluster. For example, you can run existing workloads on 64-bit AMD while transitioning to 64-bit ARM and you can manage these workloads from a central Kubernetes cluster.
[role="_abstract"]
You can transition your single-architecture 64-bit AMD hosted cluster to a multi-architecture hosted cluster on {aws-first} to reduce the cost of running workloads on your cluster.

For example, you can run existing workloads on 64-bit AMD while transitioning to 64-bit ARM and you can manage these workloads from a central Kubernetes cluster.

A single-architecture hosted cluster can manage node pools of only one particular CPU architecture. However, a multi-architecture hosted cluster can manage node pools with different CPU architectures. On {aws-short}, a multi-architecture hosted cluster can manage both 64-bit AMD and 64-bit ARM node pools.

.Prerequisites

* You have installed an {product-title} management cluster for {aws-short} on {rh-rhacm-first} with the {mce}.
* You installed an {product-title} management cluster for {aws-short} with the {mce}.
* You have an existing single-architecture hosted cluster that uses 64-bit AMD variant of the {product-title} release payload.
* An existing node pool that uses the same 64-bit AMD variant of the {product-title} release payload and is managed by an existing hosted cluster.
* Ensure that you installed the following command-line tools:
* You have an existing node pool that uses the same 64-bit AMD variant of the {product-title} release payload and is managed by an existing hosted cluster.
* You installed the following command-line tools:

** `oc`
** `kubectl`
Expand All @@ -28,18 +31,17 @@ A single-architecture hosted cluster can manage node pools of only one particula
+
[source,terminal]
----
$ oc get hostedcluster/<hosted_cluster_name> \// <1>
$ oc get hostedcluster/<hosted_cluster_name> \
-o jsonpath='{.spec.release.image}'
----
+
<1> Replace `<hosted_cluster_name>` with your hosted cluster name.
Replace `<hosted_cluster_name>` with your hosted cluster name.
+
.Example output
[source,terminal]
----
quay.io/openshift-release-dev/ocp-release:<4.y.z>-x86_64 <1>
quay.io/openshift-release-dev/ocp-release:4.20.0-x86_64
----
<1> Replace `<4.y.z>` with the supported {product-title} version that you use.

. In your {product-title} release image, if you use the digest instead of a tag, find the multi-architecture tag version of your release image:

Expand Down Expand Up @@ -91,10 +93,11 @@ linux/arm64 sha256:7b046404572ac96202d82b6cb029b421dddd40e88c73bbf35f602ffc130
[source,terminal]
----
$ oc patch -n clusters hostedclusters/<hosted_cluster_name> -p \
'{"spec":{"release":{"image":"quay.io/openshift-release-dev/ocp-release:<4.x.y>-multi"}}}' \// <1>
'{"spec":{"release":{"image":"quay.io/openshift-release-dev/ocp-release:<4.x.y>-multi"}}}' \
--type=merge
----
<1> Replace `<4.y.z>` with the supported {product-title} version that you use.
+
Replace `<4.y.z>` with the supported {product-title} version that you use.

.. Confirm that the multi-architecture image is set in your hosted cluster by running the following command:
+
Expand Down Expand Up @@ -148,18 +151,17 @@ $ oc get hostedcontrolplane -n clusters-example -oyaml
version:
availableUpdates: null
desired:
image: quay.io/openshift-release-dev/ocp-release:<4.x.y>-multi <1>
image: quay.io/openshift-release-dev/ocp-release:4.20.0-multi
url: https://access.redhat.com/errata/RHBA-2024:4855
version: 4.16.5
version: 4.20.0
history:
- completionTime: "2024-07-28T13:10:58Z"
image: quay.io/openshift-release-dev/ocp-release:<4.x.y>-multi
image: quay.io/openshift-release-dev/ocp-release:4.20.0-multi
startedTime: "2024-07-28T13:10:27Z"
state: Completed
verified: false
version: <4.x.y>
version: 4.20.0
----
<1> Replace `<4.y.z>` with the supported {product-title} version that you use.

+
[NOTE]
Expand All @@ -169,4 +171,4 @@ The multi-architecture {product-title} release image is updated in your `HostedC

.Next steps

* Creating node pools on the multi-architecture hosted cluster
* Create node pools on the multi-architecture hosted cluster.