Ce document explique comment créer une machine virtuelle (VM) Windows qui démarre à partir d'une ISO à l'aide de l'environnement d'exécution des VM Anthos. Lorsque la VM démarre, vous terminez manuellement la routine de configuration Windows.
Vous pouvez également créer une VM Windows à partir d'une image de disque préparée à l'aide d'une source HTTP ou de Cloud Storage.
Avant de commencer
Pour terminer ce document, vous devez disposer des ressources suivantes :
- Accès aux clusters Anthos sur solution Bare Metal version 1.12.0 (
anthosBareMetalVersion: 1.12.0
) ou cluster supérieur. Vous pouvez utiliser n'importe quel type de cluster capable d'exécuter des charges de travail. Si nécessaire, essayez les clusters Anthos sur solution Bare Metal sur Compute Engine ou consultez la présentation de la création de clusters. - L'outil client
virtctl
, installé en tant que plug-in dekubectl
. Si nécessaire, installez l'outil client virtctl.
Créer un disque virtuel pour l'image ISO
Pour créer une VM Windows, suivez les étapes et les sections de ce document dans l'ordre.
Pour démarrer à partir d'une image ISO Windows, créez d'abord un VirtualMachineDisk
avec un diskType
de cdrom
. Utilisez votre clé ISO Windows comme source de ce disque.
Créez un fichier manifeste
VirtualMachineDisk
, tel quewindows-iso.yaml
, dans l'éditeur de votre choix :nano windows-iso.yaml
Copiez et collez le fichier manifeste YAML suivant :
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-iso spec: source: http: url: IMG_URL size: 10Gi diskType: cdrom
Remplacez
IMG_URL
par le chemin d'accès HTTP à votre fichier ISO Windows. Vous pouvez également créer et utiliser des identifiants pour importer un fichier ISO à partir de Cloud Storage.Enregistrez et fermez le fichier manifeste dans votre éditeur.
Créez
VirtualMachineDisk
en utilisantkubectl
:kubectl apply -f windows-iso.yaml
Créer un disque de pilotes de VM
Pour démarrer à partir d'un système Windows ISO et terminer le processus d'installation, la VM doit avoir accès aux pilotes virtio
. Pour fournir les pilotes virtio
à la VM, procédez comme suit:
Créez un fichier manifeste
VirtualMachineDisk
, tel quevirtio-driver.yaml
, dans l'éditeur de votre choix :nano virtio-driver.yaml
Copiez et collez le fichier manifeste YAML suivant :
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
Ce fichier manifeste extrait les derniers pilotes
virtio
d'un dépôt Docker public et définitdiskType
commecdrom
. Votre VM utilise ce disque pendant le processus d'installation.Enregistrez et fermez le fichier manifeste dans votre éditeur.
Créez
VirtualMachineDisk
en utilisantkubectl
:kubectl apply -f virtio-driver.yaml
Créer une VM Windows
Créez une VM qui démarre à partir de l'ISO Windows VirtualMachineDisk
et associe le disque de pilotes virtio
:
Créez un fichier manifeste qui définit un
VirtualMachineDisk
pour le volume de démarrage et unVirtualMachine
, tel quewindows-vm.yaml
, dans l'éditeur de votre choix:nano windows-vm.yaml
Copiez et collez le fichier manifeste YAML suivant :
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 interfaces: - name: eth0 networkName: pod-network
Remplacez
VM_NAME
par le nom de votre VM.Ce fichier manifeste crée un volume de démarrage de 100 gibioctets (Gio). Comme ce volume de démarrage est vide au démarrage de la VM, celle-ci démarre à partir d'ISO en tant que périphérique de CD-ROM pour démarrer la routine de configuration. Les pilotes
virtio
sont également associés pour terminer le processus d'installation.Enregistrez et fermez le fichier manifeste dans votre éditeur.
Créez
VirtualMachineDisk
etVirtualMachine
à l'aide dekubectl
:kubectl apply -f windows-vm.yaml
Se connecter à une VM Windows et terminer l'installation du système d'exploitation
La VM démarre et démarre à partir de l'ISO Windows sous la section précédente. Connectez-vous à votre VM et terminez le processus d'installation de Windows, puis configurez votre VM:
Connectez-vous à votre VM Windows:
kubectl virt vnc VM_NAME
Remplacez
VM_NAME
par le nom de votre VM Windows.Lorsque vous y êtes invité, saisissez vos identifiants utilisateur OS OS Windows pour votre VM.
Pour en savoir plus sur l'utilisation de
kubectl virt vnc
pour vous connecter à votre VM, consultez la section Se connecter directement avec VNC.Dans la configuration de Windows, choisissez d'effectuer une installation personnalisée.
Sélectionnez Charger le pilote, accédez au répertoire viostor du disque
virtio
, puis sélectionnez le répertoire correspondant à la version de Windows que vous souhaitez installer.Pour en savoir plus, consultez la section Pilotes Windows KubeVirt
virtio
.Maintenant que les pilotes de stockage et de réseau de
virtio
sont disponibles, terminez le processus d'installation de Windows.Nous vous recommandons d'activer le protocole Bureau à distance afin de pouvoir vous connecter directement à la VM après l'installation.
Dissocier l'image ISO et le disque des pilotes
Une fois l'installation de Windows terminée, supprimez le disque des pilotes virtio
et l'image ISO Windows de la VM:
Arrêtez votre VM Windows:
kubectl virt stop VM_NAME
Remplacez
VM_NAME
par le nom de votre VM Windows.Utilisez
kubectl
pour modifier la VM :kubectl edit gvm VM_NAME
Remplacez
VM_NAME
par le nom de votre VM Windows.Dans votre éditeur, mettez à jour la section
spec.disks
pour supprimer les disques Windows ISO etvirtio
, comme illustré dans l'exemple suivant. Le seul disque restant associé à la VM doit être leVM_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: ...
Enregistrez et fermez le fichier manifeste de la VM.
Démarrez votre VM Windows:
kubectl virt start VM_NAME
Remplacez
VM_NAME
par le nom de votre VM Windows.Vérifiez le
STATUS
de votre VM :kubectl get gvm VM_NAME
Remplacez
VM_NAME
par le nom de votre VM Windows.Vérifiez que votre VM est à l'état
Running
. Si la VM n'est pas à l'étatRunning
, vérifiez le fichier manifeste de votre ressourceVirtualMachine
pour vous assurer que vous n'avez supprimé que le disque Windows ISO etvirtio
. Vérifiez que l'hôte dispose de suffisamment de ressources de calcul pour démarrer votre VM.