Distribuire un cluster HPC Pack 2016 in AzureDeploy an HPC Pack 2016 cluster in Azure

Seguire i passaggi descritti in questo articolo per distribuire un cluster Microsoft HPC Pack 2016 nelle macchine virtuali di Azure.Follow the steps in this article to deploy a Microsoft HPC Pack 2016 cluster in Azure virtual machines. HPC Pack è la soluzione HPC gratuita di Microsoft basata sulle tecnologie di Microsoft Azure e Windows Server e supporta un'ampia gamma di carichi di lavoro di HPC.HPC Pack is Microsoft's free HPC solution built on Microsoft Azure and Windows Server technologies and supports a wide range of HPC workloads.

Usare uno dei modelli di Azure Resource Manager per distribuire il cluster HPC Pack 2016.Use one of the Azure Resource Manager templates to deploy the HPC Pack 2016 cluster. È possibile scegliere tra diverse topologie di cluster con numeri differenti di nodi head del cluster e con nodi di calcolo Linux o Windows.You have several choices of cluster topology with different numbers of cluster head nodes, and with either Linux or Windows compute nodes.

PrerequisitiPrerequisites

Certificato PFXPFX certificate

Un cluster Microsoft HPC Pack 2016 richiede un certificato PFX (scambio di informazioni personali) per rendere sicura la comunicazione tra i nodi HPC.A Microsoft HPC Pack 2016 cluster requires a Personal Information Exchange (PFX) certificate to secure the communication between the HPC nodes. Il certificato deve soddisfare i requisiti seguenti:The certificate must meet the following requirements:

  • Deve avere una chiave privata abilitata per lo scambio di chiaveIt must have a private key capable of key exchange
  • L'uso di chiavi include la firma digitale e la crittografia a chiaveKey usage includes Digital Signature and Key Encipherment
  • L'uso di chiavi avanzato include l'autenticazione client e l'autenticazione serverEnhanced key usage includes Client Authentication and Server Authentication

Se si dispone già di un certificato che soddisfa questi requisiti, è possibile richiedere il certificato a un'autorità di certificazione.If you don’t already have a certificate that meets these requirements, you can request the certificate from a certification authority. In alternativa, è possibile utilizzare i comandi seguenti per generare i certificati autofirmati in base al sistema operativo in cui si esegue il comando ed esportare il certificato di formato PFX con la chiave privata.Alternatively, you can use the following commands to generate the self-signed certificate based on the operating system on which you run the command, and export the PFX format certificate with private key.

  • Per Windows 10 o Windows Server 2016, eseguire il cmdlet integrato di PowerShell SelfSignedCertificate New nel modo seguente:For Windows 10 or Windows Server 2016, run the built-in New-SelfSignedCertificate PowerShell cmdlet as follows:

    New-SelfSignedCertificate -Subject "CN=HPC Pack 2016 Communication" -KeySpec KeyExchange -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2") -CertStoreLocation cert:\CurrentUser\My -KeyExportPolicy Exportable -NotAfter (Get-Date).AddYears(5)
    
  • Per i sistemi operativi meno recenti di Windows 10 o Windows Server 2016, scaricare il generatore di certificati autofirmati da Microsoft Script Center.For operating systems earlier than Windows 10 or Windows Server 2016, download the self-signed certificate generator from the Microsoft Script Center. Estrarne il contenuto ed eseguire i comandi seguenti al prompt dei comandi di PowerShell:Extract its contents and run the following commands at a PowerShell prompt:

    Import-Module -Name c:\ExtractedModule\New-SelfSignedCertificateEx.ps1
    
    New-SelfSignedCertificateEx -Subject "CN=HPC Pack 2016 Communication" -KeySpec Exchange -KeyUsage "DigitalSignature,KeyEncipherment" -EnhancedKeyUsage "Server Authentication","Client Authentication" -StoreLocation CurrentUser -Exportable -NotAfter (Get-Date).AddYears(5)
    

Caricare il certificato nell'insieme di credenziali delle chiavi di AzureUpload certificate to an Azure key vault

Prima di distribuire il cluster HPC, caricare il certificato in un insieme di credenziali delle chiavi di Azure come segreto e registrare le informazioni seguenti per l'uso durante la distribuzione: Nome dell'insieme di credenziali, Gruppo di risorse dell'insieme di credenziali, URL certificato e identificazione personale certificato.Before deploying the HPC cluster, upload the certificate to an Azure key vault as a secret, and record the following information for use during the deployment: Vault name, Vault resource group, Certificate URL, and Certificate thumbprint.

Di seguito viene presentato un esempio di script di PowerShell per caricare il certificato.A sample PowerShell script to upload the certificate follows. Per altre informazioni sul caricamento di un certificato in un insieme di credenziali delle chiavi di Azure, vedere Introduzione all'insieme di credenziali delle chiavi di Azure.For more information about uploading a certificate to an Azure key vault, see Get started with Azure Key Vault.

#Give the following values
$VaultName = "mytestvault"
$SecretName = "hpcpfxcert"
$VaultRG = "myresourcegroup"
$location = "westus"
$PfxFile = "c:\Temp\mytest.pfx"
$Password = "yourpfxkeyprotectionpassword"
#Validate the pfx file
try {
    $pfxCert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList $PfxFile, $Password
}
catch [System.Management.Automation.MethodInvocationException]
{
    throw $_.Exception.InnerException
}
$thumbprint = $pfxCert.Thumbprint
$pfxCert.Dispose()
# Create and encode the JSON object
$pfxContentBytes = Get-Content $PfxFile -Encoding Byte
$pfxContentEncoded = [System.Convert]::ToBase64String($pfxContentBytes)
$jsonObject = @"
{
"data": "$pfxContentEncoded",
"dataType": "pfx",
"password": "$Password"
}
"@
$jsonObjectBytes = [System.Text.Encoding]::UTF8.GetBytes($jsonObject)
$jsonEncoded = [System.Convert]::ToBase64String($jsonObjectBytes)
#Create an Azure key vault and upload the certificate as a secret
$secret = ConvertTo-SecureString -String $jsonEncoded -AsPlainText -Force
$rg = Get-AzureRmResourceGroup -Name $VaultRG -Location $location -ErrorAction SilentlyContinue
if($null -eq $rg)
{
    $rg = New-AzureRmResourceGroup -Name $VaultRG -Location $location
}
$hpcKeyVault = New-AzureRmKeyVault -VaultName $VaultName -ResourceGroupName $VaultRG -Location $location -EnabledForDeployment -EnabledForTemplateDeployment
$hpcSecret = Set-AzureKeyVaultSecret -VaultName $VaultName -Name $SecretName -SecretValue $secret
"The following Information will be used in the deployment template"
"Vault Name             :   $VaultName"
"Vault Resource Group   :   $VaultRG"
"Certificate URL        :   $($hpcSecret.Id)"
"Certificate Thumbprint :   $thumbprint"

Topologie supportateSupported topologies

Scegliere uno dei modelli di Azure Resource Manager per distribuire il cluster HPC Pack 2016.Choose one of the Azure Resource Manager templates to deploy the HPC Pack 2016 cluster. Di seguito vengono indicate le architetture di alto livello di tre topologie di cluster supportate.Following are high-level architectures of three supported cluster topologies. Le topologie a disponibilità elevata includono più nodi head del cluster.High-availability topologies include multiple cluster head nodes.

  1. Il cluster a disponibilità elevata con dominio di Active DirectoryHigh-availability cluster with Active Directory domain

    Il cluster a disponibilità elevata nel dominio AD

  2. Il cluster a disponibilità elevata senza dominio di Active DirectoryHigh-availability cluster without Active Directory domain

    Il cluster a disponibilità elevata senza dominio AD

  3. Cluster con un singolo nodo headCluster with a single head node

    Cluster con nodo head singolo

Distribuire un clusterDeploy a cluster

Per creare il cluster, scegliere un modello e fare clic su Distribuisci in Azure.To create the cluster, choose a template and click Deploy to Azure. Nel portale di Azure specificare i parametri per il modello come descritto nei passaggi seguenti.In the Azure portal, specify parameters for the template as described in the following steps. Ogni modello crea tutte le risorse di Azure necessarie per l'infrastruttura del cluster HPC.Each template creates all Azure resources required for the HPC cluster infrastructure. Le risorse sono: rete virtuale di Azure, indirizzo IP pubblico, bilanciamento del carico (solo per un cluster a disponibilità elevata), interfacce di rete, set di disponibilità, account di archiviazione e macchine virtuali.Resources include an Azure virtual network, public IP address, load balancer (only for a high-availability cluster), network interfaces, availability sets, storage accounts, and virtual machines.

Passaggio 1: Selezionare la sottoscrizione, il percorso e il gruppo di risorseStep 1: Select the subscription, location, and resource group

La sottoscrizione e il percorso devono essere gli stessi specificati quando è stato caricato il certificato PFX (vedere la sezione Prerequisiti).The Subscription and the Location must be same that you specified when you uploaded your PFX certificate (see Prerequisites). È consigliabile creare un gruppo di risorse per la distribuzione.We recommend that you create a Resource group for the deployment.

Passaggio 2: Specificare le impostazioni dei parametriStep 2: Specify the parameter settings

Immettere o modificare i valori dei parametri del modello.Enter or modify values for the template parameters. Per visualizzare le informazioni della Guida, fare clic sull'icona accanto a ciascun parametro.Click the icon next to each parameter for help information. Vedere anche le linee guida per le dimensioni delle macchine virtuali disponibili.Also see the guidance for available VM sizes.

Specificare i valori registrati in Prerequisiti per i parametri seguenti: Nome dell'insieme di credenziali, Gruppo di risorse dell'insieme di credenziali, URL certificato e Identificazione personale certificato.Specify the values you recorded in the Prerequisites for the following parameters: Vault name, Vault resource group, Certificate URL, and Certificate thumbprint.

Fare clic su Rivedere le note legali per esaminare le condizioni.Click Review legal terms to review the terms. Se si accetta, fare clic su Acquista e selezionare Crea per avviare la distribuzione.If you agree, click Purchase, and then click Create to start the deployment.

Connettersi al clusterConnect to the cluster

  1. Dopo aver distribuito il cluster HPC Pack, accedere al portale di Azure.After the HPC Pack cluster is deployed, go to the Azure portal. Fare clic su Gruppi di risorse e individuare il gruppo di risorse in cui è stato distribuito il cluster.Click Resource groups, and find the resource group in which the cluster was deployed. È possibile cercare le macchine virtuali del nodo head.You can find the head node virtual machines.

    Nodi head del cluster nel portale

  2. Fare clic su un nodo head (in un cluster a disponibilità elevata, fare clic su uno qualsiasi dei nodi head).Click one head node (in a high-availability cluster, click any of the head nodes). In Essentials è possibile trovare l'indirizzo IP pubblico o il nome DNS completo del cluster.In Essentials, you can find the public IP address or full DNS name of the cluster.

    Impostazioni di connessione del cluster

  3. Fare clic su Connetti per accedere a uno dei nodi head usando Desktop remoto con il nome utente amministratore specificato.Click Connect to log on to any of the head nodes using Remote Desktop with your specified administrator user name. Se il cluster distribuito si trova in un dominio di Active Directory, il nome utente sarà nel formato <adminUsername> (ad esempio, hpc.local\hpcadmin).If the cluster you deployed is in an Active Directory Domain, the user name is of the form <adminUsername> (for example, hpc.local\hpcadmin).

Passaggi successiviNext steps