7.12.4.4. Red Hat Virtualization 仮想マシンのインポート用に ConfigMap を作成する

デフォルトの vm-import-controller マッピングを上書きする場合や、追加のマッピングを追加する場合は、Red Hat Virtualization (RHV) 仮想マシンオペレーティングシステムを OpenShift Virtualization テンプレートにマップする ConfigMap を作成できます。

デフォルトの vm-import-controller ConfigMap には、以下の RHV オペレーティングシステムおよびそれらの対応する共通の OpenShift Virtualization テンプレートが含まれます。

表7.6 オペレーティングシステムおよびテンプレートのマッピング

RHV 仮想マシンオペレーティングシステムOpenShift Virtualization テンプレート

rhel_6_9_plus_ppc64

rhel6.9

rhel_6_ppc64

rhel6.9

rhel_6

rhel6.9

rhel_6x64

rhel6.9

rhel_7_ppc64

rhel7.7

rhel_7_s390x

rhel7.7

rhel_7x64

rhel7.7

rhel_8x64

rhel8.1

sles_11_ppc64

opensuse15.0

sles_11

opensuse15.0

sles_12_s390x

opensuse15.0

ubuntu_12_04

ubuntu18.04

ubuntu_12_10

ubuntu18.04

ubuntu_13_04

ubuntu18.04

ubuntu_13_10

ubuntu18.04

ubuntu_14_04_ppc64

ubuntu18.04

ubuntu_14_04

ubuntu18.04

ubuntu_16_04_s390x

ubuntu18.04

windows_10

win10

windows_10x64

win10

windows_2003

win10

windows_2003x64

win10

windows_2008R2x64

win2k8

windows_2008

win2k8

windows_2008x64

win2k8

windows_2012R2x64

win2k12r2

windows_2012x64

win2k12r2

windows_2016x64

win2k16

windows_2019x64

win2k19

windows_7

win10

windows_7x64

win10

windows_8

win10

windows_8x64

win10

windows_xp

win10

手順

  1. Web ブラウザーで、http://<RHV_Manager_FQDN>/ovirt-engine/api/vms/<VM_ID> に移動して RHV 仮想マシンオペレーティングシステムの REST API 名を特定します。以下の例のように、オペレーティングシステム名が XML 出力の <os> セクションに表示されます。

    ...
    <os>
    ...
    <type>rhel_8x64</type>
    </os>
  2. 利用可能な OpenShift Virtualization テンプレートの一覧を表示します。

    $ oc get templates -n openshift --show-labels | tr ',' '\n' | grep os.template.kubevirt.io | sed -r 's#os.template.kubevirt.io/(.*)=.*#\1#g' | sort -u

    出力例

    fedora31
    fedora32
    ...
    rhel8.1
    rhel8.2
    ...

  3. RHV 仮想マシンオペレーティングシステムに一致する OpenShift Virtualization テンプレートが利用可能なテンプレートの一覧に表示されない場合は、OpenShift Virtualization Web コンソールでテンプレートを作成します。
  4. RHV 仮想マシンオペレーティングシステムを OpenShift Virtualization テンプレートにマップするために ConfigMap を作成します。

    $ cat <<EOF | oc create -f -
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: os-configmap
      namespace: default 1
    data:
      guestos2common: |
        "Red Hat Enterprise Linux Server": "rhel"
        "CentOS Linux": "centos"
        "Fedora": "fedora"
        "Ubuntu": "ubuntu"
        "openSUSE": "opensuse"
      osinfo2common: |
        "<rhv-operating-system>": "<vm-template>" 2
    EOF
    1
    オプション: namespace パラメーターの値を変更できます。
    2
    以下の例のように、RHV オペレーティングシステムおよび対応する仮想マシンテンプレートの REST API 名を指定します。

    ConfigMap の例

    $ cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: os-configmap
      namespace: default
    data:
      osinfo2common: |
        "other_linux": "fedora31"
    EOF

  5. カスタム ConfigMap が作成されていることを確認します。

    $ oc get cm -n default os-configmap -o yaml
  6. kubevirt-hyperconverged-operator.v2.4.9.yaml ファイルを編集します。

    $ oc edit clusterserviceversion -n openshift-cnv kubevirt-hyperconverged-operator.v2.4.9
  7. vm-import-operator デプロイメントマニフェストの以下のパラメーターを更新します。

    ...
    spec:
      containers:
      - env:
        ...
        - name: OS_CONFIGMAP_NAME
          value: os-configmap 1
        - name: OS_CONFIGMAP_NAMESPACE
          value: default 2
    1
    value: os-configmapname: OS_CONFIGMAP_NAME パラメーターに追加します。
    2
    オプション: ConfigMap で namespace を変更した場合にこの値を追加できます。
  8. kubevirt-hyperconverged-operator.v2.4.9.yaml ファイルを保存します。

    vm-import-operator デプロイメントを更新すると、vm-import-controller ConfigMap が更新されます。

  9. テンプレートが OpenShift Virtualization Web コンソールに表示されることを確認します。

    1. サイドメニューから WorkloadsVirtualization をクリックします。
    2. Virtual Machine Templates タブをクリックして、一覧でテンプレートを見つけます。