Persistent Volume
PersistentVolume são recursos de cluster que existem independentemente dos pods. Isso significa que o disco e os dados representados por um PersistentVolume continuam existindo enquanto o cluster é alterado e os pods são excluídos e recriados.
Os recursos PersistentVolume são compatíveis com os seguintes meios de acesso:
- ReadWriteOnce: o volume pode ser montado como leitura-gravação por um único nó.
- ReadOnlyMany: o volume pode ser montado somente para leitura por muitos nós.
- ReadWriteMany: o volume pode ser montado como leitura-gravação por muitos nós. Os recursos
PersistentVolumecompatíveis com discos permanentes do Compute Engine não são compatíveis com esse modo de acesso.
Se você quiser evitar a exclusão de discos permanentes provisionados dinamicamente, defina a política de recuperação do recurso PersistentVolume ou do recurso StorageClass como Retain.
Nesse caso, você será cobrado pelo tempo que o disco permanente existir, mesmo que não haja nenhum PersistentVolumeClaim consumindo-o.
Usar PersistentDisk preexistentes como PersistentVolumes
O disco permanente precisa estar na mesma zona que os nós do cluster.
Um Persistent Disk pode ser criado através da api gcloud:
gcloud compute disks create pd-test-persistent \
--size 10G \
--type pd-standard \
--zone us-east4-capiVersion: v1
kind: PersistentVolume
metadata:
name: pv
spec:
storageClassName: "test"
capacity:
storage: 10G
accessModes:
- ReadWriteOnce
claimRef:
namespace: default
name: pv-claim
gcePersistentDisk:
pdName: pd-test-persistent
fsType: ext4
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv-claim
spec:
storageClassName: "test"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10G
---
kind: Pod
apiVersion: v1
metadata:
name: task-pv-pod
spec:
volumes:
- name: task-pv-storage
persistentVolumeClaim:
claimName: pv-claim
containers:
- name: task-pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/data"
name: task-pv-storagehttps://cloud.google.com/compute/docs/disks/add-persistent-disk