Neste documento, mostramos como criar uma máquina virtual (VM) do Windows que é inicializada a partir de uma ISO usando o ambiente de execução de VM no GDC. Quando a VM é inicializada, você conclui manualmente a rotina de configuração do Windows.
Também é possível criar uma VM do Windows a partir de uma imagem de disco preparado usando uma origem HTTP ou do Cloud Storage.
Antes de começar
Para concluir este documento, você precisa de acesso aos seguintes recursos:
- Acesso ao cluster do Google Distributed Cloud versão 1.12.0 (
anthosBareMetalVersion: 1.12.0
) ou superior. Use qualquer tipo de cluster capaz de executar cargas de trabalho. Se necessário, teste o Google Distributed Cloud no Compute Engine ou consulte a visão geral de criação de clusters. - A ferramenta do cliente
virtctl
instalada como um plug-in para okubectl
. Se necessário, instale a ferramenta de cliente virtctl.
Criar um disco virtual para a imagem ISO
Para criar uma VM do Windows, siga as etapas e seções deste documento em ordem.
Para inicializar com uma imagem ISO do Windows, primeiro crie um VirtualMachineDisk
com diskType
de cdrom
. Use o ISO do Windows como fonte desse disco.
Crie um manifesto de
VirtualMachineDisk
, comowindows-iso.yaml
, no editor de 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 o ISO do Windows. Também é possível criar e usar credenciais para importar um ISO do Cloud Storage.Salve e feche o manifesto no editor.
Crie
VirtualMachineDisk
usandokubectl
:kubectl apply -f windows-iso.yaml
Criar um disco de drivers de VM
Para inicializar com base em um ISO do Windows e concluir o processo de instalação, a
VM precisa ter acesso aos
drivers virtio
. Para fornecer os drivers virtio
à VM, siga estas etapas:
Crie um manifesto de
VirtualMachineDisk
, comovirtio-driver.yaml
, no editor de 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
Esse manifesto extrai os drivers
virtio
mais recentes de um repositório público do Docker e define odiskType
comocdrom
. A VM usa esse disco durante o processo de instalação.Salve e feche o manifesto no editor.
Crie
VirtualMachineDisk
usandokubectl
:kubectl apply -f virtio-driver.yaml
Criar uma VM do Windows
Crie uma VM com a inicialização do VirtualMachineDisk
do ISO do Windows e anexe
o disco dos drivers virtio
:
Crie um manifesto que defina um
VirtualMachineDisk
para o volume de inicialização e umaVirtualMachine
, comowindows-vm.yaml
, no editor de 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 da sua VM.Esse manifesto cria um volume de inicialização de 100 Gibibyte (GiB). Como esse volume de inicialização está vazio quando a VM é iniciada pela primeira vez, a VM é inicializada do ISO como um dispositivo de CD-ROM para iniciar a rotina de configuração. Os drivers
virtio
também são anexados para concluir o processo de instalação.Salve e feche o manifesto no editor.
Crie
VirtualMachineDisk
eVirtualMachine
usandokubectl
:kubectl apply -f windows-vm.yaml
Conectar-se à VM do Windows e concluir a instalação do SO
A VM é iniciada e inicializada pelo ISO do Windows na seção anterior. Conecte-se à VM, conclua o processo de instalação do Windows e configure a VM:
Conecte-se à VM do Windows:
kubectl virt vnc VM_NAME
Substitua
VM_NAME
pelo nome da sua VM do Windows.Quando solicitado, digite as credenciais de usuário do SO convidado do Windows para sua VM.
Para mais informações sobre como usar o
kubectl virt vnc
para se conectar à sua VM, consulte Conectar diretamente usando o VNC.Na configuração do Windows, escolha executar uma Instalação personalizada.
Selecione Carregar driver, navegue até o diretório viostor no disco
virtio
e selecione o diretório que corresponde à versão do Windows que você quer instalar.Para mais informações, consulte Drivers
virtio
do KubeVirt do Windows.Com os drivers de armazenamento e de rede de
virtio
agora disponíveis, conclua o restante do processo de instalação do Windows.Recomendamos ativar o protocolo Remote Desktop para se conectar diretamente à VM após a instalação.
Remover a imagem ISO e o disco dos drivers
Após a conclusão da instalação do Windows, remova o disco de drivers virtio
e
a imagem ISO do Windows da VM:
Interrompa 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 seu editor, atualize a seção
spec.disks
para remover os discos ISO evirtio
do Windows, como mostrado no exemplo a seguir. O único disco restante anexado à VM precisa 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: ...
Salve e feche o manifesto da VM.
Inicie sua 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.Verifique se a VM está no estado
Running
. Se a VM não estiver no estadoRunning
, verifique o manifesto do recursoVirtualMachine
para garantir que você tenha só removido o disco ISO evirtio
do Windows. Verifique se o host tem recursos de computação suficientes para iniciar sua VM.