Importe um volume de disco do Azure pré-existente
Se já tiver um volume do Azure Disk para usar com o GKE no Azure, pode criar um objeto PersistentVolume (PV) e reservá-lo para um PersistentVolumeClaim (PVC) específico.
Esta página explica como criar um PV usando um volume existente preenchido com dados e como usar o PV num pod.
Antes de começar
Crie um PersistentVolume para um volume pré-existente
Pode importar um volume existente especificando um novo PV.
Copie o seguinte YAML para um ficheiro com o nome
existing-volume.yaml
.:apiVersion: v1 kind: PersistentVolume metadata: name: VOLUME_NAME annotations: pv.kubernetes.io/provisioned-by: disk.csi.azure.com spec: capacity: storage: VOLUME_CAPACITY accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: STORAGE_CLASS_NAME claimRef: name: my-pvc namespace: default csi: driver: disk.csi.azure.com volumeHandle: /subscriptions/SUBSCRIPTION_ID/resourcegroups/RESOURCE_GROUP_NAME/providers/microsoft.compute/disks/DISK_NAME fsType: FILE_SYSTEM_TYPE
Substitua o seguinte:
- VOLUME_NAME: um nome para o volume
- VOLUME_CAPACITY: tamanho do volume. Por exemplo,
30Gi
. Para mais informações sobre como especificar a capacidade do volume no Kubernetes, consulte o artigo Significado da memória. STORAGE_CLASS_NAME: o nome da StorageClass que aprovisiona o volume. Por exemplo, pode usar o valor predefinido
standard-rwo
.SUBSCRIPTION_ID: o ID da subscrição do Azure que contém o volume.
RESOURCE_GROUP_NAME: o grupo de recursos do Azure que contém o volume.
DISK_NAME: o nome do disco do Azure do volume.
FS_TYPE: o tipo de sistema de ficheiros do volume. Por exemplo,
ext4
.
Aplique o YAML ao seu cluster
kubectl apply -f existing-volume.yaml
Confirme a criação da sua propriedade de visualização de página
kubectl describe pv VOLUME_NAME
O resultado deste comando contém o estado da PV.
Use o volume com um PersistentVolumeClaim e um pod
Depois de importar o volume, pode criar um PVC e um pod que monte o PVC.
O YAML seguinte cria um PVC e anexa-o a um pod que executa o servidor Web Nginx. Copie-o para um ficheiro com o nome
nginx.yaml
:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: storageClassName: STORAGE_CLASS_NAME volumeName: VOLUME_NAME accessModes: - ACCESS_MODE resources: requests: storage: VOLUME_CAPACITY --- apiVersion: v1 kind: Pod metadata: name: web-server spec: containers: - name: web-server image: nginx volumeMounts: - mountPath: /var/lib/www/html name: data volumes: - name: data persistentVolumeClaim: claimName: my-pvc
Substitua o seguinte:
- STORAGE_CLASS: o nome da StorageClass do PersistentVolume que criou anteriormente. Por exemplo,
standard-rwo
. - ACCESS_MODE: o modo de acesso do volume. Para o disco do Azure,
use
ReadWriteOnce
. Para o Azure File, useReadWriteMany
. - VOLUME_CAPACITY: tamanho do volume. Por exemplo,
30Gi
.
- STORAGE_CLASS: o nome da StorageClass do PersistentVolume que criou anteriormente. Por exemplo,
Aplique o YAML ao seu cluster
kubectl apply -f nginx.yaml
Verifique o estado da sua instância do Nginx com
kubectl describe
. O resultado deve ter umSTATUS
deRunning
.kubectl describe pod web-server
O que se segue?
- Use controladores de armazenamento adicionais com o GKE no Azure.
- Leia a documentação do controlador CSI do disco do Azure.