|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Création d’un volume
Créer un volume vide
- UI
-
Section d’en-tête
-
Définir le volume
Name. -
(Optionnel) Fournir un
Descriptionpour le volume.
Onglet de base
-
Choisir
NewdansSource. -
Sélectionner un
StorageClassexistant. -
Configurer le
Sizedu volume.
-
Si le nombre de répliques de la StorageClass sélectionnée est
1et que le volume est attaché à une machine virtuelle, alors la machine virtuelle est considérée comme non-migrable. -
Lorsqu’un volume est créé, il copie les paramètres associés de la
StorageClasssélectionnée vers lui-même. Si vous modifiez les paramètres duStorageClassplus tard, cela ne s’écrit pas dans le volume.
Volumes surdimensionnés
Dans SUSE Virtualization v1.5.0, qui utilise SUSE Storage v1.8.1, les volumes surdimensionnés (par exemple, 999999 Gi de taille) sont marqués Non prêts et ne peuvent pas être supprimés.
Pour résoudre ce problème, procédez comme suit :
-
Supprimer temporairement la règle de webhook PVC.
RULE_INDEX=$(kubectl get \ validatingwebhookconfiguration longhorn-webhook-validator -o json \ | jq '.webhooks[0].rules | map(.resources[0] == "persistentvolumeclaims") | index(true)') if [ -n "$RULE_INDEX" -a "$RULE_INDEX" != "null" ]; then kubectl patch validatingwebhookconfiguration longhorn-webhook-validator \ --type='json' \ -p="[{'op': 'remove', 'path': '/webhooks/0/rules/$RULE_INDEX'}]" fi -
Attendre que le PVC associé soit supprimé.
-
Restaurer la règle de webhook PVC pour réactiver la validation.
kubectl patch validatingwebhookconfiguration longhorn-webhook-validator \ --type='json' \ -p='[{"op": "add", "path": "/webhooks/0/rules/-", "value": {"apiGroups":[""],"apiVersions":["v1"],"operations":["UPDATE"],"resources":["persistentvolumeclaims"],"scope":"Namespaced"}}]'
Le problème sera résolu dans SUSE Storage v1.8.2, qui sera probablement inclus dans SUSE Virtualization v1.5.1.
-
- API
-
apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: volume.beta.kubernetes.io/storage-provisioner: driver.longhorn.io volume.kubernetes.io/storage-provisioner: driver.longhorn.io name: my-vol namespace: default spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeMode: Block volumeName: pvc-my-vol
|
Ne pas utiliser les StorageClasses |
- Terraform
-
Pour créer un volume vide sur SUSE Virtualization avec Terraform en utilisant le Harvester Terraform Provider, définissez un bloc de ressources
harvester_volume:resource "harvester_volume" "empty-volume" { name = "empty-volume" namespace = "default" size = "10Gi" }
Créer un volume d’image
-
UI
-
API
-
Terraform
Section d’en-tête
-
Définir le volume
Name. -
(Optionnel) Fournir un
Descriptionpour le volume.
Onglet de base
-
Choisir
VM ImagedansSource. -
Sélectionner un
Imageexistant. -
Configurer le
Sizedu volume.Lors de la création de volumes à partir d’une image de machine virtuelle, assurez-vous que la taille du volume est supérieure ou égale à la taille de l’image. Le volume peut devenir corrompu si la taille du volume configurée est inférieure à la taille de l’image sous-jacente. Ceci est particulièrement important pour les images qcow2 car la taille virtuelle est généralement supérieure à la taille physique. Par défaut, SUSE Virtualization définira la taille du volume sur la taille virtuelle de l’image.
Créer un volume, initialisé avec le contenu de l’image image-8rb2z de l’espace de noms default :
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
annotations:
harvesterhci.io/imageId: default/image-8rb2z
volume.beta.kubernetes.io/storage-provisioner: driver.longhorn.io
volume.kubernetes.io/storage-provisioner: driver.longhorn.io
name: foobar
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
storageClassName: longhorn-image-8rb2z
volumeMode: Block
volumeName: pvc-foobar
Pour créer un volume sur SUSE Virtualization en utilisant Terraform et l’initialiser avec le contenu d’une image, définissez un bloc de ressources harvester_volume et définissez la propriété image :
resource "harvester_volume" "opensuse154-image-disk" {
name = "opensuse154-image-disk"
namespace = "default"
size = "10Gi"
image = harvester_image.opensuse154.id
}