8.15.3.5. データボリュームを使用した仮想マシンイメージのブロック永続ボリュームへのインポート

既存の仮想マシンイメージは OpenShift Container Platform クラスターにインポートできます。OpenShift Virtualization は DataVolume を使用してデータのインポートおよび基礎となる永続ボリューム要求 (PVC) の作成を自動化します。その後、仮想マシンマニフェストでデータボリュームを参照できます。

前提条件

  • RAW、ISO、または QCOW2 形式の仮想マシンディスクイメージ (オプションで xz または gz を使用して圧縮される)
  • データソースにアクセスするために必要な認証情報と共にイメージがホストされる HTTP または s3 エンドポイント
  • 少なくとも 1 つ以上の利用可能なブロック PV。

手順

  1. データソースに認証情報が必要な場合、endpoint-secret.yaml ファイルを編集し、更新された設定をクラスターに適用します。

    1. 選択するテキストエディターで endpoint-secret.yaml ファイルを編集します。

      apiVersion: v1
      kind: Secret
      metadata:
        name: <endpoint-secret>
        labels:
          app: containerized-data-importer
      type: Opaque
      data:
        accessKeyId: "" 1
        secretKey:   "" 2
      1
      オプション: キーまたはユーザー名 (base64 エンコード)
      2
      オプション: シークレットまたはパスワード、base64 エンコード
    2. 以下のコマンドを実行してシークレットを更新します。

      $ oc apply -f endpoint-secret.yaml
  2. インポートするイメージのデータソースを指定する DataVolume マニフェストおよび volumeMode: Block を作成して、利用可能なブロック PV が使用されるようにします。

    apiVersion: cdi.kubevirt.io/v1beta1
    kind: DataVolume
    metadata:
      name: <import-pv-datavolume> 1
    spec:
      storageClassName: local 2
      source:
          http:
             url: <http://download.fedoraproject.org/pub/fedora/linux/releases/28/Cloud/x86_64/images/Fedora-Cloud-Base-28-1.1.x86_64.qcow2> 3
             secretRef: <endpoint-secret> 4
      pvc:
        volumeMode: Block 5
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: <2Gi>
    1
    データボリュームの名前。
    2
    オプション: ストレージクラスを設定するか、またはこれを省略してクラスターのデフォルトを受け入れます。
    3
    インポートするイメージの HTTP ソース。
    4
    データソースに認証が必要である場合にのみ必要です。
    5
    ブロック PV にインポートするために必要です。
  3. 以下のコマンドを実行して、仮想マシンイメージをインポートするためにデータボリュームを作成します。

    $ oc create -f <import-pv-datavolume.yaml>1
    1
    直前の手順で作成されたデータボリュームのファイル名です。