Ce document est destiné aux propriétaires d'applications et aux administrateurs de plate-forme qui exécutent GKE sur une solution Bare Metal. Ce document explique comment créer et utiliser des types de VM, ou spécifier manuellement les ressources de processeur et de mémoire lorsque vous créez des VM qui utilisent l'environnement d'exécution des VM sur Google Distributed Cloud.
Avant de commencer
Pour suivre les instructions de ce document, vous devez disposer des ressources suivantes :
- Accès à GKE sur Bare Metal version 1.12.0 (
anthosBareMetalVersion: 1.12.0
) ou ultérieure. Vous pouvez utiliser n'importe quel type de cluster capable d'exécuter des charges de travail. Si nécessaire, essayez GKE sur 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 une VM
Lorsque vous créez une VM, vous pouvez spécifier manuellement les exigences en termes de processeur et de mémoire. Cela vous permet de créer des VM avec les ressources de calcul appropriées pour répondre aux besoins de votre application.
Pour créer une VM et spécifier manuellement les exigences en termes de processeur et de mémoire, procédez comme suit :
CLI
Créez une VM en utilisant
kubectl
:kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --cpu CPU_NUMBER \ --memory MEMORY_SIZE
Remplacez les valeurs suivantes :
VM_NAME
: nom de votre VM. Pour en savoir plus sur les contraintes de nom, consultez la section Noms et ID d'objets.CPU_NUMBER
: nombre de processeurs virtuels (vCPU) à attribuer à la VM.- Vous pouvez attribuer entre 1 et 96 processeurs virtuels à une VM.
MEMORY_SIZE
: quantité de mémoire à attribuer à la VM.- Vous pouvez attribuer entre 1 Mo et 1 To de mémoire à une VM. Pour en savoir plus, consultez la section Unités de ressource de mémoire.
Manifest
Créez un fichier manifeste
VirtualMachine
(my-custom-vm.yaml, par exemple) dans l'éditeur de votre choix :nano my-custom-vm.yaml
Copiez et collez le fichier manifeste YAML suivant :
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: cpu: vcpus: VCPU_NUMBER memory: capacity: MEMORY_SIZE interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: VM_NAME-boot-dv boot: true
Dans ce fichier YAML, définissez les paramètres suivants :
VM_NAME
: nom de votre VM. Pour en savoir plus sur les contraintes de nom, consultez la section Noms et ID d'objets.VCPU_NUMBER
: nombre de processeurs virtuels à attribuer à la VM.- Vous pouvez attribuer entre 1 et 96 processeurs virtuels à une VM.
MEMORY_SIZE
: quantité de mémoire à attribuer à la VM.- Vous pouvez attribuer entre 1 Mo et 1 To de mémoire à une VM. Pour en savoir plus, consultez la section Unités de ressource de mémoire.
La VM connecte
eth0
au réseaupod-network
par défaut.Le disque de démarrage nommé
VM_NAME-boot-dv
doit déjà exister. Pour plus d'informations, consultez la page Créer et gérer des disques virtuels.Enregistrez et fermez le fichier manifeste de VM dans votre éditeur.
Créez la VM en utilisant
kubectl
:kubectl apply -f my-custom-vm.yaml
Créer et utiliser des types de VM
Lorsque vous activez l'environnement d'exécution des VM sur Google Distributed Cloud, une nouvelle définition de ressource personnalisée VirtualMachineType est disponible. Cette définition est utilisée pour spécifier les ressources de processeur et de mémoire d'une VM. Vous pouvez créer des types de VM pour les différentes charges de travail dont vous avez besoin, et appliquer un ensemble cohérent de ressources de calcul aux VM en fonction de ces types.
Si l'environnement d'exécution des VM sur Google Distributed Cloud est activé dans GKE sur Bare Metal, le vm-controller-manager
installe un type de VM prédéfini. La définition suivante indique le type de VM example-machinetype
par défaut :
apiVersion: vm.cluster.gke.io/v1
kind: VirtualMachineType
metadata:
name: "example-machinetype"
labels:
vm.cluster.gke.io/predefined-machinetype: "true"
spec:
cpu:
vcpus: 2
memory:
capacity: 4G
Vous ne pouvez pas mettre à jour ce type de VM prédéfini. Ce type de VM prédéfini est réinstallé s'il n'existe pas dans le cluster, à chaque démarrage ou redémarrage de vm-controller-manager
, par exemple si vous avez supprimé le type de VM.
Créer un type de VM
Vous pouvez créer vos propres types de VM en fonction des besoins de calcul de vos charges de travail.
Créez un fichier manifeste
VirtualMachineType
(my-vm-type.yaml, par exemple) dans l'éditeur de votre choix :nano my-vm-type.yaml
Copiez et collez le fichier manifeste YAML suivant :
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: my-vm-type spec: cpu: vcpus: VCPU_NUMBER memory: capacity: MEMORY_SIZE
Dans ce type de VM, vous définissez les paramètres suivants :
VM_NAME
: nom de votre VM. Pour en savoir plus sur les contraintes de nom, consultez la section Noms et ID d'objets.VCPU_NUMBER
: nombre de processeurs virtuels à attribuer à la VM.- Vous pouvez attribuer entre 1 et 96 processeurs virtuels à une VM.
MEMORY_SIZE
: quantité de mémoire à attribuer à la VM.- Vous pouvez attribuer entre 1 Mo et 1 To de mémoire à une VM. Pour en savoir plus, consultez la section Unités de ressource de mémoire.
Enregistrez et fermez le fichier manifeste du type de VM dans votre éditeur.
Créez le type de VM en utilisant
kubectl
:kubectl apply -f my-vm-type.yaml
Créer une VM en utilisant un type de VM
Spécifiez un type de VM dans votre fichier manifeste VirtualMachine
pour appliquer des paramètres compute
prédéfinis à votre VM.
Créez un fichier manifeste
VirtualMachine
(my-custom-vm.yaml, par exemple) dans l'éditeur de votre choix.nano my-custom-vm.yaml
Copiez et collez le fichier manifeste YAML suivant :
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: virtualMachineTypeName: my-vm-type interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: VM_NAME-boot-dv boot: true
Dans ce fichier YAML, spécifiez le nom du type de VM personnalisé que vous avez créé dans la section précédente (
my-vm-type
, par exemple) comme valeur du champvirtualMachineTypeName
.La VM connecte
eth0
au réseaupod-network
par défaut.Le disque de démarrage nommé
VM_NAME-boot-dv
doit déjà exister. Pour plus d'informations, consultez la page Créer et gérer des disques virtuels.Enregistrez et fermez le fichier manifeste de VM dans votre éditeur.
Créez la VM en utilisant
kubectl
:kubectl apply -f my-custom-vm.yaml
Étapes suivantes
- Modifiez une VM dans GKE sur Bare Metal.
- Lorsque vous n'avez plus besoin de VM, supprimez une VM dans GKE sur Bare Metal.