從 HPC Pack 叢集高載至 Azure IaaS VM
使用 Microsoft HPC Pack 新增 Azure IaaS 計算節點的需求
本節說明將 Azure IaaS 計算節點新增至 HPC 叢集的需求。
支援的Microsoft HPC Pack 叢集版本
若要在 HPC Pack 叢集上部署 Azure IaaS 計算節點,您必須執行Microsoft HPC Pack 2016 Update 1 或更新版本。
如果您想要在 Azure 中完全建立新的 HPC Pack 叢集,請移至 在 Azure 中部署 HPC Pack 2016 叢集,然後選擇要部署的範本。 否則,您必須先在內部部署環境中建立 HPC Pack 叢集。 如需混合式 HPC Pack 叢集的安裝指示,請參閱下列內容:
Azure 訂用帳戶帳戶帳戶
您必須取得 Azure 訂用帳戶,或被指派為訂用帳戶的擁有者角色。
若要建立 Azure 訂用帳戶,請移至 Azure 網站。
若要存取現有的訂用帳戶,請移至 Azure 入口網站。
注意事項
每個 Azure 訂用帳戶都有一些限制(也稱為配額)。 虛擬機核心具有區域總計限制,以及個別強制執行的區域每個大小數列 (Dv2、F 等) 限制。 您可以移至 Azure 入口網站 來檢查 Azure 訂用帳戶的配額和使用量。 如果您要提高配額,開啟線上客戶支援要求。
網路基礎結構
您必須提供 Azure IaaS 計算節點的 Azure 虛擬網路和子網。
如果您打算在 Azure 中完全建立 HPC Pack 叢集,您必須在單一 Azure 虛擬網路中建立前端節點和 Azure IaaS 計算節點。
不過,如果您打算在內部部署公司網路中建立具有前端節點的混合式 HPC Pack 叢集,並在 Azure 中建立 Azure IaaS 計算節點,您必須設定 站對站 VPN 或 ExpressRoute 從內部部署網路連線到 Azure 虛擬網路。 前端節點也必須能夠透過因特網連線到 Azure 服務。 您可能需要連絡網路管理員以設定此連線。
設定 Azure 虛擬網路的網路安全組
建議為 Azure 虛擬網路子網設定網路安全組。 下列 HPC 埠數據表 列出每個 HPC 節點類型的接聽埠。 如需埠的詳細資訊,請參閱本檔
角色 | 連接埠 | 通訊協定 |
---|---|---|
Linux 計算節點 | 40000, 40002 | TCP |
Windows 計算節點 | 1856, 6729, 6730, 7998, 8677, 9096, 9100-9611, 42323, 42324 | TCP |
Broker 節點 | 9087、9091、9095、80、443 和 Windows 計算節點的埠 | TCP |
前端節點 | 445、5800、5802、5969、5970、5974、5999、7997、9090、9092、9094、9892-9894,以及 Broker Node的埠:1433 for Local Databases;Service Fabric 叢集 10100、10101、10200、10300、10400 | TCP |
前端節點 | 9894 | UDP |
針對 Azure 中具有前端節點的 HPC Pack 叢集
針對完全在 Azure 中的 HPC Pack 叢集,必須設定下列 NSG 規則。
1.輸入安全性規則
默認輸入安全性規則 AllowVNetInBound 允許所有輸入內部虛擬網路流量。 但是,如果您已新增任何規則來拒絕來源 VirtualNetwork 或 優先順序較高的任何 流量,請確定不會拒絕 HPC Port 數據表中列出的埠。
如果您想要透過因特網從內部部署用戶端提交作業,您必須新增下列輸入安全性規則。
名稱 | 連接埠 | 通訊協定 | 來源 | Destination | 動作 |
---|---|---|---|---|---|
AllowHttpsInBound | 443 | TCP | 任何 | 任何 | 允許 |
AllowHpcSoaInbound | 9087,9090,9091,9094 | TCP | 任何 | 任何 | 允許 |
2. OutBound 安全性規則
默認輸出安全性規則 AllowVNetOutBound 允許所有輸出內部虛擬網路流量。 但是,如果您已新增任何規則來拒絕目的地 VirtualNetwork 或 優先順序較高的任何 流量,請確定不會拒絕 HPC Port 數據表中列出的埠。
默認輸出安全性規則 AllowInternetOutBound 允許所有輸出流量 因特網。 但是,如果您已新增任何規則來拒絕目的地 因特網 或 優先順序較高的任何,則必須以較高的優先順序新增下列輸出規則:
名稱 | 連接埠 | 通訊協定 | 來源 | Destination | 動作 |
---|---|---|---|---|---|
AllowKeyVaultOutBound | 任何 | 任何 | VirtualNetwork | AzureKeyVault | 允許 |
AllowAzureCloudOutBound | 任何 | 任何 | VirtualNetwork | AzureCloud | 允許 |
AllowHttpsOutBound | 443 | TCP | VirtualNetwork | 任何 | 允許 |
適用於具有內部部署前端節點的混合式 HPC Pack 叢集
針對具有內部部署前端節點和訊息代理程序節點和 Azure IaaS 計算節點的混合式 HPC Pack 叢集,必須從 Azure IaaS 計算節點的觀點設定下列 NSG 規則。
1.輸入安全性規則
默認輸入安全性規則 AllowVNetInBound 允許所有輸入內部虛擬網路流量。 但是,如果您已新增任何規則來拒絕Source
注意事項
如果您的公司網路與 Azure 虛擬網路之間有防火牆,請設定 輸出 防火牆規則,以從前端節點的觀點允許這些埠。
2. OutBound 安全性規則
默認輸出安全性規則 AllowVNetOutBound 允許所有輸出內部虛擬網路流量。 但是,如果您已新增任何規則來拒絕目的地 VirtualNetwork 或 優先順序較高的任何,則必須以較高的優先順序新增下列輸出規則,讓 Azure IaaS 計算節點可以連線到內部部署前端節點。
名稱 | 連接埠 | 通訊協定 | 來源 | Destination | 動作 |
---|---|---|---|---|---|
AllowHpcIntraVNetTcpOutBound | 443, 5970, 6729, 6730, 8677, 9892, 9893, 9894 | TCP | 任何 | VirtualNetwork | 允許 |
AllowHpcIntraVNetUdpOutBound | 9894 | UDP | 任何 | VirtualNetwork | 允許 |
注意事項
如果您的公司網路與 Azure 虛擬網路之間有防火牆,請設定 輸入 防火牆規則,以從前端節點的觀點允許這些埠。
默認輸出安全性規則 AllowInternetOutBound 允許所有輸出流量 因特網。 但是,如果您已新增任何規則來拒絕目的地 因特網 或 優先順序較高的任何,則必須以較高的優先順序新增下列輸出規則:
名稱 | 連接埠 | 通訊協定 | 來源 | Destination | 動作 |
---|---|---|---|---|---|
AllowKeyVaultOutBound | 任何 | 任何 | VirtualNetwork | AzureKeyVault | 允許 |
AllowAzureCloudOutBound | 任何 | 任何 | VirtualNetwork | AzureCloud | 允許 |
AllowHttpsOutBound | 443 | TCP | VirtualNetwork | 任何 | 允許 |
HPC Pack 前端節點可以在 設定 Azure 部署設定 步驟存取下列公用 URL,建立和管理 Azure IaaS 計算節點 步驟,您應該將它們新增至內部部署防火牆的允許清單中。
https://management.core.windows.net
https://login.microsoftonline.com
https://hpcazuresasdispatcher.azurewebsites.net
https://hpcazureconsumptionsb.servicebus.windows.net
https://*.vault.azure.net
https://*.microsoft.com
https://*.msauth.net
https://*.msftauth.net
https://*.core.windows.net
步驟 1: 設定叢集以支援 Azure IaaS 計算節點的部署
在 前端節點上開啟 HPC 叢集管理員,在 [部署待辦事項清單]中,完成所有三個 必要部署工作。 您提供的 安裝認證的使用者名稱和密碼, 將會作為 Azure 虛擬機的系統管理員使用者名稱和密碼。
步驟 1.1 設定 Azure 部署組態
您可以使用 HPC Cluster Manager 或 PowerShell 命令來設定 Azure 部署組態。
使用 HPC Cluster Manager 設定 Azure 部署組態
注意事項
本文中的 設定 Azure 部署設定 精靈是以 HPC Pack 2016 Update 2 (和更新版本) 為基礎。
您可以按兩下 [設定 Azure 部署組態]
1.設定 Azure 服務主體
HPC Pack 服務會使用 Azure 服務主體來布建、啟動、停止和刪除 Azure IaaS VM。 若要設定 Azure 服務主體,請按兩下 [登入] 按鈕,在 [Azure 服務主體] 頁面上登入您的 Azure 帳戶。
如果您有多個與 Azure 帳戶相關聯的 Azure 訂用帳戶,請按兩下 [選取 ] 按鈕,選擇用來部署 Azure IaaS 計算節點的訂用帳戶。
您可以從
如果您選擇建立新的 Azure 服務主體,請在 [建立 Azure 服務主體] 對話方塊的 [
注意事項
Azure 服務主體的憑證必須與用來保護 HPC 節點之間通訊的憑證不同。
若要建立 Azure 服務主體,您的 Azure 帳戶必須是 Azure 訂用帳戶的 擁有者 角色,且 Azure 服務主體預設會以 Azure 訂用帳戶的 參與者 角色的形式授與,您可以參考 HPC Pack 叢集中 Azure 資源的 訪問控制,根據您的使用者案例手動重新設定 Azure 服務主體的訪問許可權。
2.指定 Azure 虛擬網路
在 [Azure 虛擬網络] 頁面上,指定要在其中建立 Azure IaaS 計算節點的 Azure 虛擬網路資訊。
Azure 位置:虛擬網路所在的 Azure 位置
資源組名:建立虛擬網路的資源群組
虛擬網路名稱:將在其中建立 Azure IaaS 計算節點的虛擬網路名稱。
子網名稱:將在其中建立 Azure IaaS 計算節點的子網名稱。
注意事項
您指定的虛擬網路必須具有站對站 VPN 或 Express Route 連線到前端節點所在的內部部署網路。
3.設定 Azure Key Vault 憑證
HPC Pack 服務會使用 X.509 憑證來保護 HPC 節點通訊。 因此,我們需要將此憑證匯入 Azure Key Vault,以便在布建期間安裝到 Azure IaaS VM。 在 [Azure Key Vault 憑證] 頁面上,按兩下 [選取] 按鈕,以選擇 Azure Key Vault 名稱,並在您已建立 Azure Key Vault 秘密時 秘密名稱。 或按兩下 [建立] 按鈕
如果您選擇建立新的 Key Vault 秘密,您可以從 保存庫名稱 清單中選取現有的 Azure 金鑰保存庫名稱,或按兩下 [建立] 來建立新的 Azure 金鑰保存庫。 然後指定易記 [秘密名稱],然後按兩下 [瀏覽] 或 [匯入] 選取正確的憑證。
注意事項
如果您在前端節點上使用自我簽署憑證來進行 HPC 節點通訊,您必須將相同的憑證(在前端節點安裝期間所使用的憑證)上傳至 Azure Key Vault 秘密。 如果您無法執行此動作,因為未信任的憑證問題,因此無法連線到前端節點的 Azure IaaS 計算節點。 您可以使用下列 PowerShell 命令來取得用於節點通訊的憑證指紋:Get-HPCClusterRegistry -propertyName SSLThumbprint
檢閱設定,然後按兩下 [完成]
使用 PowerShell 設定 Azure 部署組態
如果您已經設定 Azure 部署組態,您也可以選擇執行下列 PowerShell 命令:
- 建立 Azure 服務主體和 Azure Key Vault 憑證。
- 已安裝 Azure 服務主體的憑證,以 本機電腦\Personal 證書存儲 ,並在所有前端節點計算機上 私鑰。
Add-PSSnapin Microsoft.Hpc
# Set Azure subscription and Service Principal information
Set-HpcClusterRegistry -PropertyName SubscriptionId -PropertyValue <subscriptionId>
Set-HpcClusterRegistry -PropertyName TenantId -PropertyValue <tenantId>
Set-HpcClusterRegistry -PropertyName ApplicationId -PropertyValue <ServiceprincipalApplicationId>
Set-HpcClusterRegistry -PropertyName Thumbprint -PropertyValue <ServiceprincipalCertThumbprint>
# Set Virtual network information
Set-HpcClusterRegistry -PropertyName VNet -PropertyValue <VNetName>
Set-HpcClusterRegistry -PropertyName Subnet -PropertyValue <SubnetName>
Set-HpcClusterRegistry -PropertyName Location -PropertyValue <VNetLocation>
Set-HpcClusterRegistry -PropertyName ResourceGroup -PropertyValue <VNetResourceGroup>
# Set Azure Key vault certificate
Set-HpcKeyVaultCertificate -ResourceGroup <KeyVaultResourceGroupName> -CertificateUrl <KeyVaultSecretUrlWithVersion> -CertificateThumbprint <KeyVaultCertificateThumbprint>
步驟 1.2 設定其他叢集屬性
如果您打算在不同的子網中建立 未加入網域的 Azure IaaS Windows 計算節點或 Linux 計算節點,請在前端節點上執行下列 PowerShell 命令 ,讓叢集為不同子網中的節點新增主機專案。 如果您無法這麼做,前端節點將無法連線到節點,因為前端節點(s) 無法解析其主機名。
Set-HpcClusterRegistry -PropertyName HostFileForOtherSubnet -PropertyValue 1
if($env:CCP_CONNECTIONSTRING -like "*,*,*") {
Connect-ServiceFabricCluster
$opId = [Guid]::NewGuid()
Start-ServiceFabricPartitionRestart -OperationId $opId -RestartPartitionMode AllReplicasOrInstances -ServiceName fabric:/HpcApplication/ManagementStatelessService -ErrorAction Stop
} else {
Restart-Service -Name HpcManagement
}
如果您打算使用 Azure IaaS 節點範本建立 Azure IaaS Linux 計算節點,請在前端節點上執行下列 PowerShell 命令 ,以啟用前端節點與 Linux 計算節點之間的 Http 通訊。
Set-HpcClusterRegistry -PropertyName LinuxHttps -PropertyValue 0
if($env:CCP_CONNECTIONSTRING -like "*,*,*") {
Connect-ServiceFabricCluster
$opId = [Guid]::NewGuid()
Start-ServiceFabricPartitionRestart -OperationId $opId -RestartPartitionMode AllReplicasOrInstances -ServiceName fabric:/HpcApplication/SchedulerStatefulService -ErrorAction Stop
} else {
Restart-Service -Name HpcScheduler
}
步驟 2: 建立 Azure IaaS 節點範本
重要事項
- 本文中的 Azure IaaS 節點範本精靈是以 HPC Pack 2016 Update 3 為基礎。 在其他 HPC Pack 版本中,它稍有不同。
- 如果您選擇使用自定義映像或共用映像,VM 映像的作業系統必須符合
需求。 - HPC Pack 2016 Update 2 或舊版不支援 共用映射。
在 [組態] 面板上,按兩下 [節點範本],然後按兩下 [動作] 清單中的 [新增] 來建立 Azure IaaS 節點範本。
在 [選擇節點範本類型 頁面上,選擇節點範本類型作為 Azure IaaS 節點範本。
在 [指定範本名稱 頁面上,指定 範本名稱,並選擇性地指定 描述。
在 [
指定您是否要在 Azure 可用性設定組中 建立節點。
在 [指定 VM 映射 頁面上,指定用來部署 IaaS 計算節點的 VM 映射。 您可以選擇下列其中一個 映像類型:MarketplaceImage、CustomWindowsImage或 CustomLinuxImage。
如果您選擇 [映射類型] 作為 MarketplaceImage,請選取 [OS 類型],然後 映射卷標 選擇 Azure Marketplace 中的公用 VM 映射。
如果 OS 類型 與 Windows,且 HPC Pack 前端節點已加入網域,請指定您是否要 將節點加入網域。 建議將 Windows 計算節點加入網域。
如果您選擇 [映射類型] 做為 CustomImage,請指定 OS 類型、自定義 VM 映射的 映射名稱,以及儲存映像的 資源群組。 VM 映像必須在建立 Azure IaaS 計算節點所在的相同 Azure 位置中建立。 請遵循 建立自定義映像,為您 IaaS VM 建立您自己的自定義映像。
您可以單擊連結 HPC Pack 計算節點自定義 VM 映射的詳細資訊,以瞭解如何建立自定義的 HPC Pack 計算節點 VM 映射。
如果您選擇 [映射類型] 做為 SharedImage,請在 Azure 共用映像庫中指定 OS 類型、Azure 資源識別符。 請確定您在步驟 1.1 中指定的 Azure 服務主體已獲授與 共用映射庫的讀取 許可權。
在 [檢閱] 頁面上,檢閱您指定的設定,然後按兩下 [建立] 來建立節點範本。
步驟 3: 建立 IaaS 計算節點並加以管理
開啟 HPC Cluster Manager 控制台,按兩下 [資源管理 列],然後按兩下 [新增節點],以啟動 [新增節點精靈]。
在 [選取部署方法] 頁面上,選取 [[新增 Azure IaaS VM 節點]。
在 [指定新節點 頁面上,選取我們剛才在步驟 2 中建立 節點 範本,並指定 節點數目 和 VM 大小的節點,然後按兩下 [下一步]。
按兩下 [完成]
接著,您可以選擇節點,然後按兩下 [開始]
等候 Azure IaaS 計算節點的布建。
完成 Azure IaaS 計算節點的部署,且 節點健康情況 變成 確定之後,您可以將作業提交至這些節點。
您可以按下 [停止]
如果您不再需要這些節點,您也可以 刪除 節點,如果您這樣做,也會刪除 Azure 虛擬機。
如果您啟用 自動成長和壓縮 Azure 節點 功能,Azure IaaS 節點將會根據叢集工作負載自動啟動或停止,請參閱 自動縮小 Azure 資源。