Neste documento, mostramos como criar uma máquina virtual (VM) do Windows que é inicializada de uma ISO usando o ambiente de execução de VMs no Google Distributed Cloud. Quando a VM é inicializada, você conclui manualmente a rotina de configuração do Windows.
Também é possível criar uma VM do Windows com uma imagem de disco preparada 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 GKE em um cluster Bare Metal 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 GKE em Bare Metal no Compute Engine ou consulte a visão geral da 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.