このセクションでは、移行計画の内容と、移行を実行してデプロイ アーティファクトを生成する前に考慮すべきカスタマイズの種類について説明します。
移行計画カスタマイズの一般的な手順は次のとおりです。
移行計画をダウンロードします。
migctl migration get <migration name>
テキスト エディタでファイルを編集します。
編集が完了したら、新しい移行計画をアップロードします。
migctl migration update <migration name> --file migration-name.yaml
VM の仕様を編集する
VM を移行する場合は、移行元の VM 構成から取得した値が使用されます。たとえば、移行元の VM に 2 つの CPU と 2,048 MB または RAM がある場合、それらの値がデフォルトで使用されます。CPU または RAM の数を変更する場合は、vmSpec を編集します。
spec:
...vmSpec:
bootLoader: bios
guestOsType: ubuntu64Guest
numCpu: 2
ramMb: 2048
...
このバージョンの A4VM では、numCpu
フィールドと ramMb
フィールドだけをカスタマイズできます。
- numCpu は、デプロイされた VM に割り当てる vCPU の数です。
- ramMb は、VM に割り当てる RAM の量(MB 単位)です。
StorageClass を指定する
デフォルトでは、Migrate はターゲット クラスタのデフォルトのストレージ クラスを使用して、移行した VM のディスクを保存(データ インテントの場合)または containerDisk イメージを一時的に保存(イメージ インテントの場合)し、永続ボリューム(PV)をプロビジョニングします。
移行ディスク / 一時 conainterDisk イメージを格納するために、異なる StorageClass 名を指定できます。
spec:
...
storageClassName: <storage class name>
...
名前空間を指定する
デフォルトでは、Data Intent の移行では、PVC がデフォルト名前空間を作成します。ただし、「diskPvcsNamespace」仕様属性を使用してこれをカスタマイズできます。
spec:
...
diskPvcsNamespace: default
...
VM 名を変更する
生成された KubeVirt VM アーティファクトで指定された VM 名は、deployment/AppName
仕様属性によって定義されます。デフォルト値は、ソース VM の名前を有効な K8S ラベルに正規化することによって自動的に生成されますが、次のようにカスタマイズできます。
spec:
...
deployment:
appName: ub-16-04-16000443-v5c
...
ストレージのロケーション名を変更する
deployment/folder
仕様属性は artifactRepository(デフォルトでは Cloud Storage)内のフォルダ名を定義し、Docker イメージ(Docker レジストリにアップロード)を除くすべてのアーティファクトを保存します。デフォルトでは、フォルダ名は k8s ラベルのサニタイズされた VM 名ですが、次のようにカスタマイズできます。
spec:
...
deployment:
folder: ub-16-04-16000443-v5c
...
ディスク構成を指定する
deployment/TargetDiskConfig
仕様属性は、対象の画像形式(raw
または qcow2
)を定義します。qcow2
を使用する場合は、ディスク イメージ圧縮を有効にして、スペースを節約できます。
spec:
...
tarketDiskConfig:
format
enableCompression
...