Microsoft HPC Pack 2016支持在 Azure 中部署 HPC Pack 群集的管理員將其與Azure Active Directory(Azure AD) 集成邀层。
請(qǐng)按照本文中的步驟執(zhí)行以下高級(jí)別任務(wù):
手動(dòng)將 HPC Pack 群集與 Azure AD 租戶集成
在 Azure 的 HPC Pack 群集中管理和計(jì)劃作業(yè)
將 HPC Pack 群集解決方案與 Azure AD 集成時(shí)按照標(biāo)準(zhǔn)步驟集成其他應(yīng)用程序和服務(wù)。本文假定你熟悉 Azure AD 中的基本用戶管理芦昔。有關(guān)詳細(xì)信息和背景資料巨缘,請(qǐng)參閱Azure Active Directory 文檔以及以下部分今缚。
集成的好處
Azure Active Directory (Azure AD) 是基于多租戶云的目錄和標(biāo)識(shí)管理服務(wù)漫蛔,可提供對(duì)云解決方案的單一登錄 (SSO) 訪問。
HPC Pack 群集與 Azure AD 集成可幫助用戶實(shí)現(xiàn)以下目標(biāo):
從 HPC Pack 群集中刪除傳統(tǒng)的 Active Directory 域控制器宝冕。這可以幫助減少維護(hù)群集的成本(如果這對(duì)于業(yè)務(wù)是不必要的)并加速執(zhí)行部署過(guò)程张遭。
利用 Azure AD 帶來(lái)的以下好處:
單一登錄
對(duì) Azure 中的 HPC Pack 群集使用本地 AD 標(biāo)識(shí)
先決條件
在 Azure 虛擬機(jī)中部署的 HPC Pack 2016 群集- 需要獲得頭節(jié)點(diǎn)的 DNS 名稱和群集管理員的憑據(jù)才能完成本文中的步驟。
Note
在 HPC Pack 2016 之前的 HPC Pack 版本中不支持 Azure Active Directory 集成地梨。
客戶端計(jì)算機(jī)- 需要有可運(yùn)行 HPC Pack 客戶端實(shí)用工具的 Windows 或 Windows Server 客戶端計(jì)算機(jī)菊卷。如果只想使用 HPC Pack Web 門戶或 REST API 來(lái)提交作業(yè),則可以使用自選的任意客戶端計(jì)算機(jī)宝剖。
HPC Pack 客戶端實(shí)用工具- 使用 Microsoft 下載中心提供的免費(fèi)安裝包在客戶端計(jì)算機(jī)上安裝 HPC Pack 客戶端實(shí)用工具洁闰。
步驟 1:將 HPC 群集服務(wù)器注冊(cè)到 Azure AD 租戶
在左側(cè)菜單中單擊“Active Directory”万细,然后單擊訂閱中所需的目錄扑眉。你必須有權(quán)訪問該目錄中的資源。
單擊“用戶”赖钞,并確保有用戶帳戶已創(chuàng)建或已配置腰素。
單擊“應(yīng)用程序”>“添加”,然后單擊“添加我的組織正在開發(fā)的應(yīng)用程序”雪营。在向?qū)е休斎胍韵滦畔ⅲ?/p>
名稱- HPCPackClusterServer
類型- 選擇“Web 應(yīng)用程序和/或 Web API”
登錄 URL- 示例的基 URL弓千,默認(rèn)情況下為https://hpcserver
應(yīng)用 ID URI-https:///。將 替換為 Azure AD 租戶的完整名稱(例如hpclocal.partner.onmschina.cn)献起,并將替換為以前選擇的名稱计呈。
添加應(yīng)用后砰诵,單擊“配置”。配置以下屬性:
對(duì)于“應(yīng)用程序?qū)儆诙嘧鈶粜汀卑葡裕x擇“是”
對(duì)于“訪問應(yīng)用需要進(jìn)行用戶分配”,選擇“是”总寒。
單擊“保存”扶歪。完成保存后,單擊“管理清單”摄闸。此操作將下載應(yīng)用程序的清單 JavaScript 對(duì)象表示法 (JSON) 文件善镰。通過(guò)找到appRoles設(shè)置并將添加以下應(yīng)用程序角色來(lái)編輯下載的清單:
復(fù)制
"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"
}
],
保存文件。然后在門戶中年枕,單擊“管理清單”>“上載清單”炫欺。然后,可以上載編輯的清單熏兄。
單擊“用戶”品洛,選擇用戶,然后單擊“分配”摩桶。將一個(gè)可用角色(HpcUsers 或 HpcAdminMirror)分配給用戶桥状。對(duì)目錄中的其他用戶重復(fù)此步驟。有關(guān)群集用戶的背景信息硝清,請(qǐng)參閱管理群集用戶辅斟。
步驟 2:將 HPC 群集客戶端注冊(cè)到 Azure AD 租戶
在左側(cè)菜單中單擊“Active Directory”芦拿,然后單擊訂閱中所需的目錄士飒。你必須有權(quán)訪問該目錄中的資源。
單擊“應(yīng)用程序”>“添加”蔗崎,然后單擊“添加我的組織正在開發(fā)的應(yīng)用程序”酵幕。在向?qū)е休斎胍韵滦畔ⅲ?/p>
名稱- HPCPackClusterClient
類型- 選擇“本機(jī)客戶端應(yīng)用程序”
重定向 URI-http://hpcclient
添加應(yīng)用后,單擊“配置”蚁趁。復(fù)制“客戶端 ID”值并將其保存裙盾。稍后在配置應(yīng)用程序時(shí)將需要此值。
在“針對(duì)其他應(yīng)用程序的權(quán)限”中他嫡,單擊“添加應(yīng)用程序”番官。搜索并添加 HpcPackClusterServer 應(yīng)用程序(在步驟 1 中創(chuàng)建)。
在“委派權(quán)限”下拉列表中钢属,選擇“訪問 HpcClusterServer”徘熔。然后單擊“保存”。
步驟 3:配置 HPC 群集
連接到 Azure 中的 HPC Pack 2016 頭節(jié)點(diǎn)淆党。
啟動(dòng) HPC PowerShell酷师。
運(yùn)行以下命令:
復(fù)制
Set-HpcClusterRegistry -SupportAAD true -AADInstance https://login.chinacloudapi.cn/ -AADAppName HpcClusterServer -AADTenant -AADClientAppId -AADClientAppRedirectUri http://hpcclient
其中
AADTenant指定 Azure AD 租戶名稱讶凉,例如hpclocal.partner.onmschina.cn
AADClientAppId指定在步驟 2 中創(chuàng)建的應(yīng)用的客戶端 ID。
重新啟動(dòng) HpcSchedulerStateful 服務(wù)山孔。
在具有多個(gè)頭節(jié)點(diǎn)的群集中懂讯,可以在頭節(jié)點(diǎn)上運(yùn)行以下 PowerShell 命令,切換 HpcSchedulerStateful 服務(wù)的主副本:
復(fù)制
Connect-ServiceFabricCluster
Move-ServiceFabricPrimaryReplica -ServiceName "fabric:/HpcApplication/SchedulerStatefulService"
步驟 4:從客戶端管理和提交作業(yè)
若要在計(jì)算機(jī)上安裝 HPC Pack 客戶端實(shí)用工具台颠,請(qǐng)從 Microsoft 下載中心下載 HPC Pack 2016 安裝程序文件(完整安裝)褐望。開始安裝時(shí),請(qǐng)選擇針對(duì)HPC Pack 客戶端實(shí)用工具的安裝選項(xiàng)串前。
若要準(zhǔn)備客戶端計(jì)算機(jī)瘫里,請(qǐng)?jiān)诳蛻舳擞?jì)算機(jī)上安裝在 HPC 群集安裝過(guò)程中使用的證書。使用標(biāo)準(zhǔn) Windows 證書管理過(guò)程將公共證書安裝到“證書 - 當(dāng)前用戶”>“受信任根證書頒發(fā)機(jī)構(gòu)”存儲(chǔ)荡碾。
現(xiàn)在可以運(yùn)行 HPC Pack 命令或通過(guò) HPC Pack 作業(yè)管理器 GUI 使用 Azure AD 帳戶提交和管理群集作業(yè)谨读。有關(guān)作業(yè)提交選項(xiàng),請(qǐng)參閱將 HPC 作業(yè)提交到 Azure 中的 HPC Pack 群集坛吁。
Note
首次嘗試連接到 Azure 中的 HPC Pack 群集時(shí)劳殖,將顯示彈出窗口。輸入用于登錄的 Azure AD 憑據(jù)阶冈。然后緩存令牌闷尿。除非身份驗(yàn)證更改或已清除緩存令牌,否則以后連接 Azure 中的群集時(shí)將使用緩存令牌女坑。
例如填具,完成前面的步驟后,可以從本地客戶端查詢作業(yè)匆骗,如下所示:
復(fù)制
Get-HpcJob -State All -Scheduler https:// -Owner
與 Azure AD 集成的用于提交作業(yè)的有用 cmdlet
管理本地令牌緩存
HPC Pack 2016 提供兩個(gè)新的 HPC PowerShell cmdlet 來(lái)管理本地令牌緩存劳景。這些 cmdlet 可用于以非交互方式提交作業(yè)。請(qǐng)參閱以下示例:
復(fù)制
Remove-HpcTokenCache
$SecurePassword = "" | ConvertTo-SecureString -AsPlainText -Force
Set-HpcTokenCache -UserName -Password $SecurePassword -scheduler https://
設(shè)置用于使用 Azure AD 帳戶提交作業(yè)的憑據(jù)
有時(shí)碉就,你可能想要以 HPC 群集用戶的身份運(yùn)行作業(yè)(對(duì)于已加入域的 HPC 群集盟广,以域用戶的身份運(yùn)行;對(duì)于未加入域的 HPC 群集瓮钥,以頭節(jié)點(diǎn)上某個(gè)本地用戶的身份運(yùn)行)筋量。
使用以下命令以設(shè)置憑據(jù):
復(fù)制
$localUser = ""
$localUserPassword=""
$secpasswd = ConvertTo-SecureString $localUserPassword -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ($localUser, $secpasswd)
Set-HpcJobCredential -Credential $mycreds -Scheduler https://
然后提交作業(yè),如下所示碉熄。作業(yè)/任務(wù)在計(jì)算節(jié)點(diǎn)的 $localUser 下運(yùn)行桨武。
復(fù)制
$emptycreds = New-Object System.Management.Automation.PSCredential ($localUser, (new-object System.Security.SecureString))
...
$job = New-HpcJob -Scheduler https://
Add-HpcTask -Job $job -CommandLine "ping localhost" -Scheduler https://
Submit-HpcJob -Job $job -Scheduler https:// -Credential $emptycreds
如果使用Submit-HpcJob時(shí)未指定-Credential,則作業(yè)或任務(wù)在本地映射為 Azure AD 帳戶的用戶下運(yùn)行锈津。(HPC 群集創(chuàng)建的本地用戶與用于運(yùn)行任務(wù)的 Azure AD 帳戶同名呀酸。)
為 Azure AD 帳戶設(shè)置擴(kuò)展的數(shù)據(jù)。使用 Azure AD 帳戶在 Linux 節(jié)點(diǎn)上運(yùn)行 MPI 作業(yè)時(shí)琼梆,這種做法十分有用性誉。
為 Azure AD 帳戶本身設(shè)置擴(kuò)展的數(shù)據(jù)
復(fù)制
Set-HpcJobCredential -Scheduler https:// -ExtendedData -AadUser
設(shè)置擴(kuò)展的數(shù)據(jù)和 HPC 群集的運(yùn)行方式用戶
復(fù)制
Set-HpcJobCredential -Credential $mycreds -Scheduler https:// -ExtendedData