Este documento mostra como criar uma máquina virtual (VM) do Windows que arranca a partir de um ISO através do tempo de execução da VM no GDC. Quando a VM é iniciada, conclui manualmente a rotina de configuração do Windows.
Também pode criar uma VM do Windows a partir de uma imagem de disco preparada usando uma origem HTTP ou a partir do Cloud Storage.
Antes de começar
Para preencher este documento, precisa de ter acesso aos seguintes recursos:
- Acesso à versão 1.12.0 do Google Distributed Cloud (
anthosBareMetalVersion: 1.12.0
) ou a um cluster superior. Pode usar qualquer tipo de cluster capaz de executar cargas de trabalho. Se necessário, experimente o Google Distributed Cloud no Compute Engine ou consulte a vista geral da criação de clusters. - A ferramenta de cliente
virtctl
instalada como um plug-in para okubectl
. Se necessário, instale a ferramenta de cliente virtctl.
Crie um disco virtual para a imagem ISO
Para criar com êxito uma VM do Windows, siga os passos e as secções deste documento pela ordem indicada.
Para arrancar a partir de uma imagem ISO do Windows, primeiro crie um VirtualMachineDisk
com diskType
de cdrom
. Use a sua ISO do Windows como origem para este disco.
Crie um manifesto
VirtualMachineDisk
, comowindows-iso.yaml
, no editor à sua escolha:nano windows-iso.yaml
Copie e cole o seguinte manifesto YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-iso spec: source: http: url: IMG_URL size: 10Gi diskType: cdrom
Substitua
IMG_URL
pelo caminho HTTP para a sua ISO do Windows. Também pode criar e usar credenciais para importar uma ISO do Cloud Storage.Guarde e feche o manifesto no editor.
Crie o
VirtualMachineDisk
com okubectl
:kubectl apply -f windows-iso.yaml
Crie um disco de controladores de VM
Para arrancar com êxito a partir de um ISO do Windows e concluir o processo de instalação, a VM precisa de acesso aos controladores virtio
. Para fornecer os controladores virtio
à VM,
conclua os seguintes passos:
Crie um manifesto
VirtualMachineDisk
, comovirtio-driver.yaml
, no editor à sua escolha:nano virtio-driver.yaml
Copie e cole o seguinte manifesto 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
Este manifesto extrai os controladores
virtio
mais recentes de um repositório público do Docker e define odiskType
comocdrom
. A sua VM usa este disco durante o processo de instalação.Guarde e feche o manifesto no editor.
Crie o
VirtualMachineDisk
com okubectl
:kubectl apply -f virtio-driver.yaml
Crie uma VM do Windows
Crie uma VM que arranque a partir da ISO do Windows VirtualMachineDisk
e anexe
o disco de controladores virtio
:
Crie um manifesto que defina um
VirtualMachineDisk
para o volume de arranque e umVirtualMachine
, comowindows-vm.yaml
, no editor à sua escolha:nano windows-vm.yaml
Copie e cole o seguinte manifesto 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
Substitua
VM_NAME
pelo nome que quer dar à sua VM.Este manifesto cria um volume de arranque de 100 gibibytes (GiB). Como este volume de arranque está vazio quando a VM é iniciada pela primeira vez, a VM arranca a partir da ISO como um dispositivo de CD-ROM para iniciar a rotina de configuração. Os controladores
virtio
também estão anexados para concluir o processo de instalação.Guarde e feche o manifesto no editor.
Crie o
VirtualMachineDisk
e oVirtualMachine
com okubectl
:kubectl apply -f windows-vm.yaml
Estabeleça ligação à VM do Windows e conclua a instalação do SO
A VM é iniciada e arranca a partir da ISO do Windows na secção anterior. Estabeleça ligação à VM e conclua o processo de instalação do Windows e configure a VM:
Estabeleça ligação à sua VM do Windows:
kubectl virt vnc VM_NAME
Substitua
VM_NAME
pelo nome da sua VM do Windows.Quando lhe for pedido, introduza as credenciais de utilizador do SO convidado do Windows para a sua VM.
Para mais informações sobre a utilização do
kubectl virt vnc
para estabelecer ligação à sua VM, consulte o artigo Estabeleça ligação diretamente através do VNC.Na configuração do Windows, opte por fazer uma instalação personalizada.
Selecione Carregar controlador, navegue até ao diretório viostor no
virtio
disco e, de seguida, selecione o diretório que corresponde à versão do Windows que quer instalar.Para mais informações, consulte os controladores KubeVirt Windows
virtio
.Com os controladores de armazenamento e de rede da
virtio
agora disponíveis, conclua o resto do processo de instalação do Windows.Recomendamos que ative o protocolo de ambiente de trabalho remoto para poder ligar-se diretamente à VM após a instalação.
Desanexe a imagem ISO e o disco de controladores
Após a conclusão da instalação do Windows, remova o disco de controladores virtio
e a imagem ISO do Windows da VM:
Pare a VM do Windows:
kubectl virt stop VM_NAME
Substitua
VM_NAME
pelo nome da sua VM do Windows.Use
kubectl
para editar a VM:kubectl edit gvm VM_NAME
Substitua
VM_NAME
pelo nome da sua VM do Windows.No editor, atualize a secção
spec.disks
para remover os discos ISO do Windows evirtio
, conforme mostrado no exemplo seguinte. O único disco que resta anexado à VM deve ser oVM_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: ...
Guarde e feche o manifesto de VM.
Inicie a VM do Windows:
kubectl virt start VM_NAME
Substitua
VM_NAME
pelo nome da sua VM do Windows.Verifique o
STATUS
da sua VM:kubectl get gvm VM_NAME
Substitua
VM_NAME
pelo nome da sua VM do Windows.Certifique-se de que a VM está no estado
Running
. Se a VM não estiver num estadoRunning
state, verifique o manifesto do recursoVirtualMachine
para se certificar de que removeu apenas o ISO do Windows e o discovirtio
. Verifique se o anfitrião tem recursos de computação suficientes para iniciar a sua VM.