Expansión a Azure Batch con Microsoft HPC Pack
Este tema contiene información sobre cómo extender el clúster de HPC Pack para incluir grupos de Azure Batch como recursos de proceso. Con estos grupos de Azure Batch, puede aumentar ("ráfaga") la capacidad del clúster de HPC a petición. Para más información, consulte la documentación del servicio Azure Batch de .
En este tema:
paso 4: Iniciar el del grupo
paso 6: Detener el del grupo
Requisitos previos
clúster de HPC Pack: debe crear y configurar al menos el nodo principal de un clúster. La característica de ráfaga a Batch está disponible a partir de HPC Pack 2012 R2 Update 3.
suscripción de Azure: si aún no tiene una suscripción, regístrese para obtener una evaluación gratuita, use las ventajas del suscriptor de MSDN o explore otras opciones de compra.
Paso 1: Creación de una cuenta de Azure Batch
cuenta de Azure Batch: consulte Creación y administración de una cuenta de Azure Batch para crear una cuenta de Batch en Azure Portal.. Necesitará la siguiente información de cuenta (disponible en el portal) para expandirse a Batch desde HPC Pack 2012 R2 Update 3.
- Nombre de la cuenta de Batch
- Dirección URL de la cuenta de Batch
- Clave de cuenta de Batch
Desde HPC Pack 2016 Update 1 on, es posible que necesite la siguiente información de cuenta para expandirse a Batch desde HPC Pack según los diferentes modos de asignación de recursos de Azure Batch (Servicio de Batch o Suscripción de usuario) y métodos de autenticación de cliente (clave de acceso de Batch o Azure AD):
- Batch Serivce con clave de acceso
- Nombre de la cuenta de Batch
- Dirección URL de la cuenta de Batch
- Clave de cuenta de Batch
- Servicio batch o suscripción de usuario con Azure AD
- Instancia de AAD de Batch
- Identificador de inquilino de Batch AAD
- Id. de ClientApp de Batch AAD
- Clave de aplicación cliente de AAD por lotes
- Nombre de la cuenta de Batch
- Dirección URL de la cuenta de Batch
Compruebe la tabla siguiente para decidir qué tipo de cuenta de Batch y método de autenticación elegir. También puede comprobar este blog y este documento para obtener más información sobre el modo de asignación del grupo de suscripciones de usuario y cómo usar la autenticación de Azure AD para el servicio Azure Batch.
Modo de asignación de grupo o tipo de cuenta | Métodos de autenticación | Tipos de imagen de máquina virtual | Máquina virtual de prioridad baja | Red virtual |
---|---|---|---|---|
Servicio Batch | Clave de acceso/ Azure AD | PaaS/IaaS (MarketPlaceImage) / IaaS (CustomImage a través de Azure AD) | Sí | Sí (a través de Azure AD) |
Suscripción de usuario | Azure AD | IaaS (MarketPlaceImage)/ IaaS (CustomImage) | No | Sí |
Use la CLI de Azure para crear una cuenta de Batch con el modo de asignación del grupo de servicios de Batch y use la clave de acceso de Batch para la autenticación como se indica a continuación:
# Authenticate CLI session.
az login
# Select the subscription
az account set -s mysubscription
# Create a resource group.
az group create --name myresourcegroup --location mylocation
# Let's add a storage account reference to the Batch account for use as 'auto-storage'
# for applications. We'll start by creating the storage account.
az storage account create -g myresourcegroup -n mystorageaccount -l mylocation --sku Standard_LRS
# Create a Batch account.
az batch account create -g myresourcegroup -n mybatchaccount -l mylocation --storage-account mystorageaccount
# Now we can display the details of our created account.
az batch account show -g myresourcegroup -n mybatchaccount
# We can view the access keys to the Batch Account for future client authentication.
az batch account keys list -g myresourcegroup -n mybatchaccount
Uso de la CLI de Azure para crear una cuenta de Batch con el modo de asignación del grupo de suscripciones de usuario
# Authenticate CLI session.
az login
# Select the subscription
az account set -s mysubscription
# Allow Azure Batch to access the subscription (one-time operation).
az role assignment create --assignee MicrosoftAzureBatch --role contributor
# Create a resource group.
az group create --name myresourcegroup --location mylocation
# A Batch account that will allocate pools in the user's subscription must be configured
# with a Key Vault located in the same region. Let's create this first.
az keyvault create --resource-group myresourcegroup --name mykeyvault --location mylocation --enabled-for-deployment true --enabled-for-disk-encryption true --enabled-for-template-deployment true
# We will add an access-policy to the Key Vault to allow access by the Batch Service.
az keyvault set-policy --resource-group myresourcegroup --name mykeyvault --spn ddbf3205-c6bd-46ae-8127-60eb93363864 --key-permissions all --secret-permissions all
# Now we can create the Batch account, referencing the Key Vault either by name (if they exist in the same resource group) or by its full resource ID.
az batch account create --resource-group myresourcegroup --name mybatchaccount –location mylocation --keyvault mykeyvault
Para configurar Azure AD para la autenticación de Batch y obtener información de Batch AAD
- Obtenga instancia de AAD de Batch. Si usa la nube global de Azure, la instancia de AAD se https://login.microsoftonline.com/.
- Obtenga identificador de inquilino de AAD de Batch. En Azure Portal, haga clic en Más servicios, busque y elija Azure Active Directory, seleccione su cuenta en la esquina superior derecha de la página y haga clic en Propiedades. Copie el valor GUID proporcionado para el identificador de directorio de . Este valor también se denomina id. de inquilino.
- Registre la aplicación cliente de Batch y obtenga el id. de clientApp de Batch AAD.
- En Azure Portal, elija el inquilino de Azure AD seleccionando su cuenta en la esquina superior derecha de la página. - Elija Más servicios, busque y elija registros de aplicaciones. - Haga clic en +Nuevo registro de aplicación. - Rellene Nombre, elija aplicación web o API como Tipo de aplicacióny rellene un valor específico de la aplicación, por ejemplo, https://myAppName para el URI de inicio de sesión de . Haga clic en Crear. - Una vez creada correctamente la aplicación, seleccione la aplicación en la lista de Registros de aplicaciones y haga clic en Propiedades. Copie el valor GUID proporcionado para el identificador de aplicación de , se usará como id. de clientApp de Batch AAD.
- Configure para usar una entidad de servicio para la autenticación y obtener el clave clientApp de Batch AAD.
- Solicite una clave secreta para la aplicación. Seleccione la aplicación creada en la lista de registros de aplicacionesy haga clic en claves , escriba descripción de clave y elija Duracióny haga clic en Guardar. Copie el valor mostrado que se usará como clave clientApp de Batch AAD. - Asigne un rol RBAC a la aplicación para autenticarse con una entidad de servicio. Elija Más servicios, busque y elija cuentas de Batch, haga clic en la cuenta por lotes creada y seleccione control de acceso (IAM). Haga clic en +AGREGAR, seleccione Rol de colaborador y la aplicación registrada. Haga clic en Save(Guardar).
Nota:
Tenga en cuenta que tanto el modo de servicio de Batch como el modo de suscripción de usuario de Batch admiten la autenticación de Azure AD.
importante: una vez configurada la autenticación de Azure AD para Batch con la siguiente información de Batch AAD obtenida, abra administrador de clústeres de HPC, en configuración de -> lista de tareas pendientes, haga clic en Establecer configuración de Azure Batch para rellenar la información en consecuencia en el formulario y, a continuación, haga clic en Aceptar. Este paso es necesario cuando se usa Azure AD para la autenticación de Batch en HPC Pack.
- Instancia de AAD de Batch
- Identificador de inquilino de Batch AAD
- Id. de ClientApp de Batch AAD
- Clave de aplicación cliente de AAD por lotes
Como alternativa, puede usar el cmdlet de PowerShell de HPC para establecer la información de Batch AAD, como se muestra a continuación:
# HPC PowerShell
Set-HpcClusterRegistry -BatchAADInstance '<AAD Instance e.g. https://login.microsoftonline.com/>' -BatchAADTenantId <TenantGUID> -BatchAADClientAppId <AppGUID> -BatchAADClientAppKey '<AppKey>'
Paso 2: Creación de una plantilla de grupo de Azure Batch
Para crear una plantilla de grupo de Azure Batch, use el Asistente para crear plantillas de nodo en el Administrador de clústeres de HPC.
Para crear una plantilla de grupo de Batch
Inicie administrador de clústeres de HPC.
En configuración, en el panel de navegación de , haga clic en Plantillas de nodo.
En el panel Acciones de
, haga clic en Nuevo .
Aparece el Asistente para crear plantillas de nodo.En la página Elegir tipo de plantilla de nodo, haga clic en plantilla de grupo de Azure Batch, y, a continuación, haga clic en Siguiente.
En la página Especificar nombre de plantilla, escriba un nombre para la plantilla de nodo y, opcionalmente, escriba una descripción para ella. Haga clic en Next.
En la página Proporcione la información de la cuenta de Azure Batch, rellene el nombre de la cuenta de Batch. Si el tipo de cuenta de Batch es Servicio batch, elija BatchService como tipo de cuenta de Batch. Si usa la clave de acceso por lotes para la autenticación, rellene la clave como clave de cuenta, si usa la autenticación de Azure AD, simplemente déjela en blanco. Si el tipo de cuenta de Batch es Suscripción de usuario, elija userSubscription como tipo de cuenta de Batch. Rellene la dirección URL de la cuenta de Batch de y el cadena de conexión de Azure Storage obtuvimos anteriormente y, a continuación, haga clic en Siguiente.
Nota:
cuando se requiera la autenticación de AAD, asegúrese de que la instancia de Batch AAD, el identificador de inquilino de Batch AAD, el identificador de cliente de Batch AAD y la clave de aplicación de aplicaciones de Batch AAD ya están establecidas en la lista de tareas pendientes de implementacióno la validación de la cuenta produciría un error "Cuenta de Azure Batch no válida. Compruebe la configuración de la cuenta de Azure Batch." al hacer clic en Siguiente.
En la página
configuración de escalado automático de Azure Batch, deje habilitar la de escalado automático y haga clic enSiguiente .En la página Configurar credenciales de Escritorio remoto y SSH, proporcione opcionalmente las credenciales de un usuario que se creará en los nodos de proceso del grupo de Azure Batch durante la implementación. Puede usar las credenciales más adelante para conectarse a los nodos de proceso del grupo. En el caso de los nodos de Linux, también puede especificar de clave pública SSH y ssh Private Key File(.ppk) para SSH en el nodo a través de putty.exe. Consulte aquí cómo generar una clave pública y un archivo de clave privada para PuTTY. Tenga en cuenta que si especifica claves SSH y contraseña, las claves SSH se usarán para la conexión. También debe copiar el archivo de clave privada generado (.ppk) en %CCP_HOME%Bin carpeta para abrir SSH en los nodos del Administrador de clústeres de HPC. Haga clic en Next.
En la página Especificar script de inicio, con HPC Pack 2012 R2 Update 3, opcionalmente especifique una tarea de inicio de Azure Batch.
- de la línea de comandos: el comando ejecutado cuando se inician los nodos de proceso de Azure Batch
- dirección URL de origen de blobs: ubicación de almacenamiento de Azure de los archivos que cargó anteriormente y que se descargará automáticamente en los nodos de proceso de Azure Batch.
-
ruta de acceso de archivo local: la ubicación para descargar los archivos en los nodos de proceso de Azure Batch
En HPC Pack 2016 Update 1 o una versión posterior, especifique opcionalmente una línea de comandos o el nombre de un script de inicio para ejecutarse en todos los nodos de proceso de Azure Batch del grupo de Batch. Actualmente, el script de inicio solo se admite para los nodos de Linux. Por ejemplo, si quiere ejecutar un script denominado startup.sh en todos los nodos de Linux de un grupo de Batch cuando se inician, debe usar la herramienta de línea de comandos HpcPack.exe para comprimir y cargar el script en la cuenta de almacenamiento de Azure, como se indica a continuación, y especificar startup.sh en la línea de comandos:
HpcPack.exe create startup.sh.zip startup.sh HpcPack.exe upload startup.sh.zip /account:<StorageAccountName> /key:<StorageAccountKey>
Haga clic en Siguiente y revise toda la configuración de plantilla especificada. Haga clic en Crear para generar la plantilla de nodo del grupo de Azure Batch.
Paso 3: Adición de un grupo de Azure Batch
Use el Asistente para agregar nodos en el Administrador de clústeres de HPC para agregar los nodos de proceso del grupo de Batch.
Para agregar un grupo de Azure Batch
En el Administrador de clústeres de HPC, en
administración de recursos , en el panel acciones de , haga clic en Agregar de nodo . Aparece el Asistente para agregar nodos.En la página Seleccionar método de implementación, haga clic en Agregar grupo de Azure Batch, y, a continuación, haga clic en Siguiente.
En la página Especificar información del grupo de Azure Batch, seleccione una plantilla de grupo de Azure Batch. Según el tipo de cuenta de Batch de la plantilla seleccionada, especifique la información del grupo como se indica a continuación:
Si el tipo de cuenta de Batch es Servicio batch,- Número de nodos de proceso: el número de nodos de proceso (instancias de máquina virtual) en el nuevo grupo de Azure Batch
- Indica si las máquinas virtuales están de máquina virtual dedicada o máquina virtual de prioridad baja
- Elija el tipo de imagen para PaaS o IaaSMarketPlace. Para PaaS , elija el familia de so. Por ejemplo, Windows Server 2016. Para iaaSMarketPlace, elija publisher, ofertay Sku. Por ejemplo, Canonical, UbuntuServer, 16.04-LTS.
- Tamaño de los nodos de proceso: el tamaño del rol de cada nodo de proceso.
- Tareas máximas por nodo de proceso: el número máximo de tareas simultáneas que se ejecutarán en cada nodo de proceso. El número predeterminado es igual al número de núcleos del tamaño de rol seleccionado. El número máximo es tres veces mayor que el número real de núcleos. Tenga en cuenta que el número máximo de tareas por nodo de proceso multiplicado por el número de nodos de proceso es igual a los núcleos totales del nodo del grupo de Batch.
- Paquetes de aplicaciones: opcionalmente, especifique los paquetes de aplicación que ya se han agregado en la cuenta de Batch en el formato de <Id.>:<Versión>,<Id.>:<Versión>, ... Si el tipo de cuenta de Batch es Suscripción de usuario,
- Número de nodos de proceso: (por ejemplo, arriba)
- Elija el tipo de imagen para IaaSMarketPlace o IaaSCustomImage. En IaaSMarketPlace, elija Publicador, Oferta y SKU. Por ejemplo, Canonical, UbuntuServer, 16.04-LTS. Para IaaSCustomImage, además de Publisher, Offer y SKU, también se requiere el identificador de recurso de imagen personalizada en el formato /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}
- Tamaño de los nodos de proceso: (por ejemplo, arriba)
- Tareas máximas por nodo de proceso: (como se ha indicado anteriormente)
- Paquetes de aplicaciones: (por ejemplo, arriba)
- Red virtual: opcionalmente, especifique el identificador de subred para el grupo de Batch. Consulte este documento sobre cómo crear una red virtual personalizada y una subred y obtener el identificador de subred. Compruebe también los requisitos de Batch para una red virtual personalizada especificada en este documento.
Nota:
Consulte este documento para obtener la imagen de una máquina virtual Linux y obtener el identificador de recurso de imagen. Para una imagen de máquina virtual personalizada o una red virtual personalizada (consulte a continuación), es necesario asignar explícitamente la aplicación cliente de Batch rol colaborador al recurso a través de su control de acceso (IAM). O bien, podría producirse un error de "BadRequest" al iniciar el grupo de Batch.
Paso 4: Iniciar el grupo
Debe iniciar el grupo antes de ejecutar trabajos en él.
Para iniciar un grupo de Azure Batch
En administración de recursos , en el panel de navegación de , haga clic en nodos o grupos de Azure Batch.
En la vista lista de
o mapa térmico , seleccione uno o varios grupos de Azure Batch.En el panel Acciones de
, haga clic en Iniciar .Aparece el cuadro de diálogo Iniciar grupos de Azure Batch. Haga clic en Iniciar.
El estado de los nodos cambia de no implementado a Aprovisionamiento.
Si desea realizar un seguimiento del progreso del aprovisionamiento, seleccione el grupo y, a continuación, en el panel de detalles de , haga clic en la pestaña Registro de aprovisionamiento. El grupo de Azure Batch debe crearse en menos de 1 minuto y el estado cambia a Sin conexión.
consideraciones adicionales
Supervisar el estado de los nodos de proceso de Azure Batch: después de que el grupo de Azure Batch esté listo, los nodos de proceso de Azure Batch se siguen creando e iniciando. Para supervisar el estado del nodo, seleccione el grupo y, después, en el panel de detalles de , haga clic en nodos de proceso de Azure Batch.
Escritorio remoto o SSH a nodos de proceso: después de iniciar los nodos de proceso del grupo de Azure Batch (el estado del nodo es inactivo), puede conectarse mediante Escritorio remoto o SSH a cada nodo de proceso si ha configurado las opciones de plantilla para hacerlo, por ejemplo, para realizar alguna configuración manual o solución de problemas. Para ello, seleccione uno o varios grupos de Azure Batch y, después, en el panel Acciones de
, haga clic en Escritorio remoto o SSH . Al conectarse a nodos de Linux a través de SSH, es necesario copiar el archivo de clave privada generado (.ppk) en la carpeta %CCP_HOME%Bin del equipo cliente.Ver tareas de inicio: si especificó una tarea de inicio en la plantilla de grupo de Azure Batch, una vez iniciado el grupo de Azure Batch, puede ver la salida detallada de la tarea de inicio ejecutando el siguiente cmdlet de PowerShell de HPC:
Get-HpcBatchPoolStartTask -Name <PoolName>
vista Mapa térmico: mientras se ejecuta el grupo de Azure Batch, vea el mapa térmico del grupo. En de administración de recursos en el panel de navegación, haga clic en Nodosy elija vista mapa térmico. También puede comprobar el mapa térmico por máquina virtual para los nodos de Linux del grupo. En de administración de recursos en el panel de navegación, haga clic en grupos de Azure Batchy, a continuación, elija vista de mapa térmico. Actualmente se recopilan los siguientes contadores de rendimiento:
- Uso de la CPU
- Rendimiento del disco
- Espacio libre en disco
- Uso de red
- Memoria física disponible
.
Paso 5: Ejecución de un trabajo en el grupo
Actualmente, HPC Pack admite la ejecución de trabajos normales por lotes, parametric/mpi y comandos clusrun en grupos de Azure Batch. Tenga en cuenta las siguientes recomendaciones para usar clusrun con Batch:
Ejecute clusrun trabajos en un grupo de Azure Batch cuando no se ejecute ningún otro trabajo en el grupo. Si hay otros trabajos o tareas en ejecución, es posible que el trabajo de clusrun tenga que esperar a que finalicen las tareas en ejecución.
Los trabajos que se ejecutan en un grupo de Azure Batch de forma predeterminada no devuelven la salida de la tarea a HPC Pack, debido al posible impacto en el rendimiento. Puede definir tareas de versión de nodo en el trabajo para recuperar la salida de la tarea si lo desea. Para recuperar la salida de la tarea, cambie la siguiente propiedad de clúster a través de HPC PowerShell:
Set-HpcClusterProperty -GetAzureBatchTaskOutput $true
Paso 6: Detener el grupo
Cuando no use el grupo de Batch, detenga los recursos de Azure. Esto desaprovisiona los nodos de proceso del grupo, lo que reduce los costos de usar un grupo de Batch.
Para detener el grupo
En administración de recursos , en el panel de navegación de , haga clic en nodos o grupos de Azure Batch.
En la vista lista de
o mapa térmico , seleccione uno o varios grupos de Azure Batch que quiera detener.En el panel Acciones de
, haga clic en Detener .Aparece el cuadro de diálogo Detener grupos de Azure Batch. Haga clic en Detener.
Si desea realizar un seguimiento del progreso de detención, seleccione un nodo y, después, en el panel de detalles de , haga clic en la pestaña Registro de aprovisionamiento.
Vea también
Microsoft HPC Pack: de implementación de nodos