|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Erstellen eines Volumes
Erstellen Sie ein leeres Volume
- UI
-
Header-Bereich
-
Setzen Sie das Volume
Name. -
(Optional) Geben Sie ein
Descriptionfür das Volume an.
Basics-Registerkarte
-
Wählen Sie
NewinSourceaus. -
Wählen Sie einen vorhandenen
StorageClassaus. -
Konfigurieren Sie das
Sizedes Volumes.
-
Wenn die Replikatanzahl der ausgewählten StorageClass
1beträgt und das Volume an eine virtuelle Maschine angehängt ist, wird die virtuelle Maschine als nicht migrierbar betrachtet. -
Wenn ein Volume erstellt wird, werden die zugehörigen Parameter von der ausgewählten
StorageClassauf sich selbst kopiert. Wenn Sie die Parameter desStorageClassspäter ändern, werden diese nicht auf das Volume zurückgeschrieben.
Überdimensionierte Volumes
In SUSE Virtualization v1.5.0, das SUSE Storage v1.8.1 verwendet, werden überdimensionierte Volumes (zum Beispiel 999999 Gi groß) als Nicht bereit markiert und können nicht gelöscht werden.
Gehen Sie wie folgt vor, um dieses Problem zu beheben:
-
Entfernen Sie vorübergehend die PVC-Webhook-Regel.
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 -
Warten Sie, bis das zugehörige PVC gelöscht wurde.
-
Stellen Sie die PVC-Webhook-Regel wieder her, um die Validierung wieder zu aktivieren.
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"}}]'
Das Problem wird in SUSE Storage v1.8.2 behoben, das wahrscheinlich in SUSE Virtualization v1.5.1 enthalten sein wird.
-
- 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
|
Verwenden Sie die StorageClasses |
- Terraform
-
Um ein leeres Volume auf SUSE Virtualization mit Terraform unter Verwendung des Harvester Terraform Providers zu erstellen, definieren Sie einen
harvester_volumeRessourcenblock:resource "harvester_volume" "empty-volume" { name = "empty-volume" namespace = "default" size = "10Gi" }
Erstellen Sie ein Image-Volume
-
UI
-
API
-
Terraform
Header-Bereich
-
Setzen Sie das Volume
Name. -
(Optional) Geben Sie ein
Descriptionfür das Volume an.
Basics-Registerkarte
-
Wählen Sie
VM ImageinSourceaus. -
Wählen Sie einen vorhandenen
Imageaus. -
Konfigurieren Sie das
Sizedes Volumes.Beim Erstellen von Volumes aus einem VM-Image stellen Sie sicher, dass die Volumengröße größer oder gleich der Bildgröße ist. Das Volume kann beschädigt werden, wenn die konfigurierte Volumengröße kleiner ist als die Größe des zugrunde liegenden Images. Dies ist besonders wichtig für qcow2-Images, da die virtuelle Größe typischerweise größer ist als die physische Größe. Standardmäßig wird SUSE Virtualization die Volumengröße auf die virtuelle Größe des Images setzen.
Erstellen Sie ein Volume, das mit den Inhalten des Images image-8rb2z aus dem Namespace default initialisiert wird:
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
Um ein Volume auf SUSE Virtualization mit Terraform zu erstellen und es mit den Inhalten eines Images zu initialisieren, definieren Sie einen harvester_volume Ressourcenblock und setzen Sie die image Eigenschaft:
resource "harvester_volume" "opensuse154-image-disk" {
name = "opensuse154-image-disk"
namespace = "default"
size = "10Gi"
image = harvester_image.opensuse154.id
}