Microsoft HPC Pack
Microsoft HPC Pack es una solución de HPC gratuita basada en Microsoft Azure con tecnologías de Windows Server y admite una amplia gama de cargas de trabajo de HPC. En esta página se articulan las funcionalidades y los detalles de configuración de la integración de HPC Pack con Cyclecloud.
Limitaciones y versiones admitidas
Microsoft HPC Pack 2016 (con Update 3) y Microsoft HPC Pack 2019 se admiten en CycleCloud con las limitaciones siguientes:
- El clúster debe crearse en un Dominio de Active Directory.
- El clúster solo puede contener un único nodo principal.
- Todavía no se admite la alta disponibilidad en el nodo principal.
- No se admite la personalización de la imagen de máquina virtual del nodo principal.
- Todavía no se admiten nodos de proceso de Linux.
- El nodo principal requiere acceso saliente a Internet para descargar el binario nuget y Python3.
- La CLI y la configuración de cloud-init aún no se admiten.
Requisitos previos
Dominio de Active Directory
Actualmente, todos los nodos de HPC Pack deben unirse a un Dominio de Active Directory. Si va a implementar el clúster de HPC Pack en una red virtual que tiene una conexión VPN de sitio a sitio o ExpressRoute con la red corporativa, normalmente ya hay una Dominio de Active Directory existente. Si aún no tiene un dominio de AD en la red virtual, puede optar por crear un dominio de AD mediante la promoción del nodo principal como controlador de dominio.
Azure Key Vault
Microsoft HPC Pack requiere un certificado PFX para proteger la comunicación de nodo y también requiere credenciales de usuario de dominio de AD para unir los nodos al dominio de AD. Aunque puede especificar directamente un archivo PFX, una contraseña de protección y una contraseña de usuario en la plantilla, se recomienda encarecidamente usar Azure Key Vault para controlar de forma segura el certificado y la contraseña de usuario. Consulte Creación de un certificado de Azure Key Vault.
El clúster también requiere el nombre de usuario y la contraseña de una cuenta de administrador de AD para unir nodos al dominio a medida que se crean. Se recomienda encarecidamente usar Azure Key Vault.
Identidad administrada asignada por el usuario de Azure
Para usar Azure Key Vault para el certificado y las credenciales, debe crear una identidad administrada asignada por el usuario de Azure y conceder el permiso Get' para secreto y el certificado de Azure Key Vault.
Puede consultar este tutorial de Key Vault para crear la Key Vault y una identidad administrada con acceso Key Vault.
Se recomienda usar Azure Role-Based Access Control para asignar permisos de Key Vault a la identidad administrada.
Roles de nodo de HPC Pack
Hay tres roles de nodo diferentes en el clúster de HPC Pack:
- Nodo principal: proporciona los servicios de programación de trabajos y administración de clústeres. Actualmente, solo se admite un único nodo principal con bases de datos locales.
- Nodo de agente: recibe solicitudes de un cliente SOA, las distribuye a los hosts de servicio en los nodos de proceso y, a continuación, recopila respuestas y las envía de vuelta al cliente. Los nodos de agente se crearán en la matriz de nodos del agente . Debe crear nodos de agente si desea ejecutar una carga de trabajo soa en el clúster.
- Nodo de proceso: acepta y ejecuta trabajos de clúster. Los nodos de proceso se crearán en la matriz de nodos cn .
Creación de un nuevo clúster de HPC Pack
Puede hacer clic en el icono de Microsoft HPC Pack en Programadores para crear un nuevo clúster de Microsoft HPC Pack.
En la página Acerca de, especifique un nombre de clúster único para el clúster, ya que se usará como nombre de equipo NetBIOS del nodo principal, asegúrese de que es único en el dominio de AD y cumple con las convenciones de nomenclatura.
Configuración básica
- Versión de HPC Pack: puede seleccionar HPC Pack 2019 o HPC Pack 2016 (con la actualización 3). Se recomienda usar la versión más reciente de HPC Pack, es decir, HPC Pack 2019.
- Virtual Machines: puede seleccionar la región de Azure donde desea crear el clúster de HPC Pack y el tipo de máquina virtual para cada rol de nodo de clúster. También puede especificar Num. Agentes para crear uno o varios nodos de Broker si desea ejecutar cargas de trabajo SOA en el clúster.
Escalado automático
El clúster se inicia sin ningún nodo de proceso. Puede habilitar el escalado automático para escalar o reducir verticalmente automáticamente los nodos de proceso en función de las cargas de trabajo del clúster, puede usar Max Cores para especificar el número máximo de núcleos de vCPU de proceso del clúster. El escalador automático se ejecuta cada minuto como una tarea programada de Windows en el nodo principal.
Hay dos opciones de reducción vertical para los nodos de proceso: Desasignar o Finalizar. Si elige la opción Finalizar , el clúster de HPC Pack siempre quitará las máquinas virtuales del nodo de proceso en la reducción vertical. Si elige la opción Desasignar , el clúster de HPC Pack desasignará las máquinas virtuales del nodo de proceso en la reducción vertical y las mantendrá durante un número configurable de días (días de retención de máquinas virtuales). Los nodos de proceso desasignados no se quitarán del clúster de HPC Pack siempre que se conserven. Sin embargo, se desconectarán y se mostrarán como inaccesibles en el clúster de HPC Pack. La opción Deallocate se recomienda para el clúster de HPC Pack, ya que puede reducir significativamente el tiempo de preparación del nodo en el escalado vertical y solo paga por el almacenamiento en disco de las máquinas virtuales desasignadas.
Configuración de infraestructura
- Virtual Network: puede seleccionar una red virtual y una subred existentes en las que se creará el clúster de HPC Pack.
- Dominio de Active Directory: si ya hay un dominio de AD en la red virtual, especifique el nombre de dominio completo y la ruta de acceso de la unidad organizativa en la que se unirán los nodos del clúster. O bien, seleccione Nuevo dominio de AD para crear un dominio de AD mediante la promoción del nodo principal como controlador de dominio.
- Secretos y certificado: se recomienda encarecidamente que seleccione Usar KeyVault para usar Azure Key Vault para pasar el certificado de comunicación de nodo y la contraseña de usuario. En Identidad MSI, seleccione Identidad asignada por el usuario de Azure que creó en Requisitos previos en la lista desplegable y especifique el nombre de Azure Key Vault creado en Requisitos previos.
- Credenciales de usuario: en Nombre de usuario, especifique el nombre de usuario de dominio. En Secreto de contraseña, especifique el nombre del secreto de Azure Key Vault que creó en Requisitos previos para almacenar la contraseña de usuario del dominio.
- Certificado PFX: en Nombre del certificado, especifique el nombre del certificado de Azure Key Vault que creó en Requisitos previos.
Configuración avanzada
- Configuración de Azure: seleccione las credenciales en la nube de Azure en la lista desplegable.
- Software de clúster: especifique el sistema operativo (SO) para cada rol de nodo de clúster.
- Redes avanzadas: de forma predeterminada, los servidores DNS configurados en la red virtual se aplicarán a todos los nodos de HPC, puede especificar opcionalmente el servidor DNS si desea usar otro servidor DNS. También puede seleccionar la dirección IP pública de HN para asignar una dirección IP pública para el nodo principal.
CLI de azhpcpack
La CLI deazhpcpack.ps1 es la interfaz principal para todo el comportamiento de escalado automático (la tarea programada llama a azhpcpack.ps1 autoscale
). La CLI está disponible en C:\cycle\hpcpack-autoscaler\bin)
La CLI se puede usar para diagnosticar problemas con el escalado automático o para controlar manualmente el escalado de clústeres desde el nodo principal.
Get-Help | Descripción |
---|---|
autoscale | Proceso de escalado automático de un extremo a otro, incluida la creación, eliminación y unión de nodos. |
cubos | Imprime la información del cubo de escalado automático, como los límites, etc. |
config | Escribe la configuración de escalabilidad automática efectiva, después de cualquier preprocesamiento, en stdout. |
create_nodes | Cree un conjunto de nodos dadas varias restricciones. Una versión de la CLI de la interfaz nodemanager. |
default_output_columns | Genera las columnas de salida predeterminadas para un comando opcional. |
delete_nodes | Elimine el nodo y expulse del clúster. |
initconfig | Crea una configuración de escalado automático inicial. Escribe en stdout. |
límites | Escribe un conjunto detallado de límites para cada depósito. El valor predeterminado es json debido al número de campos. |
nodes | Nodos de consulta. |
refresh_autocomplete | Actualiza la información de autocompletar local para los recursos y nodos específicos del clúster. |
retry_failed_nodes | Reintenta todos los nodos en un estado de error. |
validate_constraint | Valida entonces las salidas como JSON una o varias restricciones. |