Ce document est destiné aux propriétaires d'applications qui exécutent des clusters Anthos sur solution Bare Metal. Ce document explique comment créer et gérer des ressources de disque pour les machines virtuelles (VM) qui utilisent l'environnement d'exécution des VM Anthos.
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 une VM avec un disque associé
Lorsque vous créez une VM, vous pouvez associer un disque de démarrage ou de données existant, créer un disque à partir d'une image (y compris pour le disque de démarrage) ou créer un disque vide.
Disque vide
Dans ce scénario, vous créez un disque vide et vous l'associez à la VM. Ce scénario vous permet de créer un disque de données afin de stocker les données de votre application.
Créez un fichier manifeste définissant des fichiers
VirtualMachineDisk
etVirtualMachine
(my-vm.yaml, par exemple) dans l'éditeur de votre choix :nano my-vm.yaml
Copiez et collez la définition YAML suivante :
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi --- apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: interfaces: - name: eth0 networkName: pod-network default: true disks: - boot: true virtualMachineDiskName: VM_NAME-boot-dv - virtualMachineDiskName: DISK_NAME
Cet exemple crée un disque
10Gi
(10 gibioctets) vide nomméDISK_NAME
. Dans la sectionspec.disks
de la VM, vous devez également associer un disque de démarrage, par exemple à partir d'une image, comme illustré dans la section suivante.Enregistrez et fermez le fichier manifeste dans l'éditeur.
Créez la VM et le disque en utilisant
kubectl
:kubectl apply -f my-vm.yaml
Depuis l'image
Dans ce scénario, vous créez un disque à partir d'une image et vous l'associez à la VM. Ce scénario vous permet de créer un disque de démarrage, par exemple à partir d'une image. Vous pouvez également créer et associer des disques de données à partir d'une image.
Créez un fichier manifeste définissant des fichiers
VirtualMachineDisk
etVirtualMachine
(my-vm.yaml, par exemple) dans l'éditeur de votre choix :nano my-vm.yaml
Copiez et collez la définition YAML suivante :
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: VM_NAME-boot-dv spec: size: 20Gi source: http: url: https://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-amd64.img --- apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: interfaces: - name: eth0 networkName: pod-network default: true disks: - boot: true virtualMachineDiskName: VM_NAME-boot-dv
Cet exemple crée un disque
20Gi
(20 gibioctets) nomméVM_NAME-boot-dv
à l'aide d'une image Ubuntu publique. Dans la sectionspec.disks
de la VM, le disque est défini surboot: true
.Enregistrez et fermez le fichier manifeste dans votre éditeur.
Créez la VM et le disque en utilisant
kubectl
:kubectl apply -f my-vm.yaml
Disque existant
Dans ce scénario, vous créez un disque vide et vous l'associez à la VM. Ce scénario vous permet de créer un disque de données afin de stocker les données de votre application.
Créez un fichier manifeste
VirtualMachine
(my-vm.yaml, par exemple) dans l'éditeur de votre choix :nano my-vm.yaml
Copiez et collez la définition YAML suivante :
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: interfaces: - name: eth0 networkName: pod-network default: true disks: - boot: true virtualMachineDiskName: VM_NAME-boot-dv - virtualMachineDiskName: EXISTING_DISK_NAME
Cet exemple associe un disque existant nommé
EXISTING_DISK_NAME
.Dans la section
spec.disks
de la VM, vous devez également associer un disque de démarrage, par exemple à partir d'une image, comme illustré dans la section précédente.Enregistrez et fermez le fichier manifeste de la VM dans votre éditeur.
Créez la VM en utilisant
kubectl
:kubectl apply -f my-vm.yaml
Créer et associer des disques à une VM existante
Si vous disposez déjà d'une VM, vous pouvez créer et associer des disques pour gérer le cycle de vie de votre application. La VM doit être arrêtée pour pouvoir lui associer un disque.
Disque vide
Dans ce scénario, vous créez un disque vide et vous l'associez à la VM. Ce scénario vous permet de créer un disque de données afin de stocker les données de votre application.
Utilisez
kubectl
pour arrêter la VM, si nécessaire :kubectl virt stop vm VM_NAME
Remplacez
VM_NAME
par le nom de la VM que vous souhaitez arrêter.Modifiez la ressource de VM existante, telle que
my-vm
:kubectl edit gvm VM_NAME
Mettez à jour le fichier manifeste
VirtualMachine
pour ajouter une sectionVirtualMachineDisk
en haut, puis associez le disque à la fin de la sectionspec.disks
de la VM :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi --- apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: interfaces: - name: eth0 networkName: pod-network default: true disks: - boot: true virtualMachineDiskName: VM_NAME-boot-dv - virtualMachineDiskName: DISK_NAME
Cet exemple crée un disque
10Gi
(10 gibioctets) vide nomméDISK_NAME
.Enregistrez et fermez le fichier manifeste mis à jour de la VM dans votre éditeur.
Utilisez
kubectl
pour démarrer la VM :kubectl virt start vm VM_NAME
Remplacez
VM_NAME
par le nom de la VM que vous souhaitez démarrer.
Depuis l'image
Dans ce scénario, vous créez un disque à partir d'une image source et vous l'associez à la VM.
Utilisez
kubectl
pour arrêter la VM, si nécessaire :kubectl virt stop vm VM_NAME
Remplacez
VM_NAME
par le nom de la VM que vous souhaitez arrêter.Modifiez la ressource de VM existante, telle que
my-vm
:kubectl edit gvm VM_NAME
Mettez à jour le fichier manifeste
VirtualMachine
pour ajouter une sectionVirtualMachineDisk
en haut, puis associez le disque à la fin de la sectionspec.disks
de la VM :apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi source: http: url: http://example.com/my-disk-img.qcow2 --- apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: interfaces: - name: eth0 networkName: pod-network default: true disks: - boot: true virtualMachineDiskName: VM_NAME-boot-dv - virtualMachineDiskName: DISK_NAME
Cet exemple crée un disque
10Gi
(10 gibioctets) nomméDISK_NAME
à partir de la source HTTPhttp://example.com/my-disk-img.qcow2
.Enregistrez et fermez le fichier manifeste mis à jour de la VM dans votre éditeur.
Utilisez
kubectl
pour démarrer la VM :kubectl virt start vm VM_NAME
Remplacez
VM_NAME
par le nom de la VM que vous souhaitez démarrer.
Créer un disque
Dans ce scénario, vous créez les ressources de disque séparément des ressources de VM. Ce scénario vous permet de créer des disques à l'avance, puis de les associer à des VM au besoin.
Disque vide
Pour créer un disque vide, procédez comme suit :
Créez un fichier manifeste
VirtualMachineDisk
(my-disk.yaml, par exemple) dans l'éditeur de votre choix :nano my-disk.yaml
Copiez et collez la définition YAML suivante :
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 10Gi
Cet exemple crée un disque
10Gi
(10 gibioctets) vide nomméDISK_NAME
.Enregistrez et fermez le fichier manifeste de disque dans votre éditeur.
Créez le disque en utilisant
kubectl
:kubectl apply -f my-disk.yaml
Depuis l'image
Pour créer un disque à partir d'une image, procédez comme suit :
Créez un fichier manifeste
VirtualMachineDisk
(my-disk.yaml, par exemple) dans l'éditeur de votre choix :nano my-disk.yaml
Copiez et collez la définition YAML suivante :
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: DISK_NAME spec: size: 20Gi source: http: url: https://cloud-images.ubuntu.com/releases/focal/release/ubuntu-20.04-server-cloudimg-amd64.img
Cet exemple crée un disque
20Gi
(20 gibioctets) nomméDISK_NAME
à l'aide d'une image Ubuntu publique.Enregistrez et fermez le fichier manifeste de disque dans votre éditeur.
Créez le disque en utilisant
kubectl
:kubectl apply -f my-disk.yaml
Étapes suivantes
- Créer et utiliser des identifiants pour importer des images à partir de Cloud Storage
- Créez et utilisez des classes de stockage dans les clusters Anthos sur solution Bare Metal.
- Lorsque vous n'avez plus besoin des VM ni de leurs ressources de disque virtuel, vous pouvez supprimer une VM dans des clusters Anthos sur solution Bare Metal.