このドキュメントでは、GDC 上の VM ランタイムを使用して ISO から起動する Windows 仮想マシン(VM)を作成する方法について説明します。VM が起動したら、Windows 設定作業を手動で行います。
また、HTTP ソースまたは Cloud Storage から、準備済みのディスク イメージを使用して Windows VM を作成することもできます。
始める前に
このドキュメントの内容を実施するには、次のリソースへのアクセス権が必要です。
- Google Distributed Cloud バージョン 1.12.0(
anthosBareMetalVersion: 1.12.0)以降のクラスタへのアクセス権。ワークロードを実行可能な、どのクラスタタイプでも使用できます。必要に応じて、Compute Engine 上の Google Distributed Cloud を試すか、クラスタ作成の概要をご覧ください。 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: cdromIMG_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-networkVM_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_NAMEVM_NAMEは、Windows VM の名前に置き換えます。プロンプトが表示されたら、VM の Windows ゲスト OS ユーザー認証情報を入力します。
kubectl virt vncを使用した VM への接続について詳しくは、VNC を使用して直接接続するをご覧ください。Windows のセットアップでは、カスタム インストールの実行を選択します。
[Load driver] を選択し、
virtioディスクの viostor ディレクトリを参照して、インストールする Windows のバージョンと一致するディレクトリを選択します。詳細については、KubeVirt Windows
virtioドライバをご覧ください。virtioのストレージとネットワーク ドライバが利用可能になったら、残りの Windows インストール プロセスを完了します。Remote Desktop Protocol を有効にして、インストール後に VM に直接接続できるようにすることをおすすめします。
ISO イメージとドライバ ディスクを切断する
Windows のインストールが完了したら、VM から virtio ドライバ ディスクと Windows ISO イメージを削除します。
Windows VM を停止します。
kubectl virt stop VM_NAMEVM_NAMEは、Windows VM の名前に置き換えます。kubectlを使用して VM を編集します。kubectl edit gvm VM_NAMEVM_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_NAMEVM_NAMEは、Windows VM の名前に置き換えます。VM の
STATUSを確認します。kubectl get gvm VM_NAMEVM_NAMEは、Windows VM の名前に置き換えます。VM が
Running状態であることを確認します。VM がRunning状態でない場合は、VirtualMachineリソース マニフェストを確認して、Windows ISO ディスクとvirtioディスクのみが削除されたことを確認します。VM の起動に十分なコンピューティング リソースがホストにあることを確認します。