このドキュメントでは、Google Distributed Cloud で VM Runtime を使用して ISO から起動する Windows 仮想マシン(VM)を作成する方法について説明します。VM が起動したら、Windows 設定作業を手動で行います。
また、HTTP ソースを使用するか、Cloud Storage から、準備したディスク イメージで Windows VM を作成することもできます。
始める前に
このドキュメントの内容を実施するには、次のリソースへのアクセス権が必要です。
- GKE on Bare Metal バージョン 1.12.0(
anthosBareMetalVersion: 1.12.0
)以降のクラスタへのアクセス権。ワークロードを実行可能な、どのクラスタタイプでも使用できます。必要に応じて、Compute Engine の GKE on Bare Metal を試すか、クラスタ作成の概要をご覧ください。 kubectl
のプラグインとしてインストールされたvirtctl
クライアント ツール。必要に応じて、virtctl クライアント ツールをインストールします。
ISO イメージの仮想ディスクを作成する
Windows VM を作成するには、このドキュメントの手順と各セクションを順に実施してください。
Windows ISO イメージから起動するには、まず cdrom
の diskType
で VirtualMachineDisk
を作成します。このディスクのソースには Windows ISO を使用します。
任意のエディタで、
VirtualMachineDisk
マニフェスト(windows-iso.yaml
など)を作成します。nano windows-iso.yaml
次の YAML マニフェストをコピーして貼り付けます。
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-iso spec: source: http: url: IMG_URL size: 10Gi diskType: cdrom
IMG_URL
は、Windows ISO への HTTP パスに置き換えます。Cloud Storage から ISO をインポートするために認証情報を作成して使用することもできます。マニフェストをエディタに保存して閉じます。
kubectl
を使用してVirtualMachineDisk
を作成します。kubectl apply -f windows-iso.yaml
VM ドライバのディスクを作成する
Windows ISO から正常に起動してインストール プロセスを完了するには、VM が virtio
ドライバにアクセスできる必要があります。VM に virtio
ドライバを提供するには、次の手順を完了します。
任意のエディタで、
VirtualMachineDisk
マニフェスト(virtio-driver.yaml
など)を作成します。nano virtio-driver.yaml
次の YAML マニフェストをコピーして貼り付けます。
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: virtio-driver spec: size: 1Gi source: registry: url: docker://quay.io/kubevirt/virtio-container-disk:latest diskType: cdrom
このマニフェストは最新の
virtio
ドライバを公開 Docker リポジトリから pull し、diskType
をcdrom
として設定します。VM は、このディスクをインストール プロセス中に使用します。マニフェストをエディタに保存して閉じます。
kubectl
を使用してVirtualMachineDisk
を作成します。kubectl apply -f virtio-driver.yaml
Windows VM を作成する
Windows ISO VirtualMachineDisk
から起動し、virtio
ドライバ ディスクをアタッチする VM を作成します。
任意のエディタで、ブート ボリュームの
VirtualMachineDisk
と、VirtualMachine
を定義するマニフェスト(windows-vm.yaml
など)を作成します。nano windows-vm.yaml
次の YAML マニフェストをコピーして貼り付けます。
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: VM_NAME-boot-dv spec: size: 100Gi --- apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: osType: Windows disks: - virtualMachineDiskName: VM_NAME-boot-dv boot: true - virtualMachineDiskName: windows-iso - virtualMachineDiskName: virtio-driver compute: cpu: vcpus: 2 memory: capacity: 4Gi interfaces: - name: eth0 networkName: pod-network
VM_NAME
は、VM に付ける名前に置き換えます。このマニフェストによって、100 ギビバイト(GiB)のブート ボリュームが作成されます。このブート ボリュームは空のため、VM の起動時に CD-ROM デバイスとして ISO から起動され、セットアップ処理が開始されます。
virtio
ドライバもアタッチされ、インストール プロセスが完了します。マニフェストをエディタに保存して閉じます。
kubectl
を使用してVirtualMachineDisk
とVirtualMachine
を作成します。kubectl apply -f windows-vm.yaml
Windows VM に接続して OS のインストールを完了する
VM が起動し、前のセクションの Windows ISO から起動します。VM に接続して Windows のインストール プロセスを完了し、VM を構成します。
Windows VM に接続します。
kubectl virt vnc VM_NAME
VM_NAME
は、Windows VM の名前に置き換えます。プロンプトが表示されたら、VM の Windows ゲスト OS ユーザー認証情報を入力します。
kubectl virt vnc
を使用した VM への接続について詳しくは、VNC を使用して直接接続するをご覧ください。Windows セットアップでは、[カスタム インストール] の実行を選択します。
[ドライバの読み込み] を選択し、
virtio
ディスクの viostor ディレクトリを参照して、インストールする Windows のバージョンと一致するディレクトリを選択します。詳細については、KubeVirt Windows
virtio
ドライバをご覧ください。virtio
のストレージとネットワーク ドライバが利用可能になったら、残りの Windows インストール プロセスを完了します。Remote Desktop Protocol を有効にして、インストール後に VM に直接接続できるようにすることをおすすめします。
ISO イメージとドライバ ディスクを切断する
Windows のインストールが完了したら、VM から virtio
ドライバのディスクと Windows ISO イメージを削除します。
Windows VM を停止します。
kubectl virt stop VM_NAME
VM_NAME
は、Windows VM の名前に置き換えます。kubectl
を使用して VM を編集します。kubectl edit gvm VM_NAME
VM_NAME
は、Windows VM の名前に置き換えます。エディタで、次の例に示すとおりに、
spec.disks
セクションを更新して Windows ISO とvirtio
ディスクを削除します。VM にアタッチされたディスクは、VM_NAME-boot-dv
だけになります。apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: windows-vm spec: osType: Windows disks: - virtualMachineDiskName: windows-vm-boot-dv boot: true interfaces: ...
VM マニフェストを保存して閉じます。
Windows VM を起動します。
kubectl virt start VM_NAME
VM_NAME
は、Windows VM の名前に置き換えます。VM の
STATUS
を確認します。kubectl get gvm VM_NAME
VM_NAME
は、Windows VM の名前に置き換えます。VM が
Running
状態であることを確認します。VM がRunning
状態でない場合は、VirtualMachine
リソース マニフェストを確認して、Windows ISO ディスクとvirtio
ディスクのみが削除されたことを確認します。VM の起動に十分なコンピューティング リソースがホストにあることを確認します。