Skip to content

Commit 31ea00a

Browse files
committed
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
1 parent 03bfd3f commit 31ea00a

File tree

4 files changed

+140
-6
lines changed

4 files changed

+140
-6
lines changed

modules/images-imagestream-specify-architecture.adoc

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ $ oc import-image <multiarch-image-stream-tag> --from=<registry>/<project_name>/
1818
1919
* Run the following command to update your image stream from single-architecture to multi-architecture:
2020
+
21-
[source,terminal]
22-
----
23-
$ oc import-image <multiarch-image-stream-tag> --from=<registry>/<project_name>/<image-name> \
24-
--import-mode='PreserveOriginal'
25-
----
21+
--
22+
include::snippets/update-image-stream-to-multi-arch.adoc[]
23+
--
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * updating/updating_a_cluster/migrating-to-multi-payload.adoc
4+
5+
:_mod-docs-content-type: PROCEDURE
6+
[id="migrating-from-x86-to-arm64-cp_{context}"]
7+
= Migrating the x86 control plane to arm64 architecture on {aws-full}
8+
9+
You can migrate the control plane in your cluster from `x86` to `arm64` architecture on {aws-first}.
10+
11+
.Prerequisites
12+
13+
* You have installed the {oc-first}.
14+
* You logged in to `oc` as a user with `cluster-admin` privileges.
15+
16+
.Procedure
17+
18+
. Check the architecture of the control plane nodes by running the following command:
19+
+
20+
[source,terminal]
21+
----
22+
$ oc get nodes -o wide
23+
----
24+
+
25+
.Example output
26+
[source,terminal]
27+
----
28+
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
29+
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
30+
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
31+
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
32+
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
33+
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
34+
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
35+
----
36+
+
37+
The `KERNEL-VERSION` field in the output indicates the architecture of the nodes.
38+
39+
. Check that your cluster uses the multi payload by running the following command:
40+
+
41+
[source,terminal]
42+
----
43+
$ oc adm release info -o jsonpath="{ .metadata.metadata}"
44+
----
45+
+
46+
If you see the following output, the cluster is multi-architecture compatible.
47+
+
48+
[source,terminal]
49+
----
50+
{
51+
"release.openshift.io/architecture": "multi",
52+
"url": "https://access.redhat.com/errata/<errata_version>"
53+
}
54+
----
55+
+
56+
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".
57+
58+
. Update your image stream from single-architecture to multi-architecture by running the following command:
59+
+
60+
--
61+
include::snippets/update-image-stream-to-multi-arch.adoc[]
62+
--
63+
64+
. Get the `arm64` compatible Amazon Machine Image (AMI) for configuring the control plane machine set by running the following command:
65+
+
66+
[source,terminal]
67+
----
68+
$ 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>
69+
----
70+
<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:
71+
+
72+
[source,terminal]
73+
----
74+
$ oc get infrastructure cluster -o jsonpath='{.status.platformStatus.aws.region}'
75+
----
76+
+
77+
.Example output
78+
[source,terminal]
79+
----
80+
ami-xxxxxxx
81+
----
82+
83+
. Update the control plane machine set to support the `arm64` architecture by running the following command:
84+
+
85+
[source,terminal]
86+
----
87+
$ oc edit controlplanemachineset.machine.openshift.io cluster -n openshift-machine-api
88+
----
89+
+
90+
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".
91+
+
92+
For more information about configuring the control plane machine set for {aws-short}, see "Control plane configuration options for {aws-full}".
93+
94+
.Verification
95+
96+
* Verify that the control plane nodes are now running on the `arm64` architecture:
97+
+
98+
[source,terminal]
99+
----
100+
$ oc get nodes -o wide
101+
----
102+
+
103+
.Example output
104+
[source,terminal]
105+
----
106+
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
107+
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
108+
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
109+
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
110+
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
111+
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
112+
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
113+
----
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Snippet included in the following assemblies:
2+
//
3+
// * updating/updating_a_cluster/migrating-from-x86-to-arm64-cp.adoc
4+
// * openshift_images/images-imagestream-specify-architecture.adoc
5+
6+
:_mod-docs-content-type: SNIPPET
7+
[source,terminal]
8+
----
9+
$ oc import-image <multiarch_image_stream_tag> --from=<registry>/<project_name>/<image_name> \
10+
--import-mode='PreserveOriginal'
11+
----

updating/updating_a_cluster/migrating-to-multi-payload.adoc

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,16 @@ include::modules/migrating-to-multi-arch-cli.adoc[leveloffset=+1]
3636
* xref:../../updating/understanding_updates/understanding-update-channels-release.adoc#understanding-update-channels-releases[Understanding update channels and releases]
3737
* xref:../../installing/overview/installing-preparing.adoc#installing-preparing-selecting-cluster-type[Selecting a cluster installation type]
3838
* xref:../../machine_management/deploying-machine-health-checks.adoc#machine-health-checks-about_deploying-machine-health-checks[About machine health checks]
39-
* 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)]
39+
* 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)]
40+
41+
// Migrating the x86 control plane to the arm64 architecture on AWS
42+
include::modules/migrating-from-x86-to-arm-cp.adoc[leveloffset=+1]
43+
44+
[role="_additional-resources"]
45+
.Additional resources
46+
47+
* 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}]
48+
49+
* 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]
50+
51+
* 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]

0 commit comments

Comments
 (0)