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.
Esta documentação descreve como implantar e executar serviços HPC SOA em um cluster HPC Pack híbrido que contém nós de computação locais e nós de computação iaaS do Azure.
Pré-requisito
Uma assinatura do Azure.
Uma conexão VPN site a site ou ExpressRoute da rede local para a rede virtual do Azure.
Implantar um cluster HPC Pack híbrido
Para implantar um cluster HPC Pack híbrido, você pode aproveitar o recurso de Intermitência de IaaS do HPC Pack 2016 Atualização 1. Consulte o Burst para a VM iaaS do Azure de um Cluster do HPC Pack para obter informações detalhadas.
Implantar serviços HPC SOA em um cluster HPC Pack híbrido
Nós de computação iaaS são ingressados no domínio
Se os nós de computação de IaaS forem ingressados no domínio, o cluster se comportará como um cluster de HPC Pack local. Consulte nossa série de tutoriais para obter mais informações sobre o HPC SOA.
Nós de computação iaaS não são ingressados no domínio
Se os nós de computação iaaS forem nós de computação não ingressados no domínio, a maneira de implantar um novo serviço HPC SOA será ligeiramente diferente.
Implantar um novo serviço HPC SOA
Implantar binários de serviço
Ao implantar um novo serviço HPC SOA em um Cluster HPC Pack híbrido que contém nós de computação IaaS ingressados no domínio, os binários de serviço precisam ser colocados na pasta local de cada nós de computação. (por exemplo ,C:\Services\Sample.dll)
Alterar configurações no arquivo de registro de serviço
Alterar o caminho do assembly para o arquivo local em cada nó de computação
<microsoft.Hpc.Session.ServiceRegistration> <!--Change assembly path below--> <service assembly="C:\Services\Sample.dll" /> </microsoft.Hpc.Session.ServiceRegistration>Como a identidade de domínio não está disponível em nós de computação não ingressados no domínio, precisamos definir o modo de segurança entre nós do agente e nós de computação como
None. Adicione a seção a seguir ao arquivo de registro de serviço ou altere o existente:<system.serviceModel> <bindings> <netTcpBinding> <!--binding used by broker's backend--> <binding name="Microsoft.Hpc.BackEndBinding" maxConnections="1000"> <!--for non domain joined compute nodes, the security mode should be None--> <security mode="None"/> </binding> </netTcpBinding> </bindings> </system.serviceModel>
Implantar o arquivo de registro de serviço
Há duas maneiras de implantar o arquivo de registro de serviço do novo serviço SOA
Implantar o arquivo de registro de serviço na pasta local de todos os nós de cluster
Para implantar o arquivo de registro de serviço usando essa maneira, precisamos criar uma pasta de registro de serviço local em cada nó (por exemplo , C:\ServiceRegistration) e adicioná-la ao ambiente do cluster do
CCP_SERVICEREGISTRATION_PATHHPC Pack.O ambiente do cluster pode ser buscado no nó principal usando o comando
cluscfg listenvse fornecerá uma saída como:C:\Windows\system32>cluscfg listenvs CCP_SERVICEREGISTRATION_PATH=CCP_REGISTRATION_STORE;\\<headnode>\HpcServiceRegistration HPC_RUNTIMESHARE=\\<headnode>\Runtime$ CCP_MPI_NETMASK=10.0.0.0/255.255.252.0 CCP_CLUSTER_NAME=<headnode>Para configurar o ambiente, use um comando
cluscfg setenvscomocluscfg setenvs CCP_SERVICEREGISTRATION_PATH=CCP_REGISTRATION_STORE;\\<headnode>\HpcServiceRegistration;C:\ServiceRegistrationEm seguida, copie o arquivo de registro de serviço para a pasta local recém-criada (por exemplo,C:\ServiceRegistration\Sample.config)
Mais informações
cluscfgpodem ser encontradas na documentação do cluscfg.Mais informações sobre como criar e implantar um novo serviço SOA podem ser encontradas no Tutorial SOA do HPC Pack I – Escrever seu primeiro serviço SOA e cliente.
Implantar o arquivo de registro de serviço usando o recurso de arquivo de configuração de HA
No HPC Pack Update 1, adicionamos o recurso de arquivo de configuração de HA para ajudar a implantar arquivos de registro de serviço em clusters de HA e em clusters com nós de computação não ingressados no domínio.
Para usar esse recurso, verifique se
CCP_REGISTRATION_STOREestá definido noCCP_SERVICEREGISTRATION_PATHambiente do cluster. Verifique o resultado decluscfg listenvs, ele deve conterCCP_SERVICEREGISTRATION_PATH=CCP_REGISTRATION_STORE;\\<headnode>\HpcServiceRegistrationSe o valor
CCP_REGISTRATION_STOREestiver ausente, defina o comandocluscfg setenvsuse comocluscfg setenvs CCP_SERVICEREGISTRATION_PATH=CCP_REGISTRATION_STORE;\\<headnode>\HpcServiceRegistrationPara adicionar um arquivo de configuração de HA, no Gerenciador de Cluster do HPC Pack 2016, vá para o painel Configuração –> Serviços, clique em Importar Arquivo de Configuração De Alta Disponibilidade... no painel De ação. Em seguida, selecione o arquivo de configuração de HA a ser importado.
Depois de importada, uma nova entrada de serviço será exibida no painel Serviços com Alta Disponibilidade definida como True.
Usando dados comuns
No HPC Pack 2016 Atualização 2, nós de computação não ingressados no domínio podem ler dados comuns soa do Armazenamento de Blobs do Azure diretamente sem acessar o compartilhamento HPC Runtime que geralmente está localizado no nó principal. Isso habilita as cargas de trabalho SOA em um Cluster HPC Pack híbrido com recurso de computação provisionado no Azure.
Configurar o cluster do HPC Pack
Para habilitar esse recurso, uma cadeia de conexão de armazenamento do Azure precisa ser configurada no Cluster HPC. No Gerenciador de Cluster do HPC Pack 2016, localize Definir cadeia de conexão de armazenamento do Microsoft Azure em Configuração –> Lista de Tarefas Pendentes de Implantação e preencha a cadeia de conexão correta.
Alterar o código do serviço SOA
Se o serviço chamar
ServiceContext.GetDataClientpara obter uma referência de antes, nenhuma alteração deDataClientcódigo será necessária.Em vez disso, se o serviço usar explicitamente, você precisará alterar a chamada para uma nova API se o serviço estiver em execução em um nó não ingressado
DataClient.Openno domínio. Aqui está o exemplo dele.// Get Job ID from environment variable string jobIdEnvVar = Environment.GetEnvironmentVariable(Microsoft.Hpc.Scheduler.Session.Internal.Constant.JobIDEnvVar); if (!int.TryParse(jobIdEnvVar, out int jobId)) { throw new InvalidOperationException($"jobIdEnvVar is invalid:{jobIdEnvVar}"); } // Get Job Secret from environment variable string jobSecretEnvVar = Environment.GetEnvironmentVariable(Microsoft.Hpc.Scheduler.Session.Internal.Constant.JobSecretEnvVar); return DataClient.Open(dataClientId, jobId, jobSecretEnvVar);
Mais informações cluscfg podem ser encontradas na documentação do cluscfg.
Para ler mais sobre cadeias de conexão de armazenamento do Azure, consulte Configurar cadeias de conexão do Armazenamento do Azure.
Para ler mais sobre os Dados Comuns do HPC SOA, consulte o Tutorial IV do SOA do HPC Pack – Dados Comuns.