4.4. Google Cloud でマルチアーキテクチャーのコンピューティングマシンを含むクラスターを作成する
マルチアーキテクチャーのコンピューティングマシンを含む Google Cloud クラスターを作成するには、まずマルチアーキテクチャーインストーラーバイナリーを使用して、単一アーキテクチャーの Google Cloud インストーラーによってプロビジョニングされたクラスターを作成する必要があります。AWS のインストールの詳細については、カスタマイズを使用した Google Cloud へのクラスターのインストール を参照してください。その後、ARM64 コンピューティングマシンセットを Google Cloud クラスターに追加できます。
現在、Google Cloud の ARM64 マシンではセキュアブートはサポートされていません
4.4.1. クラスターの互換性の確認 リンクのコピーリンクがクリップボードにコピーされました!
異なるアーキテクチャーのコンピュートノードをクラスターに追加する前に、クラスターがマルチアーキテクチャー互換であることを確認する必要があります。
前提条件
-
OpenShift CLI (
oc) がインストールされている。
手順
次のコマンドを実行すると、クラスターがアーキテクチャーペイロードを使用していることを確認できます。
$ oc adm release info -o jsonpath="{ .metadata.metadata}"
検証
次の出力が表示された場合、クラスターはマルチアーキテクチャーペイロードを使用しています。
{ "release.openshift.io/architecture": "multi", "url": "https://access.redhat.com/errata/<errata_version>" }その後、クラスターへのマルチアーキテクチャーコンピュートノードの追加を開始できます。
次の出力が表示された場合、クラスターはマルチアーキテクチャーペイロードを使用していません。
{ "url": "https://access.redhat.com/errata/<errata_version>" }重要クラスターを、マルチアーキテクチャーコンピュートマシンをサポートするクラスターに移行するには、マルチアーキテクチャーのコンピュートマシンを含むクラスターへの移行 の手順に従ってください。
4.4.2. ARM64 コンピューティングマシンセットを Google Cloud クラスターに追加する リンクのコピーリンクがクリップボードにコピーされました!
マルチアーキテクチャーのコンピューティングマシンでクラスターを設定するには、Google Cloud ARM64 コンピューティングマシンセットを作成する必要があります。これにより、ARM64 コンピュートノードがクラスターに追加されます。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - インストールプログラムを使用して、マルチアーキテクチャーインストーラーバイナリーを含む AMD64 単一アーキテクチャー AWS クラスターを作成しました。
手順
計算マシンセットを作成および変更します。これにより、クラスター内の ARM64 コンピュートノードが制御されます。
$ oc create -f gcp-arm64-machine-set-0.yamlARM64 コンピュートノードをデプロイするためのサンプル Google Cloud YAML コンピューティングマシンセット
apiVersion: machine.openshift.io/v1beta1 kind: MachineSet metadata: labels: machine.openshift.io/cluster-api-cluster: <infrastructure_id>1 name: <infrastructure_id>-w-a namespace: openshift-machine-api spec: replicas: 1 selector: matchLabels: machine.openshift.io/cluster-api-cluster: <infrastructure_id> machine.openshift.io/cluster-api-machineset: <infrastructure_id>-w-a template: metadata: creationTimestamp: null labels: machine.openshift.io/cluster-api-cluster: <infrastructure_id> machine.openshift.io/cluster-api-machine-role: <role>2 machine.openshift.io/cluster-api-machine-type: <role> machine.openshift.io/cluster-api-machineset: <infrastructure_id>-w-a spec: metadata: labels: node-role.kubernetes.io/<role>: "" providerSpec: value: apiVersion: gcpprovider.openshift.io/v1beta1 canIPForward: false credentialsSecret: name: gcp-cloud-credentials deletionProtection: false disks: - autoDelete: true boot: true image: <path_to_image>3 labels: null sizeGb: 128 type: pd-ssd gcpMetadata:4 - key: <custom_metadata_key> value: <custom_metadata_value> kind: GCPMachineProviderSpec machineType: n1-standard-45 metadata: creationTimestamp: null networkInterfaces: - network: <infrastructure_id>-network subnetwork: <infrastructure_id>-worker-subnet projectID: <project_name>6 region: us-central17 serviceAccounts: - email: <infrastructure_id>-w@<project_name>.iam.gserviceaccount.com scopes: - https://www.googleapis.com/auth/cloud-platform tags: - <infrastructure_id>-worker userDataSecret: name: worker-user-data zone: us-central1-a- 1
- クラスターのプロビジョニング時に設定したクラスター ID を基にするインフラストラクチャー ID を指定します。以下のコマンドを実行してインフラストラクチャー ID を取得できます。
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster - 2
- 追加するロールノードラベルを指定します。
- 3
- 現在のコンピュートマシンセットで使用されるイメージへのパスを指定します。イメージへのパスにはプロジェクトとイメージ名が必要です。
プロジェクトとイメージ名にアクセスするには、次のコマンドを実行します。
$ oc get configmap/coreos-bootimages \ -n openshift-machine-config-operator \ -o jsonpath='{.data.stream}' | jq \ -r '.architectures.aarch64.images.gcp'出力例
"gcp": { "release": "415.92.202309142014-0", "project": "rhcos-cloud", "name": "rhcos-415-92-202309142014-0-gcp-aarch64" }出力の
projectパラメーターとnameパラメーターを使用して、マシンセット内のイメージフィールドへのパスを作成します。イメージへのパスは次の形式に従う必要があります。$ projects/<project>/global/images/<image_name> - 4
- オプション:
key:valueのペアの形式でカスタムメタデータを指定します。ユースケースの例については、カスタムメタデータの設定 について Google Cloud のドキュメント を参照してください。 - 5
- ARM64 がサポートするマシンタイプを指定します。詳細については、関連情報の 64 ビット ARM インフラストラクチャー上の Google Cloud のテスト済みインスタンスタイプ を参照してください。
- 6
- クラスターに使用する Google Cloud プロジェクトの名前を指定します。
- 7
- リージョンを指定します (例:
us-central1)。選択したゾーンが 64 ビット ARM マシンを提供していることを確認してください。
検証
次のコマンドを入力して、コンピューティングマシンセットのリストを表示します。
$ oc get machineset -n openshift-machine-api作成した ARM64 マシンセットを確認できます。
出力例
NAME DESIRED CURRENT READY AVAILABLE AGE <infrastructure_id>-gcp-arm64-machine-set-0 2 2 2 2 10m次のコマンドを使用すると、ノードの準備ができており、スケジュール可能であることを確認できます。
$ oc get nodes