|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
Criar um Volume
Criar um Volume Vazio
- UI
-
Seção de Cabeçalho
-
Defina o Volume
Name. -
(Opcional) Forneça um
Descriptionpara o Volume.
Aba Básica
-
Escolha
NewemSource. -
Selecione um
StorageClassexistente. -
Configure o
Sizedo volume.
-
Se a contagem de réplicas da StorageClass selecionada for
1e o volume estiver anexado a uma máquina virtual, então a máquina virtual é considerada não migrável. -
Quando um volume é criado, ele copia os parâmetros relacionados da
StorageClassselecionada para si mesmo. Se você alterar os parâmetros doStorageClassmais tarde, isso não será gravado de volta no volume.
Volumes Superdimensionados
Na SUSE Virtualization v1.5.0, que usa SUSE Storage v1.8.1, volumes superdimensionados (por exemplo, 999999 Gi de tamanho) são marcados como Não Pronto e não podem ser excluídos.
Para solucionar esse problema, siga estas etapas:
-
Remova temporariamente a regra do 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 -
Aguarde a exclusão do PVC relacionado.
-
Restaure a regra do webhook PVC para reabilitar a validação.
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"}}]'
O problema será resolvido na SUSE Storage v1.8.2, que provavelmente será incluído na 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
|
Não utilize as StorageClasses |
- Terraform
-
Para criar um volume vazio em SUSE Virtualization com Terraform usando o Harvester Terraform Provider, defina um bloco de recurso
harvester_volume:resource "harvester_volume" "empty-volume" { name = "empty-volume" namespace = "default" size = "10Gi" }
Criar um Volume de Imagem
-
UI
-
API
-
Terraform
Seção de Cabeçalho
-
Defina o Volume
Name. -
(Opcional) Forneça um
Descriptionpara o Volume.
Aba Básica
-
Escolha
VM ImageemSource. -
Selecione um
Imageexistente. -
Configure o
Sizedo volume.Ao criar volumes a partir de uma imagem de VM, certifique-se de que o tamanho do volume seja maior ou igual ao tamanho da imagem. O volume pode ficar corrompido se o tamanho do volume configurado for menor que o tamanho da imagem subjacente. Isso é particularmente importante para imagens qcow2 porque o tamanho virtual é tipicamente maior que o tamanho físico. Por padrão, SUSE Virtualization definirá o tamanho do volume para o tamanho virtual da imagem.
Criar um volume, inicializado com o conteúdo da imagem image-8rb2z do namespace 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
Para criar um volume em SUSE Virtualization usando Terraform e inicializá-lo com o conteúdo de uma imagem, defina um bloco de recurso harvester_volume e defina a propriedade image:
resource "harvester_volume" "opensuse154-image-disk" {
name = "opensuse154-image-disk"
namespace = "default"
size = "10Gi"
image = harvester_image.opensuse154.id
}