IBM Cloud Docs
Satellite ロケーションで仮想化をセットアップする

Satellite ロケーションで仮想化をセットアップする

ご使用の Satellite ロケーションで Red Hat OpenShift 仮想化を使用するように Bare Metal Servers をセットアップできます。 仮想化を使用すると、管理対象 Red Hat OpenShift スペース内の Bare Metal Servers 上に Windows またはその他の仮想マシンをプロビジョンできます。

サポートされるホスト・オペレーティング・システム
Red Hat CoreOS (RHCOS)

前提条件

  • RHCOS 対応のロケーションを作成します。 あなたの地域でRHCOSが有効になっているかどうかを確認するには、私の位置情報は有効になっていますか?Red HatCoreOS?。 ロケーションが有効になっていない場合は、 RHCOS を使用して新しいロケーションを作成します
  • ロケーションにホストを取り付け、 ロケーションコントロールプレーンを セットアップする。
  • ベア・メタル・ホスト名を見つけて記録します。
  • ベアメタル・サーバーのネットワーク情報を見つけます。 ご使用のシステムのパブリック・インターフェースとプライベート・インターフェースの CIDR およびゲートウェイ情報を記録します。
  • IBM Cloud Object Storage を使用してイグニッション・ファイルを保管する場合は、バケットを作成または識別します。
  • サポートされるオペレーティング・システムを実行する Satellite ロケーション内でクラスターを作成または識別します。例えば、このチュートリアルでは、 4.11を実行している Red Hat OpenShift クラスターを使用します。
  • OpenShift Data Foundation をストレージ・ソリューションとして使用する場合は、プロビジョン時に Bare Metal Servers のそれぞれに 2 つのストレージ・ディスクを追加します。

Bare Metal Server Satellite

仮想化をセットアップするには、 Bare Metal Server が以下の要件を満たしている必要があります。

  • 仮想化テクノロジーをサポートする必要があります。
    • Intel CPU の場合、仮想化のサポートは Intel VT または VT-x と呼ばれます。
    • AMD CPU の場合、仮想化のサポートは AMD Virtualization または AMD-V と呼ばれます。
  • 最小 8 コアと 32 GB RAM、および vCPU オーバーヘッドに必要な追加コアを備えている必要があります。 詳しくは、 Red Hat OpenShift 資料の CPU オーバーヘッド を参照してください。
  • ワークロードのニーズに対応する十分なメモリーを含める必要があります。 例: 360 MiB + (1.002 * requested memory) + 146 MiB + 8 MiB * (number of vCPUs) + 16 MiB * (number of graphics devices) 詳しくは、 Red Hat OpenShift 資料の メモリー・オーバーヘッド を参照してください。
  • オペレーティング・システムがインストールされていません。 Red Hat CoreOS オペレーティング・システムは、このプロセスの後半でインストールされます。
  • OpenShift Data Foundation をストレージ・ソリューションとして使用する場合は、プロビジョン時に Bare Metal Servers のそれぞれに 2 つのストレージ・ディスクを追加します。

ご使用のサーバーがこれらの要件を満たしていない場合は、 Bare Metal Serverを作成 できます。 ベア・メタル・オプションのリストについては、 ベア・メタル・サーバーで使用可能なオプション を参照してください。

お客様のロケーションへのベア・メタル・サーバーの接続

以下の一般的な手順に従って、ベア・メタル・サーバーをロケーションに接続します。 これらのステップは、ご使用のハードウェアによって異なる場合があります。 完全なチュートリアルについては、 IBM Cloud Bare Metal Servers for Classic ホストのベア・メタル・サーバー を参照してください。

  1. Red Hat CoreOS ISOをダウンロードします。 使用する Red Hat OpenShift バージョンに一致する対応する ISO バージョンを見つけます。 例えば、バージョン 4.11を使用する場合は、 4.11用の RHCOS のバージョンをダウンロードします ( rhcos-4.11.9-x86_64-live.x86_64.iso など)。

  2. ベアメタル・サーバーにログインします。

  3. BIOS 設定で、仮想化が有効になっていることを確認します。

  4. ステップ 1 でダウンロードした Red Hat CoreOS ISO ファイルをブートするためのブート順序をセットアップします。

  5. システムをブートして ISO をインストールします。

  6. Red Hat CoreOS がメモリー内にブートされたら、ロケーション点火ファイルを指定してサーバーを自分のロケーションに接続できるように、ネットワーク接続をセットアップします。

  7. Satellite、イグニッションスクリプトをダウンロードしてください。

    ibmcloud sat host attach --location <location_name> --operating-system RHCOS
    
  8. イグニッション・ファイルを編集して、ベア・メタル・ホスト名とネットワーク情報を含めます。 これらの詳細の追加について詳しくは、 イグニッション・ファイルの構成 を参照してください。 ロケーションに添付するベア・メタル・サーバーごとに、イグニッション・ファイルを編集する必要があることに注意してください。

  9. ベアメタル・サーバーがアクセスできる場所に点火ファイルを配置します。 例えば、 IBM Cloud Object Storage バケットにアップロードすることができます。

  10. イグニッション・スクリプトをベア・メタル・サーバーにダウンロードします。

curl <ignition_file_location > ignition.ign
  1. 以下の install コマンドを実行して、ignnition ファイルを開始します。 <diskName> は、 Red Hat CoreOS をインストールするディスク・ロケーションの絶対パスに置き換え、 <filename> は点火ファイルのパスに置き換えます。
sudo coreos-installer install <diskName> --ignition-file <filename>

インストール・プロセスは、完了までに 1 時間から 2 時間かかることがあります。

  1. インストールが完了したら、RHCOS ISO ファイルのプラグを抜き、ハード・ディスクからリブートします。
  2. Satellite のロケーションを調べて、ベア・メタル・サーバーが接続されていることを確認します。
  3. ロケーションに接続したい各ベアメタルホストについて、この手順を繰り返します。

Bare Metal Server ホストを Red Hat OpenShift クラスターに割り当てる

Bare Metal Server を自分のロケーションに接続した後、それを Red Hat OpenShift クラスター・ワーカー・プールに割り当てることができます。

  1. Red Hat OpenShift クラスター・ワーカー・プールに追加するホストを見つけます。

    ibmcloud sat hosts --location <locationID>
    
  2. Bare Metal Server を Red Hat OpenShift クラスター・ワーカー・プールに割り当てます。

    ibmcloud sat host assign --location <locationID> --cluster <clusterID> --host <hostID> --worker-pool default --zone <zone>
    

これらのステップを繰り返して、追加の Bare Metal Servers をクラスターに割り当てます。

Bare Metal Server がワーカー・プールに割り当てられたので、 Red Hat OpenShift 仮想化をセットアップできます。

クラスター用のストレージのセットアップ

このシナリオ例では、 Bare Metal Servers上の使用可能なストレージ・ディスクを自動的に検出することで、クラスター内の 3 つのノードに OpenShift Data Foundation をデプロイします。

少なくとも 3 つの Bare Metal Servers をロケーションに接続し、それらをクラスター内のワーカー・ノードとして割り当てた後、 odf-local Satellite ストレージ・テンプレートを使用して OpenShift Data Foundation をデプロイできます。

  1. Satellite ロケーション・コンソールから、自分のロケーションをクリックし、 「ストレージ」>「ストレージ構成の作成」 をクリックします。
  2. 設定に名前をつける。
  3. 「OpenShift Data Foundation for local devices」 を選択し、バージョン 4.10 を選択します。
  4. この例では、残りのデフォルト設定のままにして、 「次へ」 をクリックします。
  5. ODF がデプロイされるまで待ちます。 次に、 openshift-storage 名前空間内のポッドをリストして、ポッドの準備ができていることを確認します。
    oc get pods -n openshift-storage
    
    出力例
    NAME                                                              READY   STATUS      RESTARTS   AGE
    ocs-metrics-exporter-5b85d48d66-lwzfn                             1/1     Running     0          2d1h
    ocs-operator-86498bf74c-qcgvh                                     1/1     Running     0          2d1h
    odf-console-68bcd54c7c-5fvkq                                      1/1     Running     0          2d1h
    rook-ceph-mgr-a-758845d77c-xjqkg                                  2/2     Running     0          2d1h
    rook-ceph-mon-a-85d65d9f66-crrhb                                  2/2     Running     0          2d1h
    rook-ceph-mon-b-74fd78856d-s2pdf                                  2/2     Running     0          2d1h
    rook-ceph-mon-c-76f9b8b5f9-gqcm4                                  2/2     Running     0          2d1h
    rook-ceph-operator-5d659cb494-ctkx6                               1/1     Running     0          2d1h
    rook-ceph-osd-0-846cf86f79-z97mc                                  2/2     Running     0          2d1h
    rook-ceph-osd-1-7f79ccf77d-8g4cn                                  2/2     Running     0          2d1h
    rook-ceph-osd-2-549cc486b4-7wf5k                                  2/2     Running     0          2d1h
    rook-ceph-osd-prepare-ocs-deviceset-0-data-0z6pn9-6fwqr           0/1     Completed   0          10d
    rook-ceph-osd-prepare-ocs-deviceset-1-data-0kkxrw-cppk9           0/1     Completed   0          10d
    rook-ceph-osd-prepare-ocs-deviceset-2-data-0pxktc-xm2rc           0/1     Completed   0          10d
    rook-ceph-rgw-ocs-storagecluster-cephobjectstore-a-54c58859nc8j   2/2     Running     0          2d1h
    ...
    ...
    

仮想化オペレーターのインストール

CLI を使用した Red Hat OpenShift 仮想化のインストールの手順に従います。

virtctl CLIのセットアップ

手順に従って、 virtctl CLI ツールをダウンロードしてインストールします

仮想マシンのデータ・ボリュームの作成

OpenShift Data Foundation をデプロイした後、 sat-ocs-ceprbd-gold ストレージ・クラスを使用して、仮想マシンにストレージを使用するためのデータ・ボリュームを作成できます。

  1. 以下のサンプル・データ・ボリュームをコピーして、 datavol.yaml というファイルに保存します。
    apiVersion: cdi.kubevirt.io/v1beta1
    kind: DataVolume
    metadata:
      name: fedora-1
      namespace: default
    spec:
      source:
        registry:
          pullMethod: node
          url: docker://quay.io/containerdisks/fedora@sha256:29b80ef738f9b09c19efc245aac3921deab9acd542c886cf5295c94ab847dfb5
      pvc:
        accessModes:
          - ReadWriteMany
        resources:
          requests:
            storage: 10Gi
        volumeMode: Block
        storageClassName: sat-ocs-cephrbd-gold
    
  2. データ・ボリュームを作成します。
    oc apply -f datavol.yaml
    
  3. データ・ボリュームおよび対応する PVC が作成されたことを確認します。
    oc get dv,pvc -n default
    
    出力例。
    NAME                                  PHASE       PROGRESS   RESTARTS   AGE
    datavolume.cdi.kubevirt.io/fedora-1   Succeeded   100.0%                16h
    NAME                             STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS           AGE
    persistentvolumeclaim/fedora-1   Bound    pvc-fd8b1a5b-cc32-42bd-95d0-4ccf2e40bca7   10Gi       RWX            sat-ocs-cephrbd-gold   16h
    

仮想マシンの作成

  1. 以下の VirtualMachine 構成をコピーし、 vm.yaml というファイルに保存します。 OpenShift Web コンソールを使用して仮想マシンを作成することもできます。

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      labels:
        app: fedora-1
      name: fedora-1
      namespace: default
    spec:
      running: false
      template:
        metadata:
          labels:
            kubevirt.io/domain: fedora-1
        spec:
          domain:
            cpu:
              cores: 1
              sockets: 2
              threads: 1
            devices:
              disks:
              - disk:
                  bus: virtio
                name: rootdisk
              - disk:
                  bus: virtio
                name: cloudinitdisk
              interfaces:
              - masquerade: {}
                name: default
              rng: {}
            features:
              smm:
                enabled: true
            firmware:
              bootloader:
                efi: {}
            resources:
              requests:
                memory: 8Gi
          evictionStrategy: LiveMigrate
          networks:
          - name: default
            pod: {}
          volumes:
          - dataVolume:
              name: fedora-1
            name: rootdisk
          - cloudInitNoCloud:
              userData: |-
                #cloud-config
                user: cloud-user
                password: 'fedora-1-password'
                chpasswd: { expire: False }
            name: cloudinitdisk
    
  2. クラスター内に仮想マシンを作成します。

    oc apply -f vm.yaml
    
  3. 仮想マシンを始動します。

    virtctl start fedora-1 -n default
    
  4. 仮想マシンが稼働していることを確認します。

    oc get vm -n default
    

    出力例。

    NAME                                  AGE   STATUS    READY
    virtualmachine.kubevirt.io/fedora-1   16h   Running   True
    
  5. OpenShift Web コンソールから、 VirtualMachine 構成で指定したユーザー名とパスワードを使用して VM にログインします。 例えば、 user: cloud-userpassword: 'fedora-1-password' などです。

おめでとうございます! Fedora 仮想マシンを Satellite クラスターにデプロイしました。

次に行う作業について詳しくは、 OpenShift Virtualization Hands-on Labを参照してください。

追加リソース