Inicio rápido: Implementación del área de trabajo de Azure CycleCloud para Slurm mediante Marketplace

El área de trabajo de Azure CycleCloud para Slurm es una aplicación gratuita de Marketplace que proporciona una manera sencilla, segura y escalable de administrar los recursos de proceso y almacenamiento para cargas de trabajo de HPC e IA. En este inicio rápido, instalará CycleCloud Workspace for Slurm mediante la aplicación Marketplace.

Prerrequisitos

Para este inicio rápido, necesitará:

  1. Una cuenta de Azure con una suscripción activa
  2. Los roles de administrador de acceso de usuario de y de colaborador en el nivel de suscripción

¿Cómo implementar?

  • Inicie sesión en Azure Portal.
  • Haga clic en la opción de + Create a Resource superior izquierda.
  • En el cuadro Search services and marketplace, escriba Slurm y seleccione área de trabajo de Azure CycleCloud para Slurm.
  • En la página área de trabajo de Azure CycleCloud para Slurm, seleccione Crear.

captura de pantalla del área de trabajo de Azure CycleCloud para Slurm marketplace

Básico

  • En la página Nueva área de trabajo de Azure CycleCloud para la cuenta de Slurm, escriba o seleccione los detalles siguientes.
    • suscripción: seleccione la suscripción que se va a usar si aún no está seleccionada.
    • Región: seleccione la región de Azure en la que desea implementar el área de trabajo de CycleCloud para el entorno de Slurm.
    • grupo de recursos: seleccione el grupo de recursos para la cuenta de Azure CycleCloud Workspace for Slurm o cree uno nuevo.
    • tamaño de máquina virtual de CycleCloud: elija un nuevo tamaño de máquina virtual o mantenga el valor predeterminado.
    • usuario administrador: escriba un nombre y una contraseña para la cuenta de administrador de CycleCloud.
    • clave pública SSH de administrador: seleccione la clave SSH pública de la cuenta de administrador directamente o si se almacena en un recurso de clave SSH en Azure.

Captura de pantalla de la pantalla Opciones básicas

Sistema de archivos

Directorio principal de los usuarios: crear nuevo

Especifique dónde se debe ubicar el directorio principal de los usuarios. Cree una Builtin NFS usará la máquina virtual del programador como servidor NFS con un disco de datos conectado. Captura de pantalla del montaje del sistema de archivos para /shared y /home Builtin NFS crear nuevas opciones

Cree una nueva azure NetApp Files creará una cuenta de ANF, un grupo y un volumen de la capacidad y el nivel de servicio especificados. Captura de pantalla del montaje del sistema de archivos para /shared y /home Azure NetApp files create new options screen

Directorio principal de los usuarios: usar existente

Si tiene un punto de montaje NFS existente, seleccione la opción Usar existente y especifique la configuración para montarla. Captura de pantalla del montaje del sistema de archivos para /shared y /home usan opciones de NFS externas

Montaje adicional del sistema de archivos: crear nuevo

Si necesita montar un sistema de archivos adicional para los datos del proyecto, puede crear uno nuevo o especificar uno existente. Puede crear un nuevo volumen de Azure NetApp Files o un sistema de archivos de Azure Managed Lustre.

Captura de pantalla del montaje adicional del sistema de archivos para crear una nueva de Azure NetApp Files

Captura de pantalla del montaje adicional del sistema de archivos para crear una nueva de Azure Managed Lustre

Montaje adicional del sistema de archivos: usar existente

Si tiene un punto de montaje NFS externo existente o un sistema de archivos de Azure Managed Lustre, puede especificar las opciones de montaje.

Captura de pantalla del montaje adicional del sistema de archivos para un NFS externo existente

Gestión de redes

Especifique aquí si desea crear una nueva red virtual y subredes o usar una existente.

Creación de una nueva red virtual

Captura de pantalla de las opciones de redes para crear una nueva

  • Elija el CIDR que coincidirá con el número de nodos de proceso que tiene como destino y especifique una dirección IP base,
  • Es un procedimiento recomendado crear una instancia de Bastion si no tiene conectividad directa proporcionada por su TI corporativa,
  • La creación de una puerta de enlace NAT es necesaria para proporcionar conectividad saliente a Internet. Esto se convertirá en obligatorio en 2025 y ya ha sido aplicado por algunas empresas,
  • Emparejar con una red virtual existente si ya tiene un concentrador al que desea emparejar que pueda ofrecer servicios como Bastion y una puerta de enlace de VPN. Tenga cuidado de elegir una dirección IP base compatible con la red virtual emparejada. Compruebe Permitir tránsito de puerta de enlace si la red virtual emparejada tiene una puerta de enlace.

Uso de una red virtual existente

Antes de usar una red virtual existente, compruebe los requisitos previos de Plan your CycleCloud Workspace for Slurm Deployment

Captura de pantalla de las opciones de redes para usar una existente

Configuración de Slurm

Especifique el tamaño y la imagen de la máquina virtual que se van a usar para scheduler y los nodos de inicio de sesión. Las imágenes son las imágenes de HPC proporcionadas en Azure Marketplace con los URI asociados:

Nombre de la imagen URI
Alma Linux 8.7 almalinux:almalinux-hpc:8_7-hpc-gen2:latest
Ubuntu 20.04 microsoft-dsvm:ubuntu-hpc:2004:latest
Ubuntu 22.04 microsoft-dsvm:ubuntu-hpc:2204:latest
Imagen personalizada Tendrá que especificar un URN de imagen o un identificador de imagen.

Si elige Custom Image debe especificar un URN de imagen para una imagen de Marketplace existente o un identificador de imagen para una imagen en una instancia de Azure Compute Gallery.

También puede comprobar el Use image on all nodes si desea que scheduler, login nodes y compute nodes usen la misma imagen.

Establezca cuántos nodos de inicio de sesión desea aprovisionar al principio y el número máximo. Por último, habilitar las comprobaciones de estado ejecutará comprobaciones de estado del nodo para que hpC y las particiones de GPU quiten automáticamente los nodos incorrectos cuando se inicien.

Captura de pantalla de la configuración de Slurm

Si desea habilitar la contabilidad de trabajos de Slurm, active la casilla para mostrar las opciones de conectividad. Tenga en cuenta que debe tener un recurso de servidor flexible de Azure Database for MySQL implementado previamente. La conexión a través de proporcionar un FQDN o una dirección IP privada está disponible si decide proporcionar su propia red virtual o usar el emparejamiento de VNET al crear una nueva red virtual como parte de la implementación. Además, la conexión a través del punto de conexión privado está disponible si decide crear una nueva red virtual.

Captura de pantalla de las opciones de configuración de Slurm para la base de datos de contabilidad de trabajos, el FQDN directo

Captura de pantalla de las opciones de configuración de Slurm para la base de datos de contabilidad de trabajos con el punto de conexión privado

Configuración de partición

El área de trabajo de Azure CycleCloud para Slurm incluye 3 particiones Slurm definidas:

  • HTC : para trabajos que no son MPI de forma embarasante,
  • HPC: para trabajos de MPI estrechamente acoplados con tipos de máquina virtual con compatibilidad con InfiniBand,
  • GPU: para trabajos de GPU MPI y no MPI

Puede establecer la imagen y el número máximo de nodos aprovisionados dinámicamente por CycleCloud para cada partición. Solo la partición HTC permitirá el uso de instancias de Spot, ya que normalmente no es un procedimiento recomendado usar instancias de Spot para trabajos de HPC y GPU. Sin embargo, esta configuración se puede invalidar después de la implementación en la interfaz de usuario de CycleCloud.

Captura de pantalla de las opciones de configuración de partición

Etiquetas

Establezca las etiquetas pertinentes para los recursos necesarios. Node Array etiquetas se aplicarán a virtual Machines aprovisionadas dinámicamente por CycleCloud.

Captura de pantalla de las opciones etiquetas

Revisar y crear

Revise las opciones. Este paso también procesará algunas validaciones. captura de pantalla de del de revisión

Cuando se pasa, haga clic en el botón Crear para inicializar la implementación Captura de pantalla de la implementación en curso

Siga los pasos y el estado de implementación.

Comprobación de la implementación

Conéctese al ccw-cyclecloud-vm mediante Bastion con el nombre de usuario y las claves SSH especificadas durante la implementación.

Captura de pantalla del menú Conectar con Bastion Captura de pantalla de las opciones de conexión Conectar con Bastion

Cuando esté conectado, compruebe los registros de cloud-init para comprobar que todo es correcto.

$tail -f -n 25 /var/log/cloud-init-output.log
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Waiting for Azure.MachineType to be populated...
Starting cluster ccws....
----------------------------
ccws : allocation -> started
----------------------------
Resource group: 
Cluster nodes:
    scheduler: Off -- --  
Total nodes: 1
CC start_cluster successful
/
exiting after install
Cloud-init v. 23.4-7.el8_10.alma.1 running 'modules:final' at Wed, 12 Jun 2024 10:15:53 +0000. Up 11.84 seconds.
Cloud-init v. 23.4-7.el8_10.alma.1 finished at Wed, 12 Jun 2024 10:28:15 +0000. Datasource DataSourceAzure [seed=/dev/sr0].  Up 754.29 seconds

A continuación, establezca la conectividad entre la máquina cliente y la máquina virtual CycleCloud. Esto puede ser de su TI corporativa, una VPN, una tunelización bastión, una dirección IP pública adjunta si su empresa lo permite. Conéctese a la interfaz web; para ello, vaya a https://<cycleccloud_ip>y autentíquese con el nombre de usuario y la contraseña proporcionados durante la implementación. Confirme que el programador y el nodo Login se están ejecutando.

Conexión al nodo de inicio de sesión

Al usar Bastion, use uno de los scripts de utilidad util/ssh_thru_bastion.sh o util/tunnel_thru_bastion.sh para conectarse, siempre aquí. Si no usa bastión, debe establecer la conectividad directa usted mismo.