Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico contém informações sobre como estender o cluster do HPC Pack para incluir pools do Lote do Azure como recursos de computação. Usando esses pools do Lote do Azure, você pode aumentar ("intermitência") a capacidade do cluster HPC sob demanda. Consulte a documentação Azure.com para obter mais informações sobre o serviço do Lote do Azure.
Neste tópico:
Pré-requisitos
Cluster HPC Pack – Você deve criar e configurar pelo menos o nó principal de um cluster. O recurso de intermitência para Lote está disponível a partir do HPC Pack 2012 R2 Atualização 3.
Assinatura do Azure – Se você ainda não tiver uma assinatura, inscreva-se para uma avaliação gratuita, use os benefícios do assinante do MSDN ou explore outras opções de compra.
Etapa 1: Criar conta do Lote do Azure
Conta do Lote do Azure– Consulte Criar e gerenciar uma conta do Lote do Azure para criar uma conta do Lote no portal do Azure. Você precisará das seguintes informações de conta (disponíveis no portal) para acessar o Lote do HPC Pack 2012 R2 Atualização 3.
Nome da conta do lote
URL da conta do Lote
Chave da conta do Lote
No HPC Pack 2016 Atualização 1 em diante, talvez seja necessário que as seguintes informações da conta intermitam para o Lote do HPC Pack de acordo com os diferentes modos de alocação de recursos do Lote do Azure (Serviço em Lote ou Assinatura de Usuário) e métodos de autenticação do cliente (Chave de Acesso em Lote ou Azure AD):
- Serivce do Lote com Chave de Acesso
- Nome da conta do lote
- URL da conta do Lote
- Chave da conta do Lote
- Serviço do Lote ou Assinatura de Usuário com o Azure AD
- Instância do AAD do Lote
- ID do locatário do AAD do Lote
- ID do ClientApp do AAD do Lote
- Chave clientApp do AAD do Lote
- Nome da conta do lote
- URL da conta do Lote
Verifique a tabela a seguir para decidir qual tipo de conta do Lote e o método de autenticação escolher. Você também pode verificar este blog e este documento para entender mais sobre o modo de alocação do pool de assinaturas de usuário e como usar a autenticação do Azure AD para o serviço do Lote do Azure.
| Tipo de conta/modo de alocação de pool | Métodos de autenticação | Tipos de imagem de VM | VM de baixa prioridade | VNet |
|---|---|---|---|---|
| Serviço de lote | Chave de Acesso/Azure AD | PaaS/IaaS (MarketPlaceImage) / IaaS (CustomImage via Azure AD) | Sim | Sim (via Azure AD) |
| Assinatura do usuário | Azure AD | IaaS (MarketPlaceImage)/ IaaS (CustomImage) | Não | Sim |
Use a CLI do Azure para criar uma conta do Lote com o modo de alocação do Pool de Serviços em Lote e use a Chave de Acesso em Lote para autenticação como abaixo:
# 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
Usar a CLI do Azure para criar uma conta do Lote com o modo de alocação do pool de Assinatura de Usuário
# 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 o Azure AD para autenticação em Lote e obter informações do AAD do Lote
- Obter a instância do AAD do Lote. Se estiver usando o Azure Cloud global, a instância do AAD será
https://login.microsoftonline.com/. - Obtenha a ID do locatário do AAD do Lote. No portal do Azure, clique em Mais Serviços, pesquise e escolha O Azure Active Directory, selecione seu Active Directory selecionando sua conta no canto superior direito da página e clique em Propriedades. Copie o valor guid fornecido para a ID do diretório. Esse valor também é chamado de ID do locatário.
- Registre o aplicativo cliente do Lote e obtenha a ID do ClientApp do AAD do Lote.
- No portal do Azure, escolha seu locatário do Azure AD selecionando sua conta no canto superior direito da página. - Escolha Mais serviços, pesquise e escolha Registros de Aplicativo. - Clique em +Novo registro de aplicativo. - Preencha o Nome, escolha aplicativo Web/API como tipo de aplicativo e preencha um valor específico para seu aplicativo, por exemplo, https://myAppName para o URI de Logon. Clique em Criar. - Depois que o aplicativo for criado com êxito, selecione o aplicativo na lista de Registros de Aplicativo e clique em Propriedades. Copie o valor guid fornecido para a ID do aplicativo, ele será usado como ID do ClientApp do AAD do Lote.
- Configure para usar uma entidade de serviço para autenticação e obtenha a chave ClientApp do AAD do Lote.
- Solicite uma chave secreta para o aplicativo. Selecione o aplicativo criado na lista de Registros de Aplicativo e clique em Chaves, digite a descrição da chave e escolha Duração e clique em Salvar. Copie o valor exibido que será usado como Chave clientApp do AAD do Lote. - Atribua uma função RBAC ao aplicativo para autenticar com uma entidade de serviço. Escolha Mais serviços, pesquise e escolha contas do Lote, clique na conta do lote criada e selecione Controle de Acesso (IAM). Clique em +ADICIONAR, selecione Função de Colaborador e o aplicativo registrado. Clique em Salvar.
Observação
Observe que a autenticação do Azure AD tem suporte no modo de Serviço do Lote e no modo de Assinatura do Usuário das contas do Lote.
Importante: depois de configurar o Azure AD para autenticação em Lote com as seguintes informações do AAD do Lote obtidas, abra o Gerenciador de Cluster do HPC, em Configuração --> Lista de Tarefas Pendentes de Implantação, clique em Definir Configuração do Lote do Azure para preencher as informações de acordo com o formulário e clique em OK. Essa etapa é necessária ao usar o Azure AD para autenticação em Lote no HPC Pack.
- Instância do AAD do Lote
- ID do locatário do AAD do Lote
- ID do ClientApp do AAD do Lote
- Chave clientApp do AAD do Lote
Como alternativa, você pode usar o cmdlet HPC Powershell para definir informações do AAD do Lote, conforme mostrado abaixo:
# HPC PowerShell
Set-HpcClusterRegistry -BatchAADInstance '<AAD Instance e.g. https://login.microsoftonline.com/>' -BatchAADTenantId <TenantGUID> -BatchAADClientAppId <AppGUID> -BatchAADClientAppKey '<AppKey>'
Etapa 2: Criar um modelo de pool do Lote do Azure
Para criar um modelo de pool do Lote do Azure, use o Assistente para Criar Modelo de Nó no Gerenciador de Cluster do HPC.
Para criar um modelo de pool do Lote
Inicie o Gerenciador de Cluster do HPC.
Em Configuração, no Painel de Navegação, clique em Modelos de Nó.
No painel Ações , clique em Novo.
O Assistente para Criar Modelo de Nó é exibido.Na página Escolher Tipo de Modelo de Nó , clique no modelo de pool do Lote do Azure e clique em Avançar.
Na página Especificar Nome do Modelo, digite um nome para o modelo de nó e, opcionalmente, digite uma descrição para ele. Clique em Próximo.
Na página Fornecer informações da conta do Lote do Azure , preencha o nome da conta do Lote. Se o tipo de conta do Lote for Serviço em Lote, escolha BatchService como tipo de conta do Lote. Se estiver usando a Chave de Acesso em Lote para autenticação, preencha a chave como Chave de Conta, se estiver usando a autenticação do Azure AD, basta deixá-la em branco. Se o tipo de conta do Lote for Assinatura de Usuário, escolha UserSubscription como tipo de conta do Lote. Preencha a URL da conta do Lote e a Cadeia de Conexão de Armazenamento do Azure obtida anteriormente e clique em Avançar.
Observação
quando a autenticação do AAD for necessária, verifique se a Instância do AAD do Lote, a ID do Locatário do AAD do Lote, a ID do ClientApp do AAD do Lote e a Chave do ClientApp do AAD do Lote já estão definidas na Lista de Tarefas Pendentes de Implantação ou se a validação da conta falhará com o erro "Conta inválida do Lote do Azure. Verifique as configurações da conta do Lote do Azure." ao clicar em Avançar.
Na página de configuração de Dimensionamento Automático do Lote do Azure , deixe Habilitar Dimensionamento Automático desmarcado e clique em Avançar.
Na página Configurar Credenciais de Área de Trabalho Remota e SSH , opcionalmente forneça as credenciais de um usuário que será criado em nós de computação do pool do Lote do Azure durante a implantação. Você pode usar as credenciais posteriormente para se conectar aos nós de computação do pool. Para nós do Linux, você também pode especificar Chave Pública SSH e Arquivo de Chave Privada SSH(.ppk) para SSH para o nó por meio deputty.exe. Veja aqui como gerar uma chave pública e um arquivo de chave privada para PuTTY. Observe que se você especificar a senha e as chaves SSH, as chaves SSH serão usadas para a conexão. Você também precisa copiar o arquivo de chave privada gerado (.ppk) para %CCP_HOME%Bin pasta para abrir o SSH para os nós do HPC Cluster Manager. Clique em Avançar.
Na página Especificar Script de Inicialização , com o HPC Pack 2012 R2 Atualização 3, opcionalmente especifique uma tarefa inicial do Lote do Azure.
- Linha de Comando – o comando executado quando os nós de computação do Lote do Azure são iniciados
- URL de Origem do Blob – local de armazenamento do Azure dos arquivos carregados anteriormente e que serão baixados automaticamente para nós de computação do Lote do Azure
-
Caminho do Arquivo Local – o local para baixar os arquivos nos nós de computação do Lote do Azure
No HPC Pack 2016 Atualização 1 ou versão posterior, opcionalmente especifique uma linha de comando ou o nome de um script de inicialização a ser executado em todos os nós de computação do Lote do Azure no pool do Lote. Atualmente, o script de inicialização só tem suporte para nós do Linux. Por exemplo, se você quiser executar um script chamado startup.sh em todos os nós do Linux em um pool do Lote quando eles forem iniciados, será necessário usar a ferramenta de linha de comando HpcPack.exe para fechar e carregar o script na conta de armazenamento do Azure, como abaixo, e especificar startup.sh na Linha de Comando:
HpcPack.exe create startup.sh.zip startup.sh HpcPack.exe upload startup.sh.zip /account:<StorageAccountName> /key:<StorageAccountKey>Clique em Avançar e examine todas as configurações de modelo especificadas. Clique em Criar para gerar o modelo de nó do pool do Lote do Azure.
Etapa 3: Adicionar um pool do Lote do Azure
Use o Assistente para Adicionar Nó no Gerenciador de Cluster do HPC para adicionar os nós de computação do pool do Lote.
Para adicionar um pool do Lote do Azure
No Gerenciador de Cluster do HPC, no Gerenciamento de Recursos, no painel Ações , clique em Adicionar Nó. O Assistente para Adicionar Nó é exibido.
Na página Selecionar Método de Implantação , clique em Adicionar pool do Lote do Azure e clique em Avançar.
Na página Especificar Informações do Pool do Lote do Azure , selecione um modelo de pool do Lote do Azure. De acordo com o tipo de conta do Lote no modelo selecionado, especifique as informações do pool da seguinte maneira:
Se o tipo de conta do Lote for Serviço em Lote,- Número de nós de computação – o número de nós de computação (instâncias de máquina virtual) no novo pool do Lote do Azure
- Se as máquinas virtuais são VM dedicada ou VM de baixa prioridade
- Escolha o tipo de imagem para PaaS ou IaaSMarketPlace. Para PaaS, escolha a Família do sistema operacional. Por exemplo, Windows Server 2016. Para IaaSMarketPlace, escolha Publisher, Offer e Sku. Por exemplo, Canonical, UbuntuServer, 16.04-LTS.
- Tamanho dos Nós de Computação – o tamanho da função de cada nó de computação.
- Máximo de tarefas por nó de computação – o número máximo de tarefas simultâneas a serem executadas em cada nó de computação. O número padrão é igual ao número de núcleos no tamanho da função selecionada. O número máximo é três vezes maior que o número real de núcleos. Observe que as tarefas máximas por nó de computação multiplicadas pelo número de nós de computação são iguais aos núcleos totais do nó do pool do Lote.
- Pacotes de aplicativos – opcionalmente, especifique os pacotes de aplicativos que já foram adicionados na conta do Lote no formato Id<>:<Version>,< Id>:<Version>, ... Se o tipo de conta do Lote for Assinatura de Usuário,
- Número de nós de computação – (como acima)
- Escolha o tipo de imagem para IaaSMarketPlace ou IaaSCustomImage. Para IaaSMarketPlace, escolha Publisher, Offer e Sku. Por exemplo, Canonical, UbuntuServer, 16.04-LTS. Para IaaSCustomImage, além de Publisher, Offer e Sku, a ID de Recurso de Imagem Personalizada também é necessária no formato /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}
- Tamanho dos nós de computação – (como acima)
- Máximo de tarefas por nó de computação – (como acima)
- Pacotes de aplicativos – (como acima)
- VNet – opcionalmente, especifique a ID da sub-rede para o pool do Lote. Consulte este documento para saber como criar uma VNet e sub-rede personalizadas e obter a ID da sub-rede. Verifique também os requisitos do Lote para uma VNet personalizada especificada neste documento.
Observação
Consulte este documento para saber como capturar a imagem de uma VM do Linux e obter a ID do Recurso de Imagem. Para uma imagem de VM personalizada ou uma VNet personalizada (veja abaixo), é necessário atribuir explicitamente a função colaborador do aplicativo cliente do Lote ao recurso por meio de seu controle de acesso (IAM). Ou a falha de 'BadRequest' pode acontecer ao iniciar o pool do Lote.
Etapa 4: Iniciar o pool
Você precisa iniciar o pool antes de executar trabalhos nele.
Para iniciar um pool do Lote do Azure
No Gerenciamento de Recursos, no Painel de Navegação, clique em Nós ou pools do Lote do Azure.
Na exibição Lista ou Mapa de Calor , selecione um ou mais pools do Lote do Azure.
No painel Ações , clique em Iniciar.
A caixa de diálogo Iniciar Pools do Lote do Azure é exibida. Clique em Iniciar.
O estado dos nós muda de Não Implantado para Provisionamento.
Se você quiser acompanhar o progresso do provisionamento, selecione o pool e, no Painel de Detalhes, clique na guia Log de Provisionamento . O pool do Lote do Azure deve ser criado em menos de 1 minuto e o estado é alterado para Offline.
Considerações adicionais
Monitorar o status dos nós de computação do Lote do Azure. Depois que o pool do Lote do Azure estiver pronto, os nós de computação do Lote do Azure ainda estarão sendo criados e iniciados. Para monitorar o status do nó, selecione o pool e, em seguida, no Painel de Detalhes, clique em Nós de Computação do Lote do Azure.
Área de Trabalho Remota ou SSH para nós de computação – depois que os nós de computação no pool do Lote do Azure forem iniciados (o estado do nó está ocioso), você poderá se conectar por Área de Trabalho Remota ou SSH a cada nó de computação se tiver configurações de modelo definidas para fazer isso, por exemplo, para executar alguma configuração manual ou solução de problemas. Para fazer isso, selecione um ou mais pools do Lote do Azure e, no painel Ações , clique em Área de Trabalho Remota/SSH. Ao se conectar a nós do Linux via SSH, é necessário copiar o arquivo de chave privada gerado (.ppk) para a pasta %CCP_HOME%Bin no computador cliente.
Exibir tarefas de inicialização – se você especificou uma tarefa de inicialização no modelo de pool do Lote do Azure, depois que o pool do Lote do Azure for iniciado, você poderá exibir a saída detalhada da tarefa de inicialização executando o seguinte cmdlet do HPC PowerShell:
Get-HpcBatchPoolStartTask -Name <PoolName>Exibição do mapa de calor – enquanto o pool do Lote do Azure está em execução, exiba o mapa de calor do pool. No Gerenciamento de Recursos no painel de navegação, clique em Nós e, em seguida, escolha o modo de exibição Mapa de Calor . Você também pode verificar o mapa de calor por VM para nós do Linux no pool. No Gerenciamento de Recursos no painel de navegação, clique em Pools do Lote do Azure e escolha o modo de exibição Mapa de Calor . Atualmente, os seguintes contadores de desempenho são coletados:
- Uso da CPU
- Taxa de transferência de disco
- Espaço livre em disco
- Uso de rede
- Memória física disponível
.
Etapa 5: Executar um trabalho no pool
Atualmente, o HPC Pack dá suporte à execução de comandos normais em lote/paramétrico/mpi e clusrun em pools do Lote do Azure. Observe as seguintes recomendações para usar o clusrun com o Lote:
Execute trabalhos em clustersrun em um pool do Lote do Azure quando nenhum outro trabalho em execução no pool. Se houver outros trabalhos ou tarefas em execução, talvez seja necessário aguardar a conclusão das tarefas em execução.
Trabalhos em execução em um pool do Lote do Azure por padrão não retornam a saída da tarefa para o HPC Pack devido ao potencial impacto no desempenho. Você pode definir tarefas de versão do nó no trabalho para recuperar a saída da tarefa, se desejar. Para recuperar a saída da tarefa, altere a seguinte propriedade de cluster por meio do HPC PowerShell:
Set-HpcClusterProperty -GetAzureBatchTaskOutput $true
Etapa 6: Parar o pool
Quando você não estiver usando o pool do Lote, interrompa os recursos do Azure. Isso desprovisiona os nós de computação do pool, reduzindo os custos do uso de um pool do Lote.
Para interromper o pool
No Gerenciamento de Recursos, no Painel de Navegação, clique em Nós ou pools do Lote do Azure.
No modo de exibição Lista ou Mapa de Calor , selecione um ou mais pools do Lote do Azure que você deseja parar.
No painel Ações , clique em Parar.
A caixa de diálogo Parar Pools do Lote do Azure é exibida. Clique em Parar.
Se você quiser acompanhar o progresso da parada, selecione um nó e, em seguida, no Painel de Detalhes, clique na guia Log de Provisionamento .