Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

178
Vistas
Kubernetes: aprovisionamiento dinámico de volúmenes persistentes mediante NFS

Tengo una configuración de kubernetes de varios nodos. Estoy tratando de asignar un volumen persistente de forma dinámica utilizando clases de almacenamiento con el complemento de volumen NFS. Encontré ejemplos de clases de almacenamiento para glusterfs, aws-ebs, etc. pero no encontré ningún ejemplo para NFS. Si solo creo PV y PVC, entonces NFS funciona muy bien (sin clase de almacenamiento). Traté de escribir un archivo de clase de almacenamiento para NFS, consultando otros complementos. por favor refiérase a continuación,

clase-de-almacenamiento-nfs.yaml

 kind: StorageClass apiVersion: storage.k8s.io/v1beta1 metadata: namespace: kube-system name: my-storage annotations: storageclass.beta.kubernetes.io/is-default-class: "true" labels: kubernetes.io/cluster-service: "true" provisioner: kubernetes.io/nfs parameters: path: /nfsfileshare server: <nfs-server-ip>

nfs-pv-claim.yaml

 apiVersion: v1 metadata: name: demo-claim annotations: volume.beta.kubernetes.io/storage-class: my-storage spec: accessModes: - ReadWriteOnce resources: requests: storage: 3Gi

No funcionó. Entonces, mi pregunta es: ¿Podemos escribir una clase de almacenamiento para NFS? ¿Es compatible con el aprovisionamiento dinámico?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

A partir de agosto de 2020, así es como se ven las cosas para la persistencia de NFS en Kubernetes:

Puedes

  • Coloque un volumen NFS en un Pod directamente:
 apiVersion: v1 kind: Pod metadata: name: test-pd spec: containers: - image: k8s.gcr.io/test-webserver name: test-container volumeMounts: - mountPath: /test-pd name: test-volume volumes: - name: test-volume nfs: path: /foo/bar server: wherever.dns
  • Cree manualmente un volumen persistente respaldado por NFS y móntelo con un reclamo de volumen persistente (las especificaciones de PV se muestran a continuación):
 apiVersion: v1 kind: PersistentVolume metadata: name: pv0003 spec: capacity: storage: 5Gi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Recycle storageClassName: slow mountOptions: - hard - nfsvers=4.1 nfs: path: /tmp server: 172.17.0.2
  • Utilice el (ahora en desuso) NFS PV provisioner from external-storage . Esto se actualizó por última vez hace dos años y se ha terminado oficialmente, así que buena suerte. Con esta ruta, puede crear una clase de almacenamiento como la que se muestra a continuación para cumplir con los PVC desde su servidor NFS.
    • Actualización: ¡Hay una nueva encarnación de este aprovisionador como kubernetes-sigs/nfs-subdir-external-provisioner ! Parece funcionar de manera similar al antiguo aprovisionador nfs-client , pero está mucho más actualizado. ¡Hurra!
 kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: example-nfs provisioner: example.com/nfs mountOptions: - vers=4.1
  • Evidentemente, CSI es el futuro y existe un controlador NFS CSI. Sin embargo, aún no es compatible con el aprovisionamiento dinámico, por lo que no es realmente muy útil.
    • Actualización (diciembre de 2020): aparentemente se está trabajando en el aprovisionamiento dinámico (en master , pero no se ha publicado) para el controlador CSI.
  • Es posible que pueda reemplazar el aprovisionador NFS external-storage con algo de la comunidad o algo que escriba. Al investigar este problema, me topé con un aprovisionador escrito por alguien en GitHub, por ejemplo. No entiendo si estos proveedores funcionan bien, son seguros o funcionan, pero existen.
over 4 years ago · Santiago Trujillo Denunciar

0

El aprovisionamiento de almacenamiento dinámico usando NFS no funciona, mejor use glusterfs. Hay un buen tutorial con problemas comunes solucionados durante la configuración. http://blog.lwolf.org/post/how-i-deployed-glusterfs-cluster-to-kubernetes/

over 4 years ago · Santiago Trujillo Denunciar

0

También traté de habilitar el aprovisionador de NFS en mi clúster de Kubernetes y al principio no funcionó, porque la guía de inicio rápido no menciona que también debe aplicar rbac.yaml (abrí un PR para arreglar esto).

El aprovisionador de nfs me funciona bien si sigo estos pasos en mi clúster: https://github.com/kubernetes-incubator/external-storage/tree/master/nfs#quickstart

 $ kubectl create -f deploy/kubernetes/deployment.yaml $ kubectl create -f deploy/kubernetes/rbac.yaml $ kubectl create -f deploy/kubernetes/class.yaml

Entonces debería poder crear PVC como este:

 $ kubectl create -f deploy/kubernetes/claim.yaml

Es posible que desee cambiar las carpetas utilizadas para los montajes de volumen en deployment.yaml para que coincidan con su clúster.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda