Kubernetes-PersistentVolumeClaim (PVC) Introducción

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

  1. 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;
  1. spec.resources.requests.storage: El tamaño de almacenamiento de la solicitud de recursos;
  2. 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 a spec.storageClassName=“”no sólo establecer un tipo específico de PV se puede unir (almacenamiento estático) y no solicitar cualquier tipo de PVC.
  3. spec.selector.matchLabels: Criterios de selección PV, pueden estar unidos por un PV fósforo de etiqueta, también puede spec.selector.matchExpressionsser descrito etiqueta condicional;

3 ciclo de vida del PVC

$ kubectl get pvc
ciclo de vida del 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

  1. Creación (forma yaml)
    $ kubectl create -f pvc.yaml
  2. Eliminar
    $ kubectl delete pvc pvc_name
  3. Ver todo el PVC
    $ kubectl get pvc
  4. Ver un PVC
    $ kubectl get pvc pvc_name
  5. 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 :

  1. pv de necesidad yaml metadata.labelspara 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
  1. yaml en necesidad de pvc spec.selector.matchLabelspartido 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
    Aquí Insertar imagen Descripción
  • Ver pvc
    $ kubectl get pvc test-pvc1
    Aquí Insertar imagen Descripción
    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.

  1. 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
  1. A continuación, aumentar la yaml pvc en spec.storageClassNameconfiguració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
    Aquí Insertar imagen Descripción
  • Ver detalles SC
    $ kubectl describe sc course-nfs-storage
    Aquí Insertar imagen Descripción

  • Ver PVC
    $ kubectl get pvc test-pvc
    Aquí Insertar imagen Descripción
  • Ver PV
    $ kubectl get pv
    Aquí Insertar imagen Descripción
    puede ver un PV crea automáticamente, su estrategia es borrar, borrar serán borrados automáticamente después de que es PVC.

Supongo que te gusta

Origin www.cnblogs.com/Andya/p/12443849.html
Recomendado
Clasificación