es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Problema de montaje NFS en RStudio Job Launcher.

Estoy tratando de integrar RStudio Worbench con Kubernetes según lo descrito en la documentación oficial https://docs.rstudio.com/rsw/integration/launcher-kubernetes/. En el paso 9, el Launcher inicia un trabajo de Kubernetes. El trabajo se asigna correctamente a una cápsula (pod) pero la cápsula se atasca en el estado ‘Creación de contenedor’ y muestra los siguientes eventos:

Comando de montaje: mount
Argumentos de montaje: -t nfs MY.NFS.SERVER.IP:/home/MY_USER_DIR /var/lib/kubelet/pods/SOME_UUID/volumes/kubernetes.io~nfs/mount0
Salida: mount.nfs: Connection timed out
Advertencia  FailedMount  13m (x6 over 54m)     kubelet  No se pueden adjuntar ni montar volúmenes: volúmenes no montados=[mount0], volúmenes sin adjuntar=[kube-api-access-dllcd mount0]: tiempo de espera agotado esperando la condición
Advertencia  FailedMount  2m29s (x26 over 74m)  kubelet  No se pueden adjuntar ni montar volúmenes: volúmenes no montados=[mount0], volúmenes sin adjuntar=[mount0 kube-api-access-dllcd]: tiempo de espera agotado esperando la condición

Detalles de configuración:

  • Kubernetes se ha instalado correctamente en Amazon EKS y estoy controlando el clúster desde una instancia EC2 de administrador fuera del clúster EKS en la que se está ejecutando el servidor NFS y RStudio
  • Puedo implementar un trabajo de prueba de RStudio solo sin montaje de volumen
  • Tanto el servicio nfs-kernel-server como RStudio están en funcionamiento
  • Nuestros usuarios de RStudio pueden iniciar trabajos en modo local
  • El archivo /etc/exports contiene:

    /nfsexport 127.0.0.1(rw,sync,no_subtree_check)
    /home/MY_USER_DIR MY.IP.SUBNET.RANGE/16(rw,sync,no_subtree_check)
  • El tráfico entrante al servidor NFS desde los nodos de trabajo de Kubernetes está permitido a través del puerto 2049

Lo que he intentado:

  1. Montar una carpeta localmente en la misma máquina que el servidor NFS – que funciona
  2. Montar usando diferentes direcciones IP para el servidor NFS: localhost, IPv4 pública e IPv4 privada de la instancia EC2 (con y sin especificar el puerto 2049) – eso no funcionó
  3. Conectar a una máquina cliente e intentar montar manualmente desde allí. Intentar montar el recurso compartido en el servidor resultó en:

    mount.nfs: rpc.statd is not running but is required for
    remote locking.
    mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
    mount.nfs: mount.nfs: Operation not permitted

    1. Intentar hacer ping a la instancia de administrador desde un nodo de trabajo no funciona aunque todos los complementos de EKS (coredns, kube-proxy, vpc-cni) están activos.

Pregunta: ¿Cuál podría ser el problema raíz que causa el problema de montaje? ¡Gracias de antemano!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema raíz que está causando el problema de montaje podría estar relacionado con las reglas del firewall o la conectividad de red entre los nodos trabajadores de Kubernetes y el servidor NFS. Dado que el tráfico entrante al servidor NFS desde los nodos trabajadores de Kubernetes se permite a través del puerto 2049, es posible que haya reglas adicionales del firewall que estén bloqueando el tráfico. Además, la imposibilidad de hacer ping a la instancia del administrador desde un nodo trabajador puede indicar un problema mayor de conectividad de red.

    Podría valer la pena verificar las reglas del grupo de seguridad para la instancia del administrador y los nodos trabajadores de Kubernetes para asegurarse de que todos los puertos necesarios estén abiertos para la comunicación entre ellos. También puede ser útil verificar la configuración de enrutamiento de red para asegurarse de que los nodos trabajadores tengan acceso adecuado al servidor NFS.

    Además, puede ser útil verificar la configuración del servidor NFS, incluido el archivo /etc/exports, para asegurarse de que esté configurado y montado correctamente para su uso con Kubernetes. También puede resultar útil revisar los registros del servidor NFS en busca de cualquier error o advertencia que pueda proporcionar información sobre el problema.

Comments are closed.