8.2. Web コンソールでの仮想マシンの作成


8.2.1. Red Hat イメージからの仮想マシン作成の概要

Red Hat イメージは ゴールデンイメージ です。これらは、安全なレジストリー内のコンテナーディスクとして公開されます。Containerized Data Importer (CDI) は、コンテナーディスクをポーリングしてクラスターにインポートし、スナップショットまたは永続ボリュームクレーム (PVC) として openshift-virtualization-os-images プロジェクトに保存します。必要に応じて、ゴールデンイメージに カスタム namespace を使用 できます。

Red Hat イメージは自動的に更新されます。これらのイメージの自動更新を無効にして再度有効にすることができます。Red Hat ブートソースの更新の管理 を参照してください。

クラスター管理者は、OpenShift Virtualization Web コンソール で Red Hat Enterprise Linux (RHEL) 仮想マシンの自動サブスクリプションを有効にできるようになりました。

次のいずれかの方法を使用して、Red Hat が提供するオペレーティングシステムイメージから仮想マシンを作成できます。

重要

デフォルトの openshift-* namespace に仮想マシンを作成しないでください。代わりに、openshift 接頭辞なしの新規 namespace を作成するか、既存 namespace を使用します。

8.2.1.1. ゴールデンイメージについて

ゴールデンイメージは、新しい仮想マシンをデプロイメントするためのリソースとして使用できる、仮想マシンの事前設定されたスナップショットです。たとえば、ゴールデンイメージを使用すると、同じシステム環境を一貫してプロビジョニングし、システムをより迅速かつ効率的にデプロイメントできます。

8.2.1.1.1. ゴールデンイメージはどのように機能しますか?

ゴールデンイメージは、リファレンスマシンまたは仮想マシンにオペレーティングシステムとソフトウェアアプリケーションをインストールして設定することによって作成されます。これには、システムのセットアップ、必要なドライバーのインストール、パッチと更新の適用、特定のオプションと環境設定の設定が含まれます。

ゴールデンイメージは、作成後、複数のクラスターに複製してデプロイできるテンプレートまたはイメージファイルとして保存されます。ゴールデンイメージは、メンテナーによって定期的に更新されて、必要なソフトウェア更新とパッチが組み込まれるため、イメージが最新かつ安全な状態に保たれ、新しく作成された仮想マシンはこの更新されたイメージに基づいています。

8.2.1.1.2. Red Hat のゴールデンイメージの実装

Red Hat は、Red Hat Enterprise Linux (RHEL) のバージョンのレジストリー内のコンテナーディスクとしてゴールデンイメージを公開します。コンテナーディスクは、コンテナーイメージレジストリーにコンテナーイメージとして保存される仮想マシンイメージです。公開されたイメージは、OpenShift Virtualization のインストール後に、接続されたクラスターで自動的に使用できるようになります。イメージがクラスター内で使用可能になると、仮想マシンの作成に使用できるようになります。

8.2.1.2. 仮想マシンブートソースについて

仮想マシンは、仮想マシン定義と、データボリュームによってバックアップされる 1 つ以上のディスクで構成されます。仮想マシンテンプレートを使用すると、事前定義された仕様を使用して仮想マシンを作成できます。

すべてのテンプレートにはブートソースが必要です。ブートソースは、設定されたドライバーを含む完全に設定されたディスクイメージです。各テンプレートには、ブートソースへのポインターを含む仮想マシン定義が含まれています。各ブートソースには、事前に定義された名前および namespace があります。オペレーティングシステムによっては、ブートソースは自動的に提供されます。これが提供されない場合、管理者はカスタムブートソースを準備する必要があります。

提供されたブートソースは、オペレーティングシステムの最新バージョンに自動的に更新されます。自動更新されるブートソースの場合、永続ボリュームクレーム (PVC) とボリュームスナップショットはクラスターのデフォルトストレージクラスで作成されます。設定後に別のデフォルトストレージクラスを選択した場合は、以前のデフォルトストレージクラスで設定されたクラスター namespace 内の既存のブートソースを削除する必要があります。

8.2.1.3. ゴールデンイメージのカスタム namespace の設定

ゴールデンイメージのデフォルトの namespace は openshift-virtualization-os-images ですが、カスタムの namespace を設定すると、デフォルトのブートソースへのユーザーアクセスを制限できます。

8.2.1.3.1. Web コンソールを使用したゴールデンイメージのカスタム namespace の設定

OpenShift Container Platform Web コンソールを使用して、クラスター内のゴールデンイメージのカスタム namespace を設定できます。

手順

  1. Web コンソールで、Virtualization Overview を選択します。
  2. Settings タブを選択します。
  3. Cluster タブで、General settings Bootable volumes project を選択します。
  4. ゴールデンイメージに使用する namespace を選択します。

    1. すでに namespace を作成している場合は、Project リストから選択します。
    2. namespace を作成していない場合は、リストの一番下までスクロールして Create project をクリックします。

      1. Create project ダイアログの Name フィールドに新しい namespace の名前を入力します。
      2. Create をクリックします。
8.2.1.3.2. CLI を使用したゴールデンイメージのカスタム namespace の設定

HyperConverged カスタムリソース (CR) の spec.commonBootImageNamespace フィールドを設定することで、クラスター内のゴールデンイメージのカスタム namespace を設定できます。

前提条件

  • OpenShift CLI (oc) がインストールされている。
  • ゴールデンイメージに使用する namespace を作成した。

手順

  1. 以下のコマンドを実行して、デフォルトのエディターで HyperConverged CR を開きます。

    $ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
  2. spec.commonBootImageNamespace フィールドの値を更新して、カスタム namespace を設定します。

    設定ファイルのサンプル

    apiVersion: hco.kubevirt.io/v1
    kind: HyperConverged
    metadata:
      name: kubevirt-hyperconverged
      namespace: openshift-cnv
    spec:
      commonBootImageNamespace: <custom_namespace> 1
    # ...

    1
    ゴールデンイメージに使用する namespace。
  3. 変更を保存し、エディターを終了します。

8.2.2. Web ページからイメージをインポートして仮想マシンを作成する

Web ページからオペレーティングシステムイメージをインポートすることで、仮想マシンを作成できます。

重要

Red Hat が提供していないオペレーティングシステムイメージから作成された仮想マシンには、QEMU ゲストエージェント をインストールする必要があります。

8.2.2.1. Web コンソールを使用して Web ページ上のイメージから仮想マシンを作成する

OpenShift Container Platform Web コンソールを使用して Web ページからイメージをインポートすることで、仮想マシンを作成できます。

前提条件

  • イメージを含む Web ページにアクセスできる。

手順

  1. Web コンソールで Virtualization Catalog に移動します。
  2. 使用可能なブートソースのないテンプレートタイルをクリックします。
  3. Customize VirtualMachine をクリックします。
  4. Customize template parameters ページで、Storage を展開し、Disk source リストから URL (creates PVC) を選択します。
  5. イメージの URL を入力します。例: https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software
  6. ディスクサイズを設定します。
  7. Next をクリックします。
  8. Create VirtualMachine をクリックします。

8.2.2.2. コマンドラインを使用して Web ページ上のイメージから仮想マシンを作成する

コマンドラインを使用して、Web ページ上のイメージから仮想マシンを作成できます。

仮想マシンが作成されると、イメージを含むデータボリュームが永続ストレージにインポートされます。

前提条件

  • イメージを含む Web ページへのアクセス認証情報が必要です。

手順

  1. VirtualMachine マニフェストを編集し、vm-rhel-datavolume.yaml ファイルとして保存します。

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      creationTimestamp: null
      name: vm-rhel-datavolume 1
      labels:
        kubevirt.io/vm: vm-rhel-datavolume
    spec:
      dataVolumeTemplates:
      - metadata:
          creationTimestamp: null
          name: rhel-dv 2
        spec:
          sourceRef:
            kind: DataSource
            name: rhel9
            namespace: openshift-virtualization-os-images
          storage:
            resources:
              requests:
                storage: 10Gi 3
      instancetype:
        name: u1.small 4
      preference:
        inferFromVolume: datavolumedisk1
      runStrategy: Always
      template:
        metadata:
          creationTimestamp: null
          labels:
            kubevirt.io/vm: vm-rhel-datavolume
        spec:
          domain:
            devices: {}
            resources: {}
          terminationGracePeriodSeconds: 180
          volumes:
          - dataVolume:
              name: rhel-dv
            name: datavolumedisk1
    status: {}
    1
    仮想マシンの名前を指定します。
    2
    データボリュームの名前を指定します。
    3
    データボリュームに要求されるストレージのサイズを指定します。
    4
    オプション: 仮想マシンのリソースサイズを制御するために使用するインスタンスタイプを指定します。
  2. 次のコマンドを実行して VM を作成します。

    $ oc create -f vm-rhel-datavolume.yaml

    oc create コマンドは、データボリュームと仮想マシンを作成します。CDI コントローラーは適切なアノテーションを使用して基礎となる PVC を作成し、インポートプロセスが開始されます。インポートが完了すると、データボリュームのステータスが Succeeded に変わります。仮想マシンを起動できます。

    データボリュームのプロビジョニングはバックグランドで実行されるため、これをプロセスをモニターする必要はありません。

検証

  1. インポーター Pod は、指定された URL からイメージをダウンロードし、プロビジョニングされた永続ボリュームに保存します。以下のコマンドを実行してインポーター Pod のステータスを確認します。

    $ oc get pods
  2. 次のコマンドを実行して、ステータスが Succeeded になるまでデータボリュームを監視します。

    $ oc describe dv rhel-dv 1
    1
    VirtualMachine マニフェストで定義したデータボリューム名を指定します。
  3. プロビジョニングが完了し、シリアルコンソールにアクセスして仮想マシンが起動したことを確認します。

    $ virtctl console vm-rhel-datavolume

8.2.3. イメージをアップロードして仮想マシンを作成する

ローカルマシンからオペレーティングシステムイメージをアップロードすることで、仮想マシンを作成できます。

Windows イメージを PVC にアップロードすることで、Windows 仮想マシンを作成できます。次に、仮想マシンの作成時に PVC のクローンを作成します。

重要

Red Hat が提供していないオペレーティングシステムイメージから作成された仮想マシンには、QEMU ゲストエージェント をインストールする必要があります。

Windows 仮想マシンにも VirtIO ドライバー をインストールする必要があります。

8.2.3.1. Web コンソールを使用して、アップロードされたイメージから仮想マシンを作成する

OpenShift Container Platform Web コンソールを使用して、アップロードされたオペレーティングシステムイメージから仮想マシンを作成できます。

前提条件

  • IMGISO、または QCOW2 イメージファイルが必要です。

手順

  1. Web コンソールで Virtualization Catalog に移動します。
  2. 使用可能なブートソースのないテンプレートタイルをクリックします。
  3. Customize VirtualMachine をクリックします。
  4. Customize template parameters ページで、Storage を展開し、Disk source リストから Upload (Upload a new file to a PVC) を選択します。
  5. ローカルマシン上のイメージを参照し、ディスクサイズを設定します。
  6. Customize VirtualMachine をクリックします。
  7. Create VirtualMachine をクリックします。
8.2.3.1.1. 仮想マシンイメージの一般化

システム固有の設定データをすべて削除して Red Hat Enterprise Linux (RHEL) イメージを一般化してから、そのイメージを使用してゴールデンイメージ (仮想マシンの事前設定済みスナップショット) を作成できます。ゴールデンイメージを使用して新しい仮想マシンをデプロイできます。

virtctlguestfsvirt-sysprep ツールを使用して、RHEL 仮想マシンを一般化できます。

前提条件

  • ベースの仮想マシンとして使用する RHEL 仮想マシンがある。
  • OpenShift CLI (oc) がインストールされている。
  • virtctl ツールがインストールされている。

手順

  1. 実行中の RHEL 仮想マシンを停止するには、次のコマンドを入力します。

    $ virtctl stop <my_vm_name>
  2. オプション: 元の仮想マシンのデータが失われないように、仮想マシンのクローンを作成します。その後、クローンの仮想マシンを一般化できます。
  3. 次のコマンドを実行して、仮想マシンのルートファイルシステムを格納する dataVolume を取得します。

    $ oc get vm <my_vm_name> -o jsonpath="{.spec.template.spec.volumes}{'\n'}"

    出力例

    [{"dataVolume":{"name":"<my_vm_volume>"},"name":"rootdisk"},{"cloudInitNoCloud":{...}]

  4. 次のコマンドを実行して、リストされた dataVolume に一致する永続ボリューム要求 (PVC) を取得します。

    $ oc get pvc

    出力例

    NAME            STATUS   VOLUME  CAPACITY   ACCESS MODES  STORAGECLASS     AGE
    <my_vm_volume> Bound  …

    注記

    クラスター設定により仮想マシンを複製できない場合は、元の仮想マシンのデータが失われないように、代わりに仮想マシン PVC をデータボリュームに複製できます。その後、複製した PVC を使用してゴールデンイメージを作成できます。

    PVC を複製してゴールデンイメージを作成する場合は、複製された PVC を使用して次の手順に進みます。

  5. libguestfs-tools を使用して新しいインタラクティブコンテナーをデプロイし、次のコマンドを実行して PVC をそれにアタッチします。

    $ virtctl guestfs <my-vm-volume> --uid 107

    このコマンドは、次のコマンドを実行するためのシェルを開きます。

  6. 次のコマンドを実行して、システム固有のすべての設定を削除します。

    $ virt-sysprep -a disk.img
  7. OpenShift Container Platform コンソールで、Virtualization Catalog をクリックします。
  8. Add volume をクリックします。
  9. Add volume ウィンドウで、以下を実行します。

    1. Source type リストから、Use existing Volume を選択します。
    2. Volume project リストからプロジェクトを選択します。
    3. Volume name リストから正しい PVC を選択します。
    4. Volume name フィールドに、新しいゴールデンイメージの名前を入力します。
    5. Preference リストから、使用している RHEL バージョンを選択します。
    6. Default Instance Type リストから、以前に選択した RHEL バージョンに適した CPU とメモリーの要件を持つインスタンスタイプを選択します。
    7. Save をクリックします。

新しいボリュームが Select volume to boot from リストに表示されます。これが新しいゴールデンイメージです。このボリュームを使用して新しい仮想マシンを作成できます。

8.2.3.2. Windows 仮想マシンの作成

Windows 仮想マシンを作成するには、Windows イメージを永続ボリューム要求 (PVC) にアップロードし、OpenShift Container Platform Web コンソールを使用して仮想マシンを作成するときに PVC のクローンを作成します。

前提条件

手順

  1. Windows イメージを新しい PVC としてアップロードします。

    1. Web コンソールで Storage PersistentVolumeClaims に移動します。
    2. Create PersistentVolumeClaim With Data upload form をクリックします。
    3. Windows イメージを参照して選択します。
    4. PVC 名を入力し、ストレージクラスとサイズを選択して、Upload をクリックします。

      Windows イメージは PVC にアップロードされます。

  2. アップロードされた PVC のクローンを作成して、新しい仮想マシンを設定します。

    1. Virtualization Catalog に移動します。
    2. Windows テンプレートタイルを選択し、Customize VirtualMachine をクリックします。
    3. Disk source リストから Clone (clone PVC) を選択します。
    4. PVC プロジェクト、Windows イメージ PVC、およびディスクサイズを選択します。
  3. アンサーファイルを仮想マシンに適用します。

    1. VirtualMachine パラメーターのカスタマイズ をクリックします。
    2. Scripts タブの Sysprep セクションで、Edit をクリックします。
    3. autounattend.xml 応答ファイルを参照し、Save をクリックします。
  4. 仮想マシンの実行戦略を設定します。

    1. 仮想マシンがすぐに起動しないように、Start this VirtualMachine after creation をオフにします。
    2. Create VirtualMachine をクリックします。
    3. YAML タブで、running:falserunStrategy: RerunOnFailure に置き換え、Save をクリックします。
  5. Options メニュー kebab をクリックして Start を選択します。

    仮想マシンは、autounattend.xml アンサーファイルを含む sysprep ディスクから起動します。

8.2.3.2.1. Windows 仮想マシンイメージの一般化

Windows オペレーティングシステムイメージを一般化して、イメージを使用して新しい仮想マシンを作成する前に、システム固有の設定データをすべて削除できます。

仮想マシンを一般化する前に、Windows の無人インストール後にsysprepツールが応答ファイルを検出できないことを確認する必要があります。

前提条件

  • QEMU ゲストエージェントがインストールされた実行中の Windows 仮想マシン。

手順

  1. OpenShift Container Platform コンソールで、Virtualization VirtualMachines をクリックします。
  2. Windows 仮想マシンを選択して、VirtualMachine details ページを開きます。
  3. Configuration Disks をクリックします。
  4. sysprep ディスクの横にある Options メニュー kebab をクリックし、Detach を選択します。
  5. Detach をクリックします。
  6. sysprepツールによる検出を回避するために、C:\Windows\Panther\unattend.xmlの名前を変更します。
  7. 次のコマンドを実行して、sysprep プログラムを開始します。

    %WINDIR%\System32\Sysprep\sysprep.exe /generalize /shutdown /oobe /mode:vm
  8. sysprepツールが完了すると、Windows 仮想マシンがシャットダウンします。これで、仮想マシンのディスクイメージを Windows 仮想マシンのインストールイメージとして使用できるようになりました。

これで、仮想マシンを特殊化できます。

8.2.3.2.2. Windows 仮想マシンイメージの特殊化

Windows 仮想マシンを特殊化すると、一般化された Windows イメージから VM にコンピューター固有の情報が設定されます。

前提条件

  • 一般化された Windows ディスクイメージが必要です。
  • unattend.xml 応答ファイルを作成する必要があります。詳細は、Microsoft のドキュメント を参照してください。

手順

  1. OpenShift Container Platform コンソールで、Virtualization Catalog をクリックします。
  2. Windows テンプレートを選択し、Customize VirtualMachine をクリックします。
  3. Disk source リストから PVC (clone PVC) を選択します。
  4. 一般化された Windows イメージの PVC プロジェクトと PVC 名を選択します。
  5. VirtualMachine パラメーターのカスタマイズ をクリックします。
  6. Scripts タブをクリックします。
  7. Sysprep セクションで、Edit をクリックし、unattend.xml 応答ファイルを参照して、Save をクリックします。
  8. Create VirtualMachine をクリックします。

Windows は初回起動時に、unattend.xml 応答ファイルを使用して VM を特殊化します。これで、仮想マシンを使用する準備が整いました。

8.2.3.3. コマンドラインを使用して、アップロードされたイメージから仮想マシンを作成する

virtctl コマンドラインツールを使用して、オペレーティングシステムイメージをアップロードできます。既存のデータボリュームを使用することも、イメージ用に新しいデータボリュームを作成することもできます。

前提条件

  • ISOIMG、または QCOW2 オペレーティングシステムイメージファイルがある。
  • 最高のパフォーマンスを得るには、virt-sparsify ツールまたは xz ユーティリティーまたは gzip ユーティリティーを使用してイメージファイルを圧縮しておく。
  • virtctl がインストールされている。
  • クライアントマシンが OpenShift Container Platform ルーターの証明書を信頼するように設定されている。

手順

  1. virtctl image-upload コマンドを実行してイメージをアップロードします。

    $ virtctl image-upload dv <datavolume_name> \ 1
      --size=<datavolume_size> \ 2
      --image-path=</path/to/image> \ 3
    1
    データボリュームの名前。
    2
    データボリュームのサイズ。例: --size=500Mi--size=1G
    3
    イメージのファイルパス。
    注記
    • 新規データボリュームを作成する必要がない場合は、--size パラメーターを省略し、--no-create フラグを含めます。
    • ディスクイメージを PVC にアップロードする場合、PVC サイズは圧縮されていない仮想ディスクのサイズよりも大きくなければなりません。
    • HTTPS を使用したセキュアでないサーバー接続を許可するには、--insecure パラメーターを使用します。--insecure フラグを使用する際に、アップロードエンドポイントの信頼性は検証 されない 点に注意してください。
  2. オプション: データボリュームが作成されたことを確認するには、以下のコマンドを実行してすべてのデータボリュームを表示します。

    $ oc get dvs

8.2.4. 仮想マシンのクローン作成

仮想マシンのクローンを作成するか、スナップショットから新しい仮想マシンを作成できます。

8.2.4.1. Web コンソールを使用して仮想マシンを複製する

Web コンソールを使用して、既存の仮想マシンを複製できます。

手順

  1. Web コンソールで Virtualization VirtualMachines に移動します。
  2. 仮想マシンを選択して、VirtualMachine details ページを開きます。
  3. Actions をクリックします。
  4. Clone を選択します。
  5. Clone VirtualMachine ページで、新しい仮想マシンの名前を入力します。
  6. (オプション) Start cloned VM チェックボックスを選択して、複製された仮想マシンを開始します。
  7. Clone をクリックします。

8.2.4.2. Web コンソールを使用して既存のスナップショットから仮想マシンを作成する

既存のスナップショットをコピーすることで、新しい仮想マシンを作成できます。

手順

  1. Web コンソールで Virtualization VirtualMachines に移動します。
  2. 仮想マシンを選択して、VirtualMachine details ページを開きます。
  3. Snapshots タブをクリックします。
  4. コピーするスナップショットの Options メニュー kebab をクリックします。
  5. Create VirtualMachine を選択します。
  6. 仮想マシンの名前を入力します。
  7. (オプション) Start this VirtualMachine after creation チェックボックスを選択して、新しい仮想マシンを起動します。
  8. Create をクリックします。

8.2.4.3. 関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.