1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00

Merge pull request #88690 from openshift-cherrypick-robot/cherry-pick-88421-to-enterprise-4.18

[enterprise-4.18] OSDOCS#12855: Migrating the x86 control plane to arm64 architecture on AWS
This commit is contained in:
Steven Smith
2025-02-17 08:36:50 -05:00
committed by GitHub
4 changed files with 140 additions and 6 deletions

View File

@@ -18,8 +18,6 @@ $ oc import-image <multiarch-image-stream-tag> --from=<registry>/<project_name>/
* Run the following command to update your image stream from single-architecture to multi-architecture:
+
[source,terminal]
----
$ oc import-image <multiarch-image-stream-tag> --from=<registry>/<project_name>/<image-name> \
--import-mode='PreserveOriginal'
----
--
include::snippets/update-image-stream-to-multi-arch.adoc[]
--

View File

@@ -0,0 +1,113 @@
// Module included in the following assemblies:
//
// * updating/updating_a_cluster/migrating-to-multi-payload.adoc
:_mod-docs-content-type: PROCEDURE
[id="migrating-from-x86-to-arm64-cp_{context}"]
= Migrating the x86 control plane to arm64 architecture on {aws-full}
You can migrate the control plane in your cluster from `x86` to `arm64` architecture on {aws-first}.
.Prerequisites
* You have installed the {oc-first}.
* You logged in to `oc` as a user with `cluster-admin` privileges.
.Procedure
. Check the architecture of the control plane nodes by running the following command:
+
[source,terminal]
----
$ oc get nodes -o wide
----
+
.Example output
[source,terminal]
----
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
worker-001.example.com Ready worker 100d v1.30.7 10.x.x.x <none> Red Hat Enterprise Linux CoreOS 4xx.xx.xxxxx-0 5.x.x-xxx.x.x.el9_xx.x86_64 cri-o://1.30.x
worker-002.example.com Ready worker 98d v1.30.7 10.x.x.x <none> Red Hat Enterprise Linux CoreOS 4xx.xx.xxxxx-0 5.x.x-xxx.x.x.el9_xx.x86_64 cri-o://1.30.x
worker-003.example.com Ready worker 98d v1.30.7 10.x.x.x <none> Red Hat Enterprise Linux CoreOS 4xx.xx.xxxxx-0 5.x.x-xxx.x.x.el9_xx.x86_64 cri-o://1.30.x
master-001.example.com Ready control-plane,master 120d v1.30.7 10.x.x.x <none> Red Hat Enterprise Linux CoreOS 4xx.xx.xxxxx-0 5.x.x-xxx.x.x.el9_xx.x86_64 cri-o://1.30.x
master-002.example.com Ready control-plane,master 120d v1.30.7 10.x.x.x <none> Red Hat Enterprise Linux CoreOS 4xx.xx.xxxxx-0 5.x.x-xxx.x.x.el9_xx.x86_64 cri-o://1.30.x
master-003.example.com Ready control-plane,master 120d v1.30.7 10.x.x.x <none> Red Hat Enterprise Linux CoreOS 4xx.xx.xxxxx-0 5.x.x-xxx.x.x.el9_xx.x86_64 cri-o://1.30.x
----
+
The `KERNEL-VERSION` field in the output indicates the architecture of the nodes.
. Check that your cluster uses the multi payload by running the following command:
+
[source,terminal]
----
$ oc adm release info -o jsonpath="{ .metadata.metadata}"
----
+
If you see the following output, the cluster is multi-architecture compatible.
+
[source,terminal]
----
{
"release.openshift.io/architecture": "multi",
"url": "https://access.redhat.com/errata/<errata_version>"
}
----
+
If the cluster is not using the multi payload, migrate the cluster to a multi-architecture cluster. For more information, see "Migrating to a cluster with multi-architecture compute machines".
. Update your image stream from single-architecture to multi-architecture by running the following command:
+
--
include::snippets/update-image-stream-to-multi-arch.adoc[]
--
. Get the `arm64` compatible Amazon Machine Image (AMI) for configuring the control plane machine set by running the following command:
+
[source,terminal]
----
$ oc get configmap/coreos-bootimages -n openshift-machine-config-operator -o jsonpath='{.data.stream}' | jq -r '.architectures.aarch64.images.aws.regions."<aws_region>".image' <1>
----
<1> Replace `<aws_region>` with the {aws-short} region where the current cluster is installed. You can get the {aws-short} region for the installed cluster by running the following command:
+
[source,terminal]
----
$ oc get infrastructure cluster -o jsonpath='{.status.platformStatus.aws.region}'
----
+
.Example output
[source,terminal]
----
ami-xxxxxxx
----
. Update the control plane machine set to support the `arm64` architecture by running the following command:
+
[source,terminal]
----
$ oc edit controlplanemachineset.machine.openshift.io cluster -n openshift-machine-api
----
+
Update the `instanceType` field to a type that supports the `arm64` architecture, and set the `ami.id` field to an AMI that is compatible with the `arm64` architecture. For information about supported instance types, see "Tested instance types for {aws-short} on 64-bit ARM infrastructures".
+
For more information about configuring the control plane machine set for {aws-short}, see "Control plane configuration options for {aws-full}".
.Verification
* Verify that the control plane nodes are now running on the `arm64` architecture:
+
[source,terminal]
----
$ oc get nodes -o wide
----
+
.Example output
[source,terminal]
----
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
worker-001.example.com Ready worker 100d v1.30.7 10.x.x.x <none> Red Hat Enterprise Linux CoreOS 4xx.xx.xxxxx-0 5.x.x-xxx.x.x.el9_xx.x86_64 cri-o://1.30.x
worker-002.example.com Ready worker 98d v1.30.7 10.x.x.x <none> Red Hat Enterprise Linux CoreOS 4xx.xx.xxxxx-0 5.x.x-xxx.x.x.el9_xx.x86_64 cri-o://1.30.x
worker-003.example.com Ready worker 98d v1.30.7 10.x.x.x <none> Red Hat Enterprise Linux CoreOS 4xx.xx.xxxxx-0 5.x.x-xxx.x.x.el9_xx.x86_64 cri-o://1.30.x
master-001.example.com Ready control-plane,master 120d v1.30.7 10.x.x.x <none> Red Hat Enterprise Linux CoreOS 4xx.xx.xxxxx-0 5.x.x-xxx.x.x.el9_xx.aarch64 cri-o://1.30.x
master-002.example.com Ready control-plane,master 120d v1.30.7 10.x.x.x <none> Red Hat Enterprise Linux CoreOS 4xx.xx.xxxxx-0 5.x.x-xxx.x.x.el9_xx.aarch64 cri-o://1.30.x
master-003.example.com Ready control-plane,master 120d v1.30.7 10.x.x.x <none> Red Hat Enterprise Linux CoreOS 4xx.xx.xxxxx-0 5.x.x-xxx.x.x.el9_xx.aarch64 cri-o://1.30.x
----

View File

@@ -0,0 +1,11 @@
// Snippet included in the following assemblies:
//
// * updating/updating_a_cluster/migrating-from-x86-to-arm64-cp.adoc
// * openshift_images/images-imagestream-specify-architecture.adoc
:_mod-docs-content-type: SNIPPET
[source,terminal]
----
$ oc import-image <multiarch_image_stream_tag> --from=<registry>/<project_name>/<image_name> \
--import-mode='PreserveOriginal'
----

View File

@@ -36,4 +36,16 @@ include::modules/migrating-to-multi-arch-cli.adoc[leveloffset=+1]
* xref:../../updating/understanding_updates/understanding-update-channels-release.adoc#understanding-update-channels-releases[Understanding update channels and releases]
* xref:../../installing/overview/installing-preparing.adoc#installing-preparing-selecting-cluster-type[Selecting a cluster installation type]
* xref:../../machine_management/deploying-machine-health-checks.adoc#machine-health-checks-about_deploying-machine-health-checks[About machine health checks]
* xref:../../updating/updating_a_cluster/updating-cluster-cli.adoc#update-upgrading-oc-adm-upgrade-status_updating-cluster-cli[Gathering cluster update status using oc adm upgrade status (Technology Preview)]
* xref:../../updating/updating_a_cluster/updating-cluster-cli.adoc#update-upgrading-oc-adm-upgrade-status_updating-cluster-cli[Gathering cluster update status using oc adm upgrade status (Technology Preview)]
// Migrating the x86 control plane to the arm64 architecture on AWS
include::modules/migrating-from-x86-to-arm-cp.adoc[leveloffset=+1]
[role="_additional-resources"]
.Additional resources
* xref:../../machine_management/control_plane_machine_management/cpmso_provider_configurations/cpmso-config-options-aws.adoc#cpmso-config-options-aws[Control plane configuration options for {aws-full}]
* xref:../../installing/installing_aws/upi/upi-aws-installation-reqs.adoc#installation-aws-arm-tested-machine-types_upi-aws-installation-reqs[Tested instance types for AWS on 64-bit ARM infrastructures]
* xref:../../updating/updating_a_cluster/migrating-to-multi-payload.adoc#migrating-to-multi-arch-cli_updating-clusters-overview[Migrating to a cluster with multi-architecture compute machines using the CLI]