Provisionar um volume
Crie um PersistentVolumeClaim (PVC) que use o Kubernetes StorageClass configurado para solicitar acesso ao PV. Em seguida, pode montar o PV num pod.
Visão geral
Um "PersistentVolumeClaim" (PVC) é um pedido de acesso ao Persistentvolume no cluster.
O PVC pode ser configurado para solicitar o armazenamento de um determinado tamanho ou modo de acesso. Usando o StorageClass associado, o administrador do cluster pode controlar mais do que o Persistentvolume e o modo de acesso, como desempenho ou nível de serviço.
Depois de criar o PVC, você pode montar o volume em um pod.
Crie o PVC
-
Crie o PVC.
kubectl create -f pvc.yaml
-
Verifique o estado do PVC.
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-storage Bound pv-name 1Gi RWO 5m
-
Monte o volume num pod.
kubectl create -f pv-pod.yaml
Pode monitorizar o progresso utilizando `kubectl get pod --watch`o . -
Verifique se o volume está montado no
/my/mount/path
.kubectl exec -it task-pv-pod -- df -h /my/mount/path
-
Agora você pode excluir o Pod. O aplicativo Pod não existirá mais, mas o volume permanecerá.
kubectl delete pod pv-pod
Manifestos de amostra
PersistentVolumeClaim amostra manifestos
Estes exemplos mostram opções básicas de configuração de PVC.
Este exemplo mostra um PVC básico com acesso RWO associado a um StorageClass basic-csi
chamado .
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-storage
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: basic-csi
Este exemplo mostra um PVC básico para NVMe/TCP com acesso RWO associado a um StorageClass protection-gold
chamado .
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-san-nvme
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 300Mi
storageClassName: protection-gold
Amostras de manifesto POD
Estes exemplos mostram configurações básicas para anexar o PVC a um pod.
kind: Pod
apiVersion: v1
metadata:
name: pv-pod
spec:
volumes:
- name: storage
persistentVolumeClaim:
claimName: pvc-storage
containers:
- name: pv-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/my/mount/path"
name: storage
apiVersion: v1
kind: Pod
metadata:
name: pod-nginx
spec:
volumes:
- name: basic-pvc
persistentVolumeClaim:
claimName: pvc-san-nvme
containers:
- name: task-pv-container
image: nginx
volumeMounts:
- mountPath: "/my/mount/path"
name: basic-pvc
"Objetos Kubernetes e Trident"Consulte para obter detalhes sobre como as classes de armazenamento interagem com os PersistentVolumeClaim
parâmetros e para controlar como o Trident provisiona volumes.