7.2.2. Web ホストされたイメージから仮想マシンを作成する


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

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

前提条件

  • イメージが含まれている Web ページへのアクセス認証情報を持っている。
  • virtctl CLI がインストールされている。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. 仮想マシンの VirtualMachine マニフェストを作成し、YAML ファイルとして保存します。たとえば、Web ページ上のイメージから最小限の Red Hat Enterprise Linux (RHEL) 仮想マシンを作成するには、次のコマンドを実行します。

    $ virtctl create vm --name vm-rhel-9 --instancetype u1.small --preference rhel.9 --volume-import type:http,url:https://example.com/rhel9.qcow2,size:10Gi
  2. 仮想マシンの VirtualMachine マニフェストを確認します。

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      name: vm-rhel-9
    spec:
      dataVolumeTemplates:
      - metadata:
          name: imported-volume-6dcpf
        spec:
          source:
            http:
              url: https://example.com/rhel9.qcow2
          storage:
            resources:
              requests:
                storage: 10Gi
      instancetype:
        name: u1.small
      preference:
        name: rhel.9
      runStrategy: Always
      template:
        spec:
          domain:
            devices: {}
            resources: {}
          terminationGracePeriodSeconds: 180
          volumes:
          - dataVolume:
              name: imported-volume-6dcpf
            name: imported-volume-6dcpf
    • metadata.name は、仮想マシン名を定義します。
    • spec.dataVolumeTemplates.metadata.name は、データボリューム名を定義します。
    • spec.dataVolumeTemplates.spec.source.http.url は、イメージの URL を定義します。
    • spec.dataVolumeTemplates.spec.storage.resources.requests.storage は、データボリュームに対して要求されるストレージのサイズを定義します。
    • spec.instancetype.name は、仮想マシンのリソースサイズを制御するために使用するインスタンスタイプを定義します。
    • spec.preference.name は、使用する設定を定義します。
  3. 次のコマンドを実行して VM を作成します。

    $ oc create -f <vm_manifest_file>.yaml

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

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

検証

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

    $ oc get pods
  2. データボリュームの状態を監視します。

    $ oc get dv <data_volume_name>

    プロビジョニングが成功すると、データボリュームのフェーズが Succeeded になります。

    出力例:

    NAME                    PHASE       PROGRESS   RESTARTS   AGE
    imported-volume-6dcpf   Succeeded   100.0%                18s
  3. プロビジョニングが完了し、シリアルコンソールにアクセスして仮想マシンが起動したことを確認します。

    $ virtctl console <vm_name>

    仮想マシンが実行中でシリアルコンソールにアクセスできる場合、出力は次のようになります。

    Successfully connected to vm-rhel-9 console. The escape sequence is ^]
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る