Cette page explique comment gérer les machines virtuelles sur Google Distributed Cloud exécutant VM Runtime sur Google Distributed Cloud. Avant de suivre les étapes de cette page, vous devez connaître VM Runtime sur GDC. Pour obtenir la liste des systèmes d'exploitation invités compatibles, consultez Systèmes d'exploitation invités validés pour l'environnement d'exécution de VM sur GDC.
Pour découvrir comment les machines virtuelles constituent un composant essentiel de la plate-forme Distributed Cloud, consultez Étendre GKE Enterprise pour gérer les VM périphériques sur site.
Les clusters de plan de contrôle local sont compatibles avec les Webhooks de machine virtuelle. Cela permet à Distributed Cloud de valider les requêtes utilisateur envoyées au serveur d'API Kubernetes local. Les demandes refusées génèrent des informations détaillées sur le motif du refus.
Activer la compatibilité de l'environnement d'exécution des VM sur GDC sur Distributed Cloud
Par défaut, la compatibilité avec les machines virtuelles de l'environnement d'exécution de VM sur GDC est désactivée sur Distributed Cloud. Pour l'activer, suivez les étapes décrites dans cette section. Les instructions de cette section supposent que vous disposez d'un cluster Distributed Cloud entièrement fonctionnel.
La ressource VMRuntime qui configure la compatibilité de l'environnement d'exécution de VM sur GDC sur Distributed Cloud configure également la compatibilité GPU sur votre cluster à l'aide du paramètre enableGPU. Assurez-vous de configurer les deux paramètres en fonction des besoins de votre charge de travail. Vous n'avez pas besoin d'activer la compatibilité avec les GPU pour activer la compatibilité avec l'environnement d'exécution de VM sur GDC sur votre cluster Distributed Cloud.
Le tableau suivant décrit les configurations disponibles :
Valeur enable |
Valeur enableGPU |
Configuration obtenue |
|---|---|---|
false |
false |
Les charges de travail ne s'exécutent que dans des conteneurs et ne peuvent pas utiliser de ressources GPU. |
false |
true |
Les charges de travail ne s'exécutent que dans des conteneurs et peuvent utiliser des ressources de GPU. |
true |
true |
Les charges de travail peuvent s'exécuter sur des machines virtuelles et dans des conteneurs. Les deux types de charges de travail peuvent utiliser des ressources GPU. |
true |
false |
Les charges de travail peuvent s'exécuter sur des machines virtuelles et dans des conteneurs. Aucun type de charge de travail ne peut utiliser de ressources de GPU. |
Si vous avez déjà activé la compatibilité avec les GPU, modifiez la ressource VMRuntime pour ajouter le paramètre enable, définissez sa valeur sur true, puis appliquez-la à votre cluster Distributed Cloud.
Activer le sous-système de machine virtuelle de l'environnement d'exécution de VM sur GDC
Selon le type de cluster sur lequel vous souhaitez activer le sous-système de machine virtuelle VM Runtime sur GDC, procédez de l'une des manières suivantes :
- Pour les clusters de plan de contrôle Cloud, vous devez créer manuellement la ressource
VMRuntime. - Pour les clusters de plan de contrôle local, vous devez modifier la ressource
VMRuntimeexistante.
Pour activer le sous-système de machine virtuelle VM Runtime sur GDC, procédez comme suit :
Selon le type de cluster cible, créez ou modifiez la ressource personnalisée
VMRuntimeavec le contenu suivant et appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: # Enable Anthos VM Runtime support enabled: true # vmImageFormat defaults to "raw" if not set vmImageFormat: "raw"
Ne modifiez pas la valeur du paramètre
vmImageFormat. Distributed Cloud n'est compatible avec aucun autre format de disque virtuel.Cette opération prend généralement plusieurs minutes.
Exécutez la commande suivante pour vérifier que la ressource personnalisée
VMRuntimea été appliquée à votre cluster :kubectl get vmruntime -o yaml
La commande renvoie un résultat semblable à l'exemple suivant :
- apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime ... spec: enabled: true vmImageFormat: raw status: ... ready: true ...Exécutez la commande suivante pour vérifier que la compatibilité avec les machines virtuelles VM Runtime sur GDC a été activée sur votre cluster :
kubectl get pods -n vm-system
La commande renvoie un résultat indiquant les pods du sous-système VM Runtime sur GDC en cours d'exécution sur votre cluster, semblable à l'exemple suivant :
NAME READY STATUS RESTARTS AGE cdi-apiserver-6c76c6cf7b-n68wn 1/1 Running 0 132m cdi-deployment-f78fd599-vj7tv 1/1 Running 0 132m cdi-operator-65c4df9647-fcb9d 1/1 Running 0 134m cdi-uploadproxy-7765ffb694-6j7bf 1/1 Running 0 132m macvtap-fjfjr 1/1 Running 0 134m virt-api-77dd99dbbb-bs2fb 1/1 Running 0 132m virt-api-77dd99dbbb-pqc27 1/1 Running 0 132m virt-controller-5b44dbbbd7-hc222 1/1 Running 0 132m virt-controller-5b44dbbbd7-p8xkk 1/1 Running 0 132m virt-handler-n76fs 1/1 Running 0 132m virt-operator-86565697d9-fpxqh 2/2 Running 0 134m virt-operator-86565697d9-jnbt7 2/2 Running 0 134m vm-controller-controller-manager-7844d5fb7b-72d8m 2/2 Running 0 134m vmruntime-controller-manager-845649c847-m78r9 2/2 Running 0 175m
Accorder l'accès à l'espace de noms cible au registre Distributed Cloud
Les étapes de cette section ne s'appliquent qu'aux clusters de plan de contrôle Cloud. Si vous configurez le sous-système de machine virtuelle de l'environnement d'exécution de VM sur GDC sur un cluster de plan de contrôle local, ignorez cette section.
Avant de pouvoir créer une machine virtuelle dans un espace de noms, vous devez accorder à cet espace de noms l'accès au registre Distributed Cloud. Le registre contient les composants nécessaires pour créer et déployer vos machines virtuelles dans l'espace de noms cible. N'oubliez pas que vous ne pouvez pas exécuter de machines virtuelles dans les espaces de noms réservés à la gestion du système Distributed Cloud. Pour en savoir plus, consultez Restrictions concernant l'espace de noms de gestion.
Pour accorder à votre espace de noms cible l'accès au registre Distributed Cloud, procédez comme suit :
Corrigez le compte de service par défaut dans l'espace de noms cible avec la clé
imagePullSecretnomméegcr-pull:kubectl patch sa default -p "{\"imagePullSecrets\": [{\"name\": \"gcr-pull\"}]}" -n NAMESPACE
Remplacez
NAMESPACEpar le nom de l'espace de noms cible.Actualisez le secret associé dans l'espace de noms cible :
# Delete existing secret. kubectl delete secret gcr-pull -n NAMESPACE --ignore-not-found # Copy the new secret to the target namespace. kubectl get secret gcr-pull -n vm-system -o yaml | sed "s/namespace: vm-system/namespace: NAMESPACE/g" | kubectl apply -f -
Remplacez
NAMESPACEpar le nom de l'espace de noms cible.Le secret expire au bout d'une heure. Vous devez l'actualiser manuellement après son expiration.
Installer l'outil de gestion virtctl
Vous avez besoin de l'outil client virtctl pour gérer les machines virtuelles sur votre cluster Distributed Cloud. Pour installer l'outil, procédez comme suit :
Installer l'outil de client
virtctlen tant que plug-inkubectl:export VERSION=v0.49.0-anthos1.12-gke.7 gcloud storage cp gs://anthos-baremetal-release/virtctl/${VERSION}/linux-amd64/virtctl /usr/local/bin/virtctl cd /usr/local/bin sudo ln -s virtctl kubectl-virt sudo chmod a+x virtctl cd -
Vérifiez que le plug-in
virtest installé :kubectl plugin list
Si le plug-in a été installé, le résultat de la commande liste
kubectl-virtcomme l'un des plug-ins.
Provisionner une machine virtuelle sur Distributed Cloud avec un stockage de blocs bruts
Cette section fournit des exemples de configuration qui illustrent comment provisionner une machine virtuelle Linux et une machine virtuelle Windows sur un cluster Distributed Cloud avec un stockage de blocs bruts. Les exemples utilisent le stockage par blocs instancié en tant que PersistentVolume.
Limites de l'utilisation du stockage de blocs bruts
Les limites suivantes s'appliquent lorsque vous exécutez des machines virtuelles avec un stockage de blocs bruts sur Distributed Cloud :
- Le champ
OSTypen'est pas compatible avec les spécifications de ressourcesVirtualMachinesur les clusters du plan de contrôle Cloud. Par conséquent, seuls les méthodesconsoleetvncsont compatibles pour accéder aux machines virtuelles exécutées sur les clusters du plan de contrôle Cloud. - Vous ne pouvez pas créer de machine virtuelle sur un cluster Distributed Cloud directement à l'aide de la commande
kubectl virt, car Distributed Cloud ne fournit pas de stockage de système de fichiers aux machines virtuelles. - Les ressources
PersistenVolumeClaimde stockage par blocs ne sont pas compatibles avec le format d'image de disqueqcow2. - Le plug-in CDI (Containerized Data Importer) n'est pas compatible avec les ressources
DataVolumesur le stockage par blocs, car l'espace de travail temporaire du plug-in ne fonctionne que sur le stockage du système de fichiers. Pour en savoir plus, consultez Espace de travail temporaire.
Provisionner une machine virtuelle Linux sur Distributed Cloud avec un stockage de blocs bruts
L'exemple suivant montre comment provisionner une machine virtuelle Linux avec un stockage de blocs bruts exécutant Ubuntu Server 22.04. La source d'installation est l'image disque ISO Ubuntu Server 22.04.
Créez une ressource
PersistentVolumeClaimavec le contenu suivant pour l'image de disque d'installation Ubuntu Server, puis appliquez-la à votre cluster :apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app: containerized-data-importer name: iso-ubuntu annotations: cdi.kubevirt.io/storage.import.endpoint: "https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso" spec: accessModes: - ReadWriteOnce storageClassName: local-block volumeMode: Block resources: requests: storage: 5Gi
Créez une ressource
PersistentVolumeClaimavec le contenu suivant pour le disque dur virtuel de la machine virtuelle, puis appliquez-la à votre cluster :apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ubuntuhd spec: accessModes: - ReadWriteOnce resources: requests: storage: 15Gi storageClassName: local-block volumeMode: Block
Créez une ressource
VirtualMachineDiskavec le contenu suivant pour l'image de disque d'installation Ubuntu Server, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-iso-disk" spec: persistentVolumeClaimName: iso-ubuntu diskType: cdrom
Créez une ressource
VirtualMachineDiskavec le contenu suivant pour le disque dur virtuel de la machine virtuelle, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-main-disk" spec: persistentVolumeClaimName: ubuntuhd
Créez une ressource
VirtualMachineTypeavec le contenu suivant qui spécifie la configuration de la machine virtuelle, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Créez une ressource
VirtualMachineavec le contenu suivant, qui instancie et démarre la machine virtuelle sur le cluster, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: ubu-vm name: ubu-vm # Propagate the virtual machine name to the VMI spec: osType: Linux compute: virtualMachineTypeName: small-2-20 interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: ubuntu-main-disk boot: true - virtualMachineDiskName: ubuntu-iso-disk
Le champ
osTypene s'applique qu'aux clusters de plan de contrôle local. Il est obligatoire sur les clusters de plan de contrôle local pour configurer les fonctionnalités suivantes :Installez Ubuntu Server sur la machine virtuelle :
- Attendez que le pod
importertélécharge l'image disque d'installation d'Ubuntu Server. Vérifiez l'état de la machine virtuelle :
kubectl get gvm VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (ubu-vmdans cet exemple).Connectez-vous à la machine virtuelle :
kubectl virt vnc VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (ubu-vmdans cet exemple).Suivez la procédure d'installation d'Ubuntu Linux.
- Attendez que le pod
Effectuer un nettoyage :
Arrêtez la machine virtuelle :
kubectl virt stop VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (ubu-vmdans cet exemple).Modifiez le fichier YAML de la machine virtuelle pour supprimer la référence à l'image disque d'installation :
kubectl edit gvm VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (ubu-vmdans cet exemple).Démarrez la machine virtuelle :
kubectl virt start VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (ubu-vmdans cet exemple).Supprimez les ressources
VirtualMachineDisketPersistentVolumeClaimpour l'image disque d'installation :kubectl delete virtualmachinedisk ubuntu-iso-disk kubectl delete pvc iso-ubuntu
Provisionner une machine virtuelle Windows sur Distributed Cloud avec un stockage de blocs bruts
L'exemple suivant montre comment provisionner une machine virtuelle Windows avec un stockage de blocs bruts. Les étapes sont semblables à celles du provisionnement d'une machine virtuelle Linux, avec l'ajout de l'image de disque de pilote virtio, qui est requise pour installer Windows.
Obtenez une copie sous licence de Windows et de son image de support d'installation.
Créez une ressource
PersistentVolumeClaimavec le contenu suivant pour l'image de disque d'installation de Windows, puis appliquez-la à votre cluster. Pour obtenir des instructions, consultez À partir d'une image.Créez une ressource
PersistentVolumeClaimavec le contenu suivant pour le pilotevirtio, puis appliquez-la à votre cluster :apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app: containerized-data-importer name: virtio-driver annotations: cdi.kubevirt.io/storage.import.endpoint: "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso" spec: accessModes: - ReadWriteOnce storageClassName: local-block volumeMode: Block resources: requests: storage: 1Gi
Créez une ressource
PersistentVolumeClaimavec le contenu suivant pour le disque dur virtuel de la machine virtuelle, puis appliquez-la à votre cluster :apiVersion: v1 kind: PersistentVolumeClaim metadata: name: windowshd spec: accessModes: - ReadWriteOnce resources: requests: storage: 15Gi storageClassName: local-block volumeMode: Block
Créez une ressource
VirtualMachineDiskavec le contenu suivant pour l'image de disque d'installation Windows, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "windows-iso-disk" spec: persistentVolumeClaimName: iso-windows diskType: cdrom
Créez une ressource
VirtualMachineDiskavec le contenu suivant pour le pilotevirtio, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "win-virtio-driver" spec: persistentVolumeClaimName: virtio-driver diskType: cdrom
Créez une ressource
VirtualMachineDiskavec le contenu suivant pour le disque dur virtuel de la machine virtuelle, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "windows-main-disk" spec: persistentVolumeClaimName: windowshd
Créez une ressource
VirtualMachineTypeavec le contenu suivant qui spécifie la configuration de la machine virtuelle, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Créez une ressource
VirtualMachineavec le contenu suivant, qui instancie et démarre la machine virtuelle sur le cluster, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: win-vm name: win-vm # Propagate the virtual machine name to the VMI spec: osType: Windows compute: virtualMachineTypeName: my-vmt interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: windows-main-disk boot: true - virtualMachineDiskName: windows-iso-disk - virtualMachineDiskName: win-virtio-driver
Le champ
osTypene s'applique qu'aux clusters de plan de contrôle local. Il est obligatoire sur les clusters de plan de contrôle local pour configurer les fonctionnalités suivantes :Installez Windows sur la machine virtuelle :
- Attendez que le pod
importertélécharge l'image disque d'installation de Windows. Vérifiez l'état de la machine virtuelle :
kubectl get gvm VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (win-vmdans cet exemple).Terminez l'installation de Windows en suivant les étapes décrites dans Se connecter à une VM Windows et terminer l'installation de l'OS.
- Attendez que le pod
Effectuer un nettoyage :
Arrêtez la machine virtuelle :
kubectl virt stop VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (win-vmdans cet exemple).Suivez la procédure décrite dans Détacher l'image ISO et le disque de pilotes.
Provisionner une machine virtuelle sur Distributed Cloud avec Symcloud Storage
Cette section fournit des exemples de configuration qui illustrent comment provisionner une machine virtuelle Linux et une machine virtuelle Windows sur un cluster Distributed Cloud avec la couche d'abstraction Symcloud Storage.
Avant de suivre les étapes de cette section, vous devez d'abord suivre celles de la section Configurer Distributed Cloud pour Symcloud Storage. Si vous désactivez ultérieurement Symcloud Storage sur le cluster, les machines virtuelles configurées pour utiliser Symcloud Storage échoueront.
Provisionner une machine virtuelle Linux sur Distributed Cloud avec Symcloud Storage
L'exemple suivant montre comment provisionner une machine virtuelle Linux avec Symcloud Storage exécutant Ubuntu Server 22.04. La source d'installation est l'image disque ISO Ubuntu Server 22.04.
Créez une ressource
VirtualMachineDiskavec le contenu suivant pour l'image de disque d'installation Ubuntu Server, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: ubuntu-iso-disk spec: size: 20Gi storageClassName: robin diskType: cdrom source: http: url: https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso
Créez une ressource
VirtualMachineDiskavec le contenu suivant pour le disque dur virtuel de la machine virtuelle, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-main-disk" spec: size: 200Gi storageClassName: robin
Créez une ressource
VirtualMachineTypeavec le contenu suivant qui spécifie la configuration de la machine virtuelle, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Créez une ressource
VirtualMachineavec le contenu suivant, qui instancie et démarre la machine virtuelle sur le cluster, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: ubu-vm name: ubu-vm # Propagate the virtual machine name to the VMI spec: osType: Linux compute: virtualMachineTypeName: small-2-20 interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: ubuntu-main-disk boot: true - virtualMachineDiskName: ubuntu-iso-disk
Le champ
osTypene s'applique qu'aux clusters de plan de contrôle local. Il est obligatoire sur les clusters de plan de contrôle local pour configurer les fonctionnalités suivantes :Installez Ubuntu Server sur la machine virtuelle :
- Attendez que le pod
importertélécharge l'image disque d'installation d'Ubuntu Server. Vérifiez l'état de la machine virtuelle :
kubectl get gvm VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (ubu-vmdans cet exemple).Connectez-vous à la machine virtuelle :
kubectl virt vnc VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (ubu-vmdans cet exemple).Suivez la procédure d'installation d'Ubuntu Linux.
- Attendez que le pod
Effectuer un nettoyage :
Arrêtez la machine virtuelle :
kubectl virt stop VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (ubu-vmdans cet exemple).Modifiez le fichier YAML de la machine virtuelle pour supprimer la référence à l'image disque d'installation :
kubectl edit gvm VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (ubu-vmdans cet exemple).Démarrez la machine virtuelle :
kubectl virt start VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (ubu-vmdans cet exemple).Supprimez la ressource
VirtualMachineDiskpour l'image disque d'installation :kubectl delete virtualmachinedisk ubuntu-iso-disk
Provisionner une machine virtuelle Windows sur Distributed Cloud avec Symcloud Storage
L'exemple suivant montre comment provisionner une machine virtuelle Windows avec Symcloud Storage. Les étapes sont semblables à celles du provisionnement d'une machine virtuelle Linux, avec l'ajout de l'image de disque de pilote virtio, qui est requise pour installer Windows.
Obtenez une copie sous licence de Windows et de son image de support d'installation.
Créez une ressource
VirtualMachineDiskavec le contenu suivant pour l'image de disque d'installation Windows, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-iso-disk namespace: default spec: size: 5Gi storageClassName: robin diskType: cdrom source: http: url: WINDOWS_ISO_URL
Remplacez
NAT_GATEWAYpar l'URL complète de l'image disque ISO d'installation de Windows cible.Créez une ressource
VirtualMachineDiskavec le contenu suivant pour le pilotevirtio, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-virtio-driver namespace: default spec: size: 1Gi storageClassName: robin diskType: cdrom source: http: url: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
Créez une ressource
VirtualMachineDiskavec le contenu suivant pour le disque dur virtuel de la machine virtuelle, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-main-disk namespace: default spec: size: 15Gi storageClassName: robin
Créez une ressource
VirtualMachineTypeavec le contenu suivant qui spécifie la configuration de la machine virtuelle, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
Créez une ressource
VirtualMachineavec le contenu suivant, qui instancie et démarre la machine virtuelle sur le cluster, puis appliquez-la à votre cluster :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: win-vm name: win-vm # Propagate the virtual machine name to the VMI spec: osType: Windows compute: virtualMachineTypeName: my-vmt interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: windows-main-disk boot: true - virtualMachineDiskName: windows-iso-disk - virtualMachineDiskName: win-virtio-driver
Le champ
osTypene s'applique qu'aux clusters de plan de contrôle local. Il est obligatoire sur les clusters de plan de contrôle local pour configurer les fonctionnalités suivantes :Installez Windows sur la machine virtuelle :
- Attendez que le pod
importertélécharge l'image disque d'installation de Windows. Vérifiez l'état de la machine virtuelle :
kubectl get gvm VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (win-vmdans cet exemple).Terminez l'installation de Windows en suivant les étapes décrites dans Se connecter à une VM Windows et terminer l'installation de l'OS.
- Attendez que le pod
Effectuer un nettoyage :
Arrêtez la machine virtuelle :
kubectl virt stop VM_NAME
Remplacez
VM_NAMEpar le nom de la machine virtuelle (win-vmdans cet exemple).Suivez la procédure décrite dans Détacher l'image ISO et le disque de pilotes.
Provisionner une machine virtuelle sur Distributed Cloud à l'aide de virtctl
Si vous n'avez pas besoin de la personnalisation fournie par la création de vos propres spécifications de ressources pour vos machines virtuelles, vous pouvez provisionner une machine virtuelle sur Distributed Cloud à l'aide de l'outil de ligne de commande virtctl, comme décrit dans Créer une VM.
Gérer les machines virtuelles exécutées sur Distributed Cloud
Pour savoir comment gérer les machines virtuelles exécutées sur Distributed Cloud, consultez la documentation suivante sur l'environnement d'exécution des VM sur GDC :
- Se connecter à des VM
- Répertorier et afficher les VM
- Gérer l'état d'alimentation
- Modifier une VM
- Supprimer une VM
- Afficher les journaux de la console de VM
Pour gérer les machines virtuelles exécutées sur des clusters de plan de contrôle local, vous devez d'abord configurer la connectivité kubectl.
Configurer l'appareil ttyS0 pour l'accès à la console série des machines virtuelles Linux
Si vous prévoyez d'accéder à vos machines virtuelles Linux à l'aide de la console série (kubectl virt console), assurez-vous que le périphérique de console série ttyS0 a été configuré sur le système d'exploitation invité. Pour configurer cet appareil, procédez comme suit :
Instanciez le périphérique série
ttyS0dans le système :setserial -g /dev/ttyS0
Configurez le bootloader
grubpour qu'il utilise le périphérique sériettyS0en ajoutant les lignes suivantes à votre fichier de configuration/etc/default/grub. La première ligne remplace votre variableGRUB_CMDLINE_LINUXexistante.GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,19200n8' GRUB_TERMINAL=serial GRUB_SERIAL_COMMAND="serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1"
Appliquez la nouvelle configuration
grubà votre secteur de démarrage :update-grub
Redémarrez la machine virtuelle.
Désactiver l'environnement d'exécution de VM sur GDC sur Distributed Cloud
Suivez les étapes de cette section pour désactiver VM Runtime sur GDC sur Distributed Cloud. Avant de pouvoir désactiver l'environnement d'exécution des VM sur GDC sur Distributed Cloud, vous devez arrêter et supprimer toutes les machines virtuelles de votre cluster Distributed Cloud, comme décrit dans Supprimer une VM.
Pour désactiver VM Runtime sur GDC sur Distributed Cloud, modifiez la ressource personnalisée VMRuntime en définissant le paramètre de spécification enabled sur false comme suit, puis appliquez-le à votre cluster :
apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: # Disable Anthos VM Runtime enabled: false # vmImageFormat defaults to "raw" if not set vmImageFormat: "raw"
Étapes suivantes
- Déployer des charges de travail sur Distributed Cloud
- Gérer les charges de travail GPU
- Gérer les zones
- Gérer les machines
- Gérer les clusters
- Gérer les pools de nœuds