3.8. RHEL KVM を使用した IBM Z および IBM LinuxONE 上でマルチアーキテクチャーのコンピュートマシンを含むクラスターを作成する
RHEL KVM を使用して IBM Z® および IBM® LinuxONE (s390x) 上のマルチアーキテクチャーコンピュートマシンでクラスターを作成するには、既存の単一アーキテクチャー x86_64 クラスターが必要です。その後、s390x コンピュートマシンを OpenShift Container Platform クラスターに追加できます。
s390x ノードをクラスターに追加する前に、クラスターをマルチアーキテクチャーペイロードを使用するクラスターにアップグレードする必要があります。マルチアーキテクチャーペイロードへの移行の詳細は、マルチアーキテクチャーのコンピュートマシンを含むクラスターへの移行 を参照してください。
次の手順では、RHEL KVM インスタンスを使用して RHCOS コンピュートマシンを作成する方法を説明します。これにより、s390x ノードをクラスターに追加し、マルチアーキテクチャーのコンピュートマシンを含むクラスターをデプロイメントできるようになります。
x86_64 上でマルチアーキテクチャーコンピュートマシンを含む IBM Z® または IBM® LinuxONE (s390x) クラスターを作成するには、IBM Z® および IBM® LinuxONE へのクラスターのインストール の手順に従ってください。その後、ベアメタル、IBM Power、または IBM Z 上でマルチアーキテクチャーコンピュートマシンを含むクラスターを作成する の説明に従って、x86_64 コンピュートマシンを追加できます。
セカンダリーアーキテクチャーノードをクラスターに追加する前に、Multiarch Tuning Operator をインストールし、ClusterPodPlacementConfig オブジェクトをデプロイすることを推奨します。詳細は、Multiarch Tuning Operator を使用してマルチアーキテクチャークラスター上のワークロードを管理する を参照してください。
3.8.1. virt-install を使用した RHCOS マシンの作成 リンクのコピーリンクがクリップボードにコピーされました!
virt-install を使用すると、クラスター用にさらに Red Hat Enterprise Linux CoreOS (RHCOS) コンピュートマシンを作成できます。
前提条件
- この手順では RHEL KVM ホストと呼ばれる、KVM を使用する RHEL 8.7 以降で実行されている少なくとも 1 つの LPAR がある。
- KVM/QEMU ハイパーバイザーが RHEL KVM ホストにインストーされている
- ノードのホスト名および逆引き参照を実行できるドメインネームサーバー (DNS) がある。
- HTTP または HTTPS サーバーが設定されている。
手順
次のコマンドを実行して、クラスターから Ignition 設定ファイルを抽出します。
$ oc extract -n openshift-machine-api secret/worker-user-data-managed --keys=userData --to=- > worker.ign-
クラスターからエクスポートした
worker.ignIgnition 設定ファイルを HTTP サーバーにアップロードします。このファイルの URL をメモします。 Ignition ファイルが URL で利用可能であることを検証できます。次の例では、コンピュートノードの Ignition 設定ファイルを取得します。
$ curl -k http://<HTTP_server>/worker.ign次のコマンドを実行して、RHEL ライブ
kernel、initramfs、およびrootfsファイルをダウンロードします。$ curl -LO $(oc -n openshift-machine-config-operator get configmap/coreos-bootimages -o jsonpath='{.data.stream}' \ | jq -r '.architectures.s390x.artifacts.metal.formats.pxe.kernel.location')$ curl -LO $(oc -n openshift-machine-config-operator get configmap/coreos-bootimages -o jsonpath='{.data.stream}' \ | jq -r '.architectures.s390x.artifacts.metal.formats.pxe.initramfs.location')$ curl -LO $(oc -n openshift-machine-config-operator get configmap/coreos-bootimages -o jsonpath='{.data.stream}' \ | jq -r '.architectures.s390x.artifacts.metal.formats.pxe.rootfs.location')-
virt-installを起動する前に、ダウンロードした RHEL ライブkernel、initramfs、およびrootfsファイルを HTTP または HTTPS サーバーに移動します。 RHEL
kernel、initramfs、および Ignition ファイル、新規ディスクイメージ、および調整された parm 引数を使用して、新規 KVM ゲストノードを作成します。$ virt-install \ --connect qemu:///system \ --name <vm_name> \ --autostart \ --os-variant rhel9.4 \1 --cpu host \ --vcpus <vcpus> \ --memory <memory_mb> \ --disk <vm_name>.qcow2,size=<image_size> \ --network network=<virt_network_parm> \ --location <media_location>,kernel=<rhcos_kernel>,initrd=<rhcos_initrd> \2 --extra-args "rd.neednet=1" \ --extra-args "coreos.inst.install_dev=/dev/vda" \ --extra-args "coreos.inst.ignition_url=http://<http_server>/worker.ign " \3 --extra-args "coreos.live.rootfs_url=http://<http_server>/rhcos-<version>-live-rootfs.<architecture>.img" \4 --extra-args "ip=<ip>::<gateway>:<netmask>:<hostname>::none" \5 --extra-args "nameserver=<dns>" \ --extra-args "console=ttysclp0" \ --noautoconsole \ --wait- 1
os-variantには、RHCOS コンピュートマシンの RHEL バージョンを指定します。rhel9.4が推奨バージョンです。オペレーティングシステムのサポートされている RHEL バージョンを照会するには、次のコマンドを実行します。$ osinfo-query os -f short-id注記os-variantでは大文字と小文字が区別されます。- 2
--locationには、HTTP サーバーまたは HTTPS サーバーのカーネル/initrd の場所を指定します。- 3
worker.ign設定ファイルの場所を指定します。HTTP プロトコルおよび HTTPS プロトコルのみがサポートされます。- 4
- 起動する
kernelとinitramfsのrootfsアーティファクトの場所を指定します。HTTP および HTTPS プロトコルのみがサポートされています。 - 5
- オプション:
hostnameには、クライアントマシンの完全修飾ホスト名を指定します。
注記HAProxy をロードバランサーとして使用している場合は、
/etc/haproxy/haproxy.cfg設定ファイル内のingress-router-443およびingress-router-80の HAProxy ルールを更新します。- 継続してクラスター用の追加のコンピュートマシンを作成します。