1 Introducción PVC
El PVC es el nivel de usuario, como la demanda de los recursos de almacenamiento de aplicaciones, incluyendo el espacio de información entorno de almacenamiento, el modo de acceso, los criterios de selección de PV, almacenamiento y otras categorías.
argumentos de 2 PVC detallan
2.1 plantillas de PVC de yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-pvc1
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs-stoarge
selector:
matchLabels:
pv: test-pv1
2.2 Parámetro Descripción PVC
spec.accessModes
: Modo de acceso; describir el acceso de aplicaciones de usuario a los recursos de almacenamiento.
- RWO: ReadWriteOnce, sólo permiten un único nodo para montar leer y escribir;
- ROX: ReadOnlyMany, permite montar una pluralidad de nodos y el de sólo lectura;
- RWX: ReadWriteMany, permite montar una pluralidad de nodos a leer y escribir;
spec.resources.requests.storage
: El tamaño de almacenamiento de la solicitud de recursos;spec.storageClassName
: Volumen de almacenamiento Mode, especifica un nombre de Almacenamiento objeto de recursos tiene una clase particular de PV sólo con la categoría solicitada unión PVC; (almacenamiento dinámico); por supuesto, puede ser proporcionada aspec.storageClassName=“”
no sólo establecer un tipo específico de PV se puede unir (almacenamiento estático) y no solicitar cualquier tipo de PVC.spec.selector.matchLabels
: Criterios de selección PV, pueden estar unidos por un PV fósforo de etiqueta, también puedespec.selector.matchExpressions
ser descrito etiqueta condicional;
3 ciclo de vida del PVC
$ kubectl get pvc
El PVC también tiene un total de cuatro etapas del ciclo de vida: Disponible / Bound / Lanzamiento / Error
- Disponible: estado disponible, sin PV vinculante;
- Bound: estado de la unión, y tiene unas fijaciones fotovoltaicos;
- Lanzamiento: estado de liberación, con destino PV eliminado, de liberación de recursos, pero no ha sido recuperado en racimo;
Error: estado fallido, el reciclaje de forma automática fallado;
4 comandos PVC comúnmente utilizados
- Creación (forma yaml)
$ kubectl create -f pvc.yaml
- Eliminar
$ kubectl delete pvc pvc_name
- Ver todo el PVC
$ kubectl get pvc
- Ver un PVC
$ kubectl get pvc pvc_name
- Ver detalles
$ kubectl describe pvc pvc_name
Nota: Si en un espacio de nombres, puede agregar el comando anterior-n ns_name
5 enlaces de PVC y PV
Pv crear manualmente la unión 5.1
Podemos etiquetar manera, se unen a un pvc pv específica. Que hay que hacer en dos pasos, uno de etiqueta pv yaml, la etiqueta es otro paso de búsqueda de PVC.
Por ejemplo :
- pv de necesidad yaml
metadata.labels
para el marcado de la etiqueta;
tales como:
[root@k8s /pv_test]# vim test_pv1.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: test-pv1
labels:
pv: test-pv1
spec:
capacity:
storage: 2Mi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
path: /date-nfs/k8s
server: 10.139.12.14
- yaml en necesidad de pvc
spec.selector.matchLabels
partido etiqueta.
[root@k8s /pvc_test]# vim test_pvc1.yaml
#persistent Volume Claim
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-pvc1
namespace: t1
spec:
#storageClassName: managed-nfs-storage
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Mi
selector:
matchLabels:
pv: test-pv1
La creación de pv y pvc
$ kubectl create -f test_pv.yaml
$ kubectl create -f test_pvc.yaml
- Ver pv
$ kubectl get pv test-pv1
Ver pvc
$ kubectl get pvc test-pvc1
podemos ver la declaración de ensayo PVC1 volúmenes persistentes unión a la prueba-PV1 esta duradero rodó.
5.2 Volumen dinámico de configuración de Almacenamiento
Además de crear manualmente la unión manera pv pvc, podemos omitir manualmente configurar Almacenamiento pv camino a través de volumen dinámico.
- Tenemos que crear un recurso Almacenamiento.
[root@k8s /sc_test]# vim test_storageclass1.yaml
apiVersion: storage.k8s.io/v1beta1
kind: StorageClass
metadata:
name: course-nfs-storage
provisioner: fuseim.pri/ifs
- A continuación, aumentar la yaml pvc en
spec.storageClassName
configuración.
[root@k8s /pvc_test]# vim test_pvc_sc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-pvc
spec:
accessModes:
- ReadWriteMany
storageClassName: course-nfs-storage
resources:
requests:
storage: 1Mi
La creación de recursos Almacenamiento y PVC
$ kubectl create -f test_storageclass1.yaml
$ kubectl create -f test_pv_sc.yaml
- Ver SC
$ kubectl get sc course-nfs-storage
Ver detalles SC
$ kubectl describe sc course-nfs-storage
- Ver PVC
$ kubectl get pvc test-pvc
Ver PV
$ kubectl get pv
puede ver un PV crea automáticamente, su estrategia es borrar, borrar serán borrados automáticamente después de que es PVC.