Crear un grupo compartido de máquinas virtuales de Data Science Virtual Machine

En este artículo, aprenderá a crear un grupo compartido de instancias de Data Science Virtual Machine (DSVM) para un equipo. El uso de un grupo compartido ofrece ventajas importantes:

  • Mejor uso de recursos
  • Uso compartido y colaboración más sencillos
  • Administración más eficaz de los recursos de DSVM

Puede utilizar muchos métodos y tecnologías para crear un grupo de DSVM. Este artículo se centra en los grupos de máquinas virtuales (VM) interactivas. Una infraestructura de proceso administrado alternativa involucra Proceso de Azure Machine Learning. Para más información, visite Creación de clústeres de proceso.

Grupo de máquinas virtuales interactivas

Un grupo de máquinas virtuales interactivas, compartidas por un equipo completo de inteligencia artificial o ciencia de datos, ofrece a los usuarios una manera de iniciar sesión en una instancia de DSVM disponible, en lugar de tener una instancia dedicada para cada conjunto de usuarios. Este enfoque proporciona una mejor disponibilidad y un uso más eficaz de los recursos.

Use la tecnología de conjuntos de escalado de máquinas virtuales de Azure para crear un grupo de máquinas virtuales interactivo. Use los conjuntos de escalado para crear y administrar un grupo de máquinas virtuales idénticas, con equilibrio de carga y escalado automático.

El usuario inicia sesión en la dirección IP o DNS del grupo principal. El conjunto de escalado enruta automáticamente la sesión a una de sus máquinas virtuales DSVM. Dado que los usuarios quieren un entorno coherente y familiar, independientemente de la máquina virtual en la que inicien sesión, todas las instancias de la máquina virtual del conjunto de escalado montan una unidad de red compartida. Esto es similar a un recurso compartido de Azure Files o a un recurso compartido de Network File System (NFS). El área de trabajo compartida del usuario se suele conservar en el almacén de archivos compartidos montado en todas las instancias.

En GitHub se puede encontrar una plantilla de Azure Resource Manager de ejemplo que crea un conjunto de escalado con instancias de DSVM de Ubuntu. También hay un ejemplo de archivo de parámetros para la plantilla de Azure Resource Manager en la misma ubicación.

Especifique los valores del archivo de parámetros en la CLI de Azure para crear el conjunto de escalado a partir de la plantilla de Azure Resource Manager,:

az group create --name [[NAME OF RESOURCE GROUP]] --location [[ Data center. For eg: "West US 2"]
az deployment group create --resource-group  [[NAME OF RESOURCE GROUP ABOVE]]  --template-uri https://raw.githubusercontent.com/Azure/DataScienceVM/master/Scripts/CreateDSVM/Ubuntu/dsvm-vmss-cluster.json --parameters @[[PARAMETER JSON FILE]]

Esos comandos asumen que tiene:

  • Una copia del archivo de parámetros con los valores especificados para su instancia del conjunto de escalado
  • El número de instancias de VM
  • Punteros al recurso compartido de Azure Files
  • Credenciales de la cuenta de almacenamiento que se montará en cada máquina virtual

Los comandos hacen referencia localmente al archivo de parámetros. También puede pasar parámetros alineados o solicitarlos en el script.

La plantilla anterior habilita el puerto SSH y JupyterHub del conjunto de escalado de front-end en el grupo de back-end de las máquinas virtuales DSVM de Ubuntu. Como usuario, iniciaría sesión en la máquina virtual en Secure Shell (SSH) o en JupyterHub, como lo haría normalmente. Puesto que las instancias de máquina virtual se pueden escalar o reducir verticalmente de forma dinámica, es necesario guardar los estados en el recurso compartido montado de Azure Files. Puede usar el mismo enfoque para crear un grupo de máquinas virtuales de DSVM de Windows.

El script que monta el recurso compartido de Azure Files también está disponible en el repositorio Azure DataScienceVM en Github. El script monta el recurso compartido de Azure Files en el punto de montaje especificado en el archivo de parámetros. El script también crea vínculos simbólicos a la unidad montada en el directorio principal del usuario inicial. Se establece un vínculo simbólico de un directorio de bloc de notas específico del usuario en el recurso compartido de archivos de Azure al directorio $HOME/notebooks/remote para que los usuarios pueden acceder a sus blocs de notas de Jupyter, así como ejecutarlos y guardarlos. La misma convención puede usarse al crear más usuarios en la máquina virtual para dirigir el área de trabajo de Jupyter de cada usuario al recurso compartido de Azure Files.

Virtual Machine Scale Sets es compatible con el escalado automático. Puede establecer reglas sobre cuándo crear más instancias y cuándo reducir verticalmente las instancias. Por ejemplo, puede reducir verticalmente las instancias a cero para ahorrar en costos de uso de hardware de nube si nunca se utilizan las máquinas virtuales. Las páginas de documentación de los conjuntos de escalado de máquinas virtuales proporcionan pasos detallados para realizar el escalado automático.

Pasos siguientes