Distribuire un cluster HPC Pack 2016 in Azure

Seguire i passaggi descritti in questo articolo per distribuire un cluster Microsoft HPC Pack 2016 nelle macchine virtuali di Azure. 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.

Usare uno dei modelli di Azure Resource Manager per distribuire il cluster HPC Pack 2016. È possibile scegliere tra diverse topologie di cluster con numeri differenti di nodi head del cluster e con nodi di calcolo Linux o Windows.

Prerequisiti

Certificato PFX

Un cluster Microsoft HPC Pack 2016 richiede un certificato PFX (scambio di informazioni personali) per rendere sicura la comunicazione tra i nodi HPC. Il certificato deve soddisfare i requisiti seguenti:

  • Deve avere una chiave privata abilitata per lo scambio di chiave
  • L'uso di chiavi include la firma digitale e la crittografia a chiave
  • L'uso di chiavi avanzato include l'autenticazione client e l'autenticazione server

Se si dispone già di un certificato che soddisfa questi requisiti, è possibile richiedere il certificato a un'autorità di certificazione. 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.

  • Per Windows 10 o Windows Server 2016, eseguire il cmdlet integrato di PowerShell SelfSignedCertificate New nel modo seguente:

    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. Estrarne il contenuto ed eseguire i comandi seguenti al prompt dei comandi di PowerShell:

    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 Azure

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.

Di seguito viene presentato un esempio di script di PowerShell per caricare il certificato. 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.

#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 supportate

Scegliere uno dei modelli di Azure Resource Manager per distribuire il cluster HPC Pack 2016. Di seguito vengono indicate le architetture di alto livello di tre topologie di cluster supportate. Le topologie a disponibilità elevata includono più nodi head del cluster.

  1. Il cluster a disponibilità elevata con dominio di Active Directory

    Il cluster a disponibilità elevata nel dominio AD

  2. Il cluster a disponibilità elevata senza dominio di Active Directory

    Il cluster a disponibilità elevata senza dominio AD

  3. Cluster con un singolo nodo head

    Cluster con nodo head singolo

Distribuire un cluster

Per creare il cluster, scegliere un modello e fare clic su Distribuisci in Azure. Nel portale di Azure specificare i parametri per il modello come descritto nei passaggi seguenti. Ogni modello crea tutte le risorse di Azure necessarie per l'infrastruttura del cluster HPC. 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.

Passaggio 1: Selezionare la sottoscrizione, il percorso e il gruppo di risorse

La sottoscrizione e il percorso devono essere gli stessi specificati quando è stato caricato il certificato PFX (vedere la sezione Prerequisiti). È consigliabile creare un gruppo di risorse per la distribuzione.

Passaggio 2: Specificare le impostazioni dei parametri

Immettere o modificare i valori dei parametri del modello. Per visualizzare le informazioni della Guida, fare clic sull'icona accanto a ciascun parametro. Vedere anche le linee guida per le dimensioni delle macchine virtuali disponibili.

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.

Fare clic su Rivedere le note legali per esaminare le condizioni. Se si accetta, fare clic su Acquista e selezionare Crea per avviare la distribuzione.

Connettersi al cluster

  1. Dopo aver distribuito il cluster HPC Pack, accedere al portale di Azure. Fare clic su Gruppi di risorse e individuare il gruppo di risorse in cui è stato distribuito il cluster. È possibile cercare le macchine virtuali del nodo head.

    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). In Essentials è possibile trovare l'indirizzo IP pubblico o il nome DNS completo del 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. Se il cluster distribuito si trova in un dominio di Active Directory, il nome utente sarà nel formato <adminUsername> (ad esempio, hpc.local\hpcadmin).

Passaggi successivi