Gerenciar um cluster do HPC Pack no Azure usando o Azure Active Directory
O Microsoft HPC Pack 2016 (e versão posterior) dá suporte à integração com Azure AD (Azure Active Directory) para administradores que implantam um cluster HPC Pack no Azure.
Siga as etapas neste artigo para as seguintes tarefas de alto nível:
- Integrar manualmente o cluster do HPC Pack ao locatário do Azure AD
- Gerenciar e agendar trabalhos no cluster do HPC Pack no Azure
A integração de uma solução de cluster do HPC Pack ao Azure AD segue as etapas padrão para integrar outros aplicativos e serviços. Este artigo pressupõe que você esteja familiarizado com o gerenciamento de usuário básico no Azure AD. Para obter mais informações e plano de fundo.
Benefícios da integração
O Azure AD (Azure Active Directory) é um serviço de gerenciamento de identidade e diretório baseado em nuvem multilocatário que fornece acesso de SSO (logon único) a soluções de nuvem.
A integração de um cluster do HPC Pack ao Azure AD pode ajudá-lo a alcançar as seguintes metas:
- Remova o controlador de domínio do Active Directory tradicional do cluster do HPC Pack. Isso pode ajudar a reduzir os custos de manutenção do cluster se isso não for necessário para sua empresa e acelerar o processo de implantação.
- Aproveite os seguintes benefícios trazidos pelo Azure AD:
Logon único
Usando uma identidade do AD local para o cluster do HPC Pack no Azure
Pré-requisitos
cluster HPC Pack 2016 implantado em máquinas virtuais do Azure – Para obter etapas, consulte Implantar um cluster HPC Pack 2016 no Azure. Você precisa do nome DNS do nó principal e das credenciais de um administrador de cluster para concluir as etapas neste artigo.
Observação
Não há suporte para a integração do Azure Active Directory em versões do HPC Pack antes do HPC Pack 2016.
computador cliente – você precisa de um computador cliente windows ou Windows Server para executar utilitários de cliente do HPC Pack. Se você quiser usar apenas o portal da Web do HPC Pack ou a API REST para enviar trabalhos, poderá usar qualquer computador cliente de sua escolha.
utilitários de cliente do HPC Pack – instale os utilitários de cliente do HPC Pack no computador cliente, usando o pacote de instalação gratuito disponível no Centro de Download da Microsoft.
Etapa 1: registrar o servidor de cluster HPC com seu locatário do Azure AD
Entre no portal do Azure.
Se sua conta fornecer acesso a mais de um locatário do Azure AD, clique em sua conta no canto superior direito. Em seguida, defina a sessão do portal como o locatário desejado. Você deve ter permissão para acessar recursos no diretório.
Clique do Azure Active Directory no painel de navegação dos Serviços à esquerda, clique em Usuários e grupose verifique se há contas de usuário já criadas ou configuradas.
No do Azure Active Directory, clique em Registros de aplicativo>Novo registro de aplicativo. Insira as seguintes informações:
- Name – HPCPackClusterServer
- tipo de aplicativo – Selecione aplicativo Web/ de API
-
url de logon– A URL base do exemplo, que é por padrão
https://hpcserver
- Clique em Criar.
Depois que o aplicativo for adicionado, selecione-o na lista registros de aplicativo. Em seguida, clique em Configurações>Propriedades. Insira as seguintes informações:
- Selecione
Sim paraMultilocatários. - Altere de URI da ID do Aplicativo para
https://<Directory_name>/<application_name>
. Substitua<Directory_name
> pelo nome completo do locatário do Azure AD, por exemplo,hpclocal.onmicrosoft.com
e substitua<application_name>
pelo nome escolhido anteriormente, por exemplo,HPCPackClusterServer
.
- Selecione
Clique em Save (Salvar). Ao salvar concluído, na página do aplicativo, clique em Manifesto. Edite o manifesto localizando a configuração de
appRoles
e adicionando a seguinte função de aplicativo e clique em Salvar:"appRoles": [ { "allowedMemberTypes": [ "User", "Application" ], "displayName": "HpcAdminMirror", "id": "61e10148-16a8-432a-b86d-ef620c3e48ef", "isEnabled": true, "description": "HpcAdminMirror", "value": "HpcAdminMirror" }, { "allowedMemberTypes": [ "User", "Application" ], "description": "HpcUsers", "displayName": "HpcUsers", "id": "91e10148-16a8-432a-b86d-ef620c3e48ef", "isEnabled": true, "value": "HpcUsers" } ],
Em do Azure Active Directory, clique em aplicativos Empresariais>Todos os aplicativos. Selecione HPCPackClusterServer na lista.
Clique Propriedadese altere atribuição de usuário necessária para Sim. Clique em Save (Salvar).
Clique em Usuários e grupos>Adicionarde usuário. Selecione um usuário e selecione uma função e clique em Atribuir. Atribua uma das funções disponíveis (HpcUsers ou HpcAdminMirror) ao usuário. Repita esta etapa com usuários adicionais no diretório. Para obter informações em segundo plano sobre usuários de cluster, consulte Gerenciando usuários de cluster.
Etapa 2: registrar o cliente de cluster HPC com seu locatário do Azure AD
Entre no portal do Azure.
Se sua conta fornecer acesso a mais de um locatário do Azure AD, clique em sua conta no canto superior direito. Em seguida, defina a sessão do portal como o locatário desejado. Você deve ter permissão para acessar recursos no diretório.
No do Azure Active Directory, clique em Registros de aplicativo>Novo registro de aplicativo. Insira as seguintes informações:
- Name – HPCPackClusterClient
- Tipo de aplicativo – Selecione Native
de URI de Redirecionamento - Clique em Criar.
Depois que o aplicativo for adicionado, selecione-o na lista registros de aplicativo. Copie o valor da ID do aplicativo e salve-o. Você precisará disso mais tarde ao configurar seu aplicativo.
Clique em configurações>permissões necessárias>Adicionar>Selecionar umde API. Pesquise e selecione o aplicativo HpcPackClusterServer (criado na Etapa 1).
Na página Habilitar Acesso, selecione Acessar O HpcClusterServer. Em seguida, clique em Concluído.
Etapa 3: Configurar o cluster HPC
Conecte-se ao nó principal do HPC Pack 2016 no Azure.
Inicie o HPC PowerShell.
Execute o seguinte comando:
Set-HpcClusterRegistry -SupportAAD true -AADInstance https://login.microsoftonline.com/ -AADAppName HpcPackClusterServer -AADTenant <your AAD tenant name> -AADClientAppId <client ID> -AADClientAppRedirectUri https://hpcclient
em que
-
AADTenant
especifica o nome do locatário do Azure AD, comohpclocal.onmicrosoft.com
-
AADClientAppId
especifica a ID do aplicativo para o aplicativo criado na Etapa 2.
-
Siga um destes procedimentos, dependendo da configuração do nó principal:
Em um cluster HPC Pack de nó de cabeçalho, reinicie o serviço HpcScheduler.
Em um cluster HPC Pack com vários nós de cabeçalho, execute os seguintes comandos do PowerShell no nó principal para reiniciar o serviço de HpcSchedulerStateful:
Connect-ServiceFabricCluster Move-ServiceFabricPrimaryReplica –ServiceName "fabric:/HpcApplication/SchedulerStatefulService"
Etapa 4: Gerenciar e enviar trabalhos do cliente
Para instalar os utilitários de cliente do HPC Pack em seu computador, baixe os arquivos de instalação do HPC Pack 2016 (instalação completa) do Centro de Download da Microsoft. Ao iniciar a instalação, escolha a opção de instalação para os utilitários de cliente do HPC Pack.
Para preparar o computador cliente, instale o certificado usado durante configuração do cluster HPC no computador cliente. Use procedimentos padrão de gerenciamento de certificados do Windows para instalar o certificado público nos Certificados – Usuário atual>repositório autoridades de certificação raiz confiáveis.
Dica
Durante a configuração do cliente, talvez seja necessário escolher a validação CN se o certificado CN não corresponder à url do agendador". Você também pode escolher "ignorar a verificação de AUTORIDADE e CN" para não precisar importar o certificado no computador cliente.
de verificação de AC e CN
Agora você pode executar os comandos do HPC Pack ou usar a GUI do Gerenciador de Trabalhos do HPC Pack para enviar e gerenciar trabalhos de cluster usando a conta do Azure AD. Para obter opções de envio de trabalho, consulte Enviar trabalhos de HPC para um cluster do HPC Pack no Azure.
Observação
Quando você tenta se conectar ao cluster do HPC Pack no Azure pela primeira vez, uma janela pop-up é exibida. Insira suas credenciais do Azure AD para fazer logon. Em seguida, o token é armazenado em cache. As conexões posteriores com o cluster no Azure usarão o token armazenado em cache, a menos que a autenticação seja alterada ou o cache seja limpo.
Por exemplo, depois de concluir as etapas anteriores, você pode consultar trabalhos de um cliente local da seguinte maneira:
Get-HpcJob –State All –Scheduler https://<Azure load balancer DNS name> -Owner <Azure AD account>
Cmdlets úteis para envio de trabalho com integração do Azure AD
Gerenciar o cache de token local
O HPC Pack 2016 fornece os seguintes cmdlets do HPC PowerShell para gerenciar o cache de token local. Esses cmdlets são úteis para enviar trabalhos de forma não interativa. Consulte o seguinte exemplo:
Remove-HpcTokenCache
$SecurePassword = "<password>" | ConvertTo-SecureString -AsPlainText -Force
Set-HpcTokenCache -UserName <AADUsername> -Password $SecurePassword -scheduler https://<Azure load balancer DNS name>
Definir as credenciais para enviar trabalhos usando a conta do Azure AD
Às vezes, talvez você queira executar o trabalho no usuário do cluster HPC (para um cluster HPC ingressado no domínio, executado como um usuário de domínio; para um cluster HPC não ingressado no domínio, é executado como um usuário local definido em todos os nós principais).
Use os seguintes comandos para definir as credenciais:
$localUser = "<username>" $localUserPassword="<password>" $secpasswd = ConvertTo-SecureString $localUserPassword -AsPlainText -Force $mycreds = New-Object System.Management.Automation.PSCredential ($localUser, $secpasswd) Set-HpcJobCredential -Credential $mycreds -Scheduler https://<Azure load balancer DNS name>
Em seguida, envie o trabalho da seguinte maneira. O trabalho/tarefa é executado em $localUser nos nós de computação.
$emptycreds = New-Object System.Management.Automation.PSCredential ($localUser, (new-object System.Security.SecureString)) ... $job = New-HpcJob –Scheduler https://<Azure load balancer DNS name> Add-HpcTask -Job $job -CommandLine "ping localhost" -Scheduler https://<Azure load balancer DNS name> Submit-HpcJob -Job $job -Scheduler https://<Azure load balancer DNS name> -Credential $emptycreds
Se
–Credential
não for especificado comSubmit-HpcJob
, o trabalho ou tarefa será executado em um usuário mapeado local como a conta do Azure AD. (O cluster HPC cria um usuário local com o mesmo nome da conta do Azure AD para executar a tarefa.)A partir do HPC Pack 2016 Atualização 2, você não precisa definir dados estendidos para credencial, pois a chave de confiança mútua será gerada automaticamente para que o usuário execute o trabalho MPI de nó cruzado. No entanto, se você ainda estiver usando a versão anterior, poderá definir dados estendidos para a conta do Azure AD como abaixo:
Definir dados estendidos para a própria conta do Azure AD
Set-HpcJobCredential -Scheduler https://<Azure load balancer DNS name> -ExtendedData <data> -AadUser
Definir dados estendidos e executar como usuário do cluster HPC
Set-HpcJobCredential -Credential $mycreds -Scheduler https://<Azure load balancer DNS name> -ExtendedData <data>