11.3.2. カスタムブートソースの更新の管理
OpenShift Virtualization によって提供されていない カスタム ブートソースは、機能ゲートによって制御されません。HyperConverged カスタムリソース (CR) を編集して、それらを個別に管理する必要があります。
ストレージクラスを設定する必要があります。そうしないと、クラスターはカスタムブートソースの自動更新を受信できません。詳細は、ストレージクラスの定義 を参照してください。
11.3.2.1. デフォルトおよび virt-default ストレージクラスの設定 リンクのコピーリンクがクリップボードにコピーされました!
ストレージクラスは、ワークロードに対して永続ストレージをプロビジョニングする方法を決定します。OpenShift Virtualization では、virt-default ストレージクラスがクラスターのデフォルトストレージクラスよりも優先され、仮想化ワークロード専用に使用されます。
virt-default またはクラスターのデフォルトとして一度に設定できるストレージクラスは 1 つだけです。複数のストレージクラスがデフォルトとしてマークされている場合、virt-default ストレージクラスがクラスターのデフォルトをオーバーライドします。一貫した動作を確保するには、仮想化ワークロードのデフォルトとして 1 つのストレージクラスのみを設定します。
ブートソースは、デフォルトのストレージクラスを使用して作成されます。デフォルトのストレージクラスが変更されると、古いブートソースは新しいデフォルトのストレージクラスを使用して自動的に更新されます。クラスターにデフォルトのストレージクラスがない場合は、定義する必要があります。
ブートソースイメージがボリュームスナップショットとして保存され、クラスターのデフォルトと virt-default ストレージクラスの両方が設定解除されている場合、ボリュームスナップショットはクリーンアップされ、新しいデータボリュームが作成されます。ただし、新しく作成されたデータボリュームは、デフォルトのストレージクラスが設定されるまでインポートを開始しません。
前提条件
-
OpenShift CLI (
oc) がインストールされている。
手順
現在の virt-default またはクラスターのデフォルトストレージクラスを false にパッチします。
次のコマンドを実行して、現在 virt-default としてマークされているすべてのストレージクラスを識別します。
$ oc get sc -o json| jq '.items[].metadata|select(.annotations."storageclass.kubevirt.io/is-default-virt-class"=="true")|.name'返されたストレージクラスごとに、次のコマンドを実行して virt-default アノテーションを削除します。
$ oc patch storageclass <storage_class_name> -p '{"metadata": {"annotations": {"storageclass.kubevirt.io/is-default-virt-class": "false"}}}'次のコマンドを実行して、現在クラスターのデフォルトとしてマークされているすべてのストレージクラスを識別します。
$ oc get sc -o json| jq '.items[].metadata|select(.annotations."storageclass.kubernetes.io/is-default-class"=="true")|.name'返されたストレージクラスごとに、次のコマンドを実行してクラスターのデフォルトアノテーションを削除します。
$ oc patch storageclass <storage_class_name> -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "false"}}}'
新しいデフォルトのストレージクラスを設定します。
次のコマンドを実行して、virt-default ロールをストレージクラスに割り当てます。
$ oc patch storageclass <storage_class_name> -p '{"metadata": {"annotations": {"storageclass.kubevirt.io/is-default-virt-class": "true"}}}'または、次のコマンドを実行して、クラスターのデフォルトロールをストレージクラスに割り当てます。
$ oc patch storageclass <storage_class_name> -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}'