可以使用 PowerCLI cmdlet 管理 vSphere Auto Deploy,以建立可將 ESXi 主機與 vCenter 目標上的各個物件相關聯的規則。

您可以使用 PowerCLI cmdlet 建立規則來將主機與 vCenter Server 目標上的映像設定檔、主機設定檔、自訂指令碼和位置建立關聯,藉以管理 vSphere Auto Deploy。您亦可以透過測試規則符合性並修復符合性問題來更新主機。

使用 PowerCLI Cmdlet 管理 vSphere Auto Deploy

您可以使用 PowerCLI cmdlet 建立規則來將主機與 vCenter Server 目標上的映像設定檔、主機設定檔、自訂指令碼和位置建立關聯,藉以管理 vSphere Auto Deploy。您亦可以透過測試規則符合性並修復符合性問題來更新主機。

使用 PowerCLI執行 vSphere Auto Deploy 程序的概觀

若要開始使用 vSphere Auto Deploy,您需要瞭解 vSphere Auto Deploy 如何運作、安裝 vSphere Auto Deploy 伺服器、安裝 PowerCLI、撰寫用於佈建主機的PowerCLI 規則以及開啟要使用指定映像設定檔進行開機的主機電源。可以自訂映像設定檔、主機設定檔和 vCenter Server位置。

如需可協助您設定第一個 vSphere Auto Deploy 環境的逐步練習,請參閱vSphere Auto Deploy 的vSphere PowerCLI案例

若要使用 vSphere Auto Deploy 成功佈建環境中的主機,可遵循下列步驟。

  1. 部署 vCenter Server

    vSphere Auto Deploy 伺服器包含在內。

  2. 設定 vSphere Auto Deploy 服務啟動類型。

    請參閱為 vSphere Auto Deploy 準備系統

  3. 安裝 PowerCLI,其中包含 vSphere Auto Deploy 和 vSphere ESXi Image Builder cmdlet。

    請參閱設定vSphere ESXi Image Builder使用 vSphere Auto Deploy Cmdlet使用 VMware.Image Builder Cmdlet

  4. 尋找包含要部署到主機之 VIB 的映像設定檔。
    • 通常情況下,將包含所需軟體的存放庫新增到 PowerCLI工作階段,然後從其中一個存放庫選取映像設定檔。
    • 若要建立自訂映像設定檔,請使用 vSphere ESXi Image Builder cmdlet 複製現有映像設定檔,然後將自訂 VIB 新增到複製品。將自訂映像設定檔新增到 PowerCLI工作階段。

    僅當必須新增或移除 VIB 時才必須使用 vSphere ESXi Image Builder 進行自訂。在大多數情況下,可以將 VMware 主控映像設定檔的存放庫做為 URL 新增到 PowerCLI工作階段。

  5. 啟動 PowerCLI工作階段並連線至 vSphere Auto Deploy 向其登錄的 vCenter Server 系統。
  6. 使用 New-DeployRulePowerCLI cmdlet 可撰寫一項規則,該規則可將映像設定檔指派給一台主機、依模式指定的多台主機或所有主機。
    New-DeployRule -Name "testrule" -Item image-profile -AllHosts

    請參閱將映像設定檔指派給主機

    備註: 為了將具有固定 MAC 位址的主機佈建到 DHCP (有時稱為 DHCP 保留) 中的 IP 位址對應,已最佳化 vSphere Auto Deploy。如果要使用靜態 IP 位址,則必須設定主機設定檔來提示主機自訂。如需詳細資訊,請參閱 vSphere 主機設定檔說明文件。
  7. 開啟要佈建之主機的電源。
  8. 針對主機設定檔設定佈建為參考主機的主機。

    您可以指定參考主機的 syslog 設定、防火牆設定、儲存區和網路等。

  9. 針對主機設定檔設定佈建為參考主機的主機。

    您可以指定參考主機的 syslog 設定、防火牆設定、儲存區和網路等。請參閱設定 vSphere Auto Deploy 參考主機

  10. 建立並匯出參考主機的主機設定檔。

    請參閱《主機設定檔》說明文件。

  11. 若要使用主機設定檔佈建多台主機,可以使用 Copy-DeployRulecmdlet 來編輯先前建立的規則。

    您可以修訂規則,以便不僅指派映像設定檔,還會指派主機設定檔、vCenter Server位置和自訂指令碼服務包。

    Copy-DeployRule -DeployRule "testrule" -ReplaceItem my_host_profile_from_reference_host,my_target_cluster
                   -ReplacePattern  "ipv4=192.XXX.1.10-192.XXX.1.20"

    其中,my_host_profile_from_reference_host 為參考主機設定檔的名稱。my_target_cluster 為目標叢集的名稱。

  12. 執行測試和修復符合性作業來修復主機。

    請參閱測試和修復規則符合性

  13. 確認您佈建的主機符合下列需求。
    • 每台主機皆已連線到 vCenter Server 系統。
    • 主機未處於維護模式。
    • 主機不具有符合性失敗。
    • 每台具有主機設定檔 (要求使用者輸入) 的主機都具有最新的主機自訂資訊。

    修復主機關聯和符合性問題,然後將主機重新開機,直到所有主機都符合需求為止。

如需開機程序簡介、首次開機與後續開機之間的區別以及使用主機自訂的概觀,請閱讀

使用 vSphere Auto Deploy Cmdlet

vSphere Auto Deploy cmdlet 以 Microsoft PowerShell cmdlet 形式實作並包含在 PowerCLI 中。vSphere Auto Deploy cmdlet 的使用者可以利用所有 PowerCLI 功能。

有經驗的 PowerShell 使用者可以像使用其他 PowerShell cmdlet 一樣使用 vSphere Auto Deploy cmdlet。如果您對 PowerShell 和 PowerCLI 比較生疏,下列提示可能對您有所幫助。

您可以在 PowerCLI Shell 中輸入 cmdlet、參數和參數值。

  • 透過執行 Get-Helpcmdlet_name 取得任何 cmdlet 的說明。
  • 請注意,PowerShell 不區分大小寫。
  • 對 cmdlet 名稱和參數名稱使用 Tab 鍵自動完成。
  • 使用 Format-ListFormat-Table 或者它們的簡短形式 flft,格式化任何變數和 cmdlet 輸出。如需詳細資訊,請執行 Get-Help Format-List cmdlet。

依名稱傳遞參數

在大多數情況下,可以依名稱傳遞參數,並以雙引號將包含空格或特殊字元的參數值括住。
 Copy-DeployRule -DeployRule testrule -ReplaceItem MyNewProfile

vCenter Server 安裝和設定說明文件中的大多數範例依名稱來傳遞參數。

以物件傳遞參數

如果想要進行指令碼處理並實現自動化,您可以物件傳遞參數。以物件傳遞參數,對於傳回多個物件和傳回單一物件的 cmdlet 皆非常有用。請考慮下列範例。

  1. 將封裝主機規則集符合性資訊的物件繫結到變數。
    $tr = Test-DeployRuleSetCompliance MyEsxi42
  2. 檢視物件的 itemlist 內容,以查看規則集中的規則與主機目前所使用規則之間有何差異。
    $tr.itemlist
  3. Repair-DeployRuleSetCompliance cmdlet 與變數搭配使用可修復主機,從而使用修訂的規則集。
    Repair-DeployRuleSetCompliance $tr

該範例會在下次將主機開機時修復主機。

vSphere Auto Deploy PowerCLI Cmdlet 概觀

您可以使用 PowerCLI 隨附的一組 PowerCLI cmdlet,來指定用於將映像設定檔和主機設定檔指派給主機的規則。

如果您對 PowerCLI 比較生疏,請先閱讀 PowerCLI 說明文件並檢閱使用 vSphere Auto Deploy Cmdlet。您可以在 PowerShell 提示字元中取得任何命令的說明。

  • 基本說明:Get-Helpcmdlet_name
  • 詳細說明:Get-Help cmdlet_name -Detailed
備註: 執行 vSphere Auto Deploy cmdlet 時,請在叫用 cmdlet 時於命令列上提供所有參數。不建議以互動模式提供參數。
表 1. 規則引擎 PowerCLI Cmdlet
命令 說明
Get-DeployCommand 傳回 vSphere Auto Deploy cmdlet 的清單。
New-DeployRule 使用指定的項目和模式建立新規則。
Set-DeployRule 使用指定的項目和模式更新現有規則。無法更新屬於規則集的規則。
Get-DeployRule 擷取具有指定名稱的規則。
Copy-DeployRule 複製和更新現有規則。
Add-DeployRule 將一或多個規則新增到工作規則集,依預設也會一併新增到作用中規則集。使用 NoActivate 參數可將規則僅新增到工作規則集。
Remove-DeployRule 從工作規則集和作用中工作集移除一或多個規則。執行此命令時指定 -Delete 參數可完全刪除規則。
Set-DeployRuleset 明確設定工作規則集中的規則清單。
Get-DeployRuleset 擷取目前工作規則集或目前作用中規則集。
Switch-ActiveDeployRuleset 啟動規則集,透過規則集評估任何新要求。
Get-VMHostMatchingRules 擷取與某個模式相符的規則。例如,您可以擷取套用到一或多台主機的所有規則。此 cmdlet 主要用於偵錯。
Test-DeployRulesetCompliance 檢查與指定主機相關聯的項目是否與作用中規則集一致。
Repair-DeployRulesetCompliance 根據 Test-DeployRulesetCompliance 的輸出情況,此 cmdlet 會更新 vCenter Server 詳細目錄中每台主機的映像設定檔、主機設定檔和位置。此 cmdlet 可能會套用映像設定檔、主機設定檔,或將主機移到 vCenter Server 系統上預先指定的資料夾或叢集。
Apply-EsxImageProfile 將指定的映像設定檔與指定的主機相關聯。
Get-VMHostImageProfile 擷取指定主機所使用的映像設定檔。此 cmdlet 不同於 vSphere ESXi Image Builder 中的 Get-EsxImageProfile cmdlet。
Repair-DeployImageCache 僅當不小心刪除 vSphere Auto Deploy 映像快取時才使用此 cmdlet。
Get-VMHostAttributes 擷取 vSphere Auto Deploy 伺服器評估規則時使用的主機屬性。
Get-DeployMachineIdentity 傳回字串值,vSphere Auto Deploy 會使用該值將 vCenter Server 中的 ESXi 主機以邏輯方式連結到實體機器。
Set-DeployMachineIdentity vCenter Server 資料庫中的主機物件以邏輯方式連結到實體機器。使用此 cmdlet,無需指定規則即可新增主機。
Get-DeployOption 擷取 vSphere Auto Deploy 全域組態選項。此 cmdlet 目前支援 vlan-id 選項,該選項可指定使用 vSphere Auto Deploy 所佈建主機之 ESXi 管理網路的預設 VLAN 識別碼。僅當主機不使用主機設定檔來開機時,vSphere Auto Deploy 才會使用該值。
Set-DeployOption 設定全域組態選項的值。目前支援用於設定 ESXi 管理網路之預設 VLAN 識別碼的 vlan-id 選項。
Add-ProxyServer 新增 Proxy 伺服器到 vSphere Auto Deploy 資料庫。執行命令時,可加上 -Address 參數來指定 IPv4 或 IPv6 位址。此位址可包含連接埠號碼。
List-ProxyServer 列出目前已向 vSphere Auto Deploy 登錄的 Proxy 伺服器。
Delete-ProxyServer 從已向 vSphere Auto Deploy 登錄之 Proxy 伺服器的清單中刪除一或多個 Proxy 伺服器。執行命令時,可加上 -id 參數或加上 -Address 參數來指定要從 Proxy 伺服器清單中刪除之 Proxy 伺服器的 IPv4 或 IPv6 位址。
Add-ScriptBundle 新增一或多個指令碼服務包到 vSphere Auto Deploy 伺服器。
Get-ScriptBundle 擷取 vSphere Auto Deploy 伺服器上可用之指令碼服務包的清單及其所含的指令碼。
Remove-ScriptBundle 從 vSphere Auto Deploy 移除指令碼服務包。適用於 vSphere 6.7 版及更新版本。
Get-CustomCertificate 擷取上傳到 AutoDeploy 的自訂主機憑證。必須使用 -HostId [MAC_Address | BIOS_UUID] 參數執行命令。首次新增自訂憑證時,不會看到此 cmdlet 傳回的任何憑證。
List-CustomCertificates 擷取有關 Auto Deploy 使用的所有自訂主機憑證的資訊。該清單提供憑證名稱、Host IDAssociated Host Name 的詳細資料,反映了 Auto Deploy 伺服器的 vCenter Server 名稱。
Add-CustomCertificate 將自訂憑證新增到 VMware Endpoint 憑證存放區,並將其與 ESXi 主機相關聯。憑證在主機重新開機後變為作用中狀態。可以使用 Get-CustomCertificate cmdlet 擷取自訂主機憑證金鑰。可以使用 -HostId [MAC_Address | BIOS_UUID] 參數執行命令,以將憑證與主機相關聯,從而指定 -Key [file:///path/to/key.key]-Cert [file:///path/to/cert.crt]。使用此 cmdlet 需要對 vCenter Server 的根資料夾具有 AutoDeploy.Rule.Create 權限。
Remove-CustomCertificate 從 Auto Deploy 中移除一組自訂主機憑證。將從資料庫中刪除憑證項目,並從檔案存放區中移除憑證檔案。必須將已使用自訂憑證開機的主機重新開機才能接收新憑證。您必須至少提供一個 -Cert-HostId 參數。使用此 cmdlet 需要對 vCenter Server 的根資料夾具有 AutoDeploy.Rule.Create 權限。

將映像設定檔指派給主機

您必須先建立將映像設定檔指派給要使用 vSphere Auto Deploy 佈建的每台主機的規則,才能佈建主機。

vSphere Auto Deploy 擴充性規則會強制 CommunitySupported 層級的 VIB 只能包含預先定義之特定位置 (如 ESXCLI 外掛程式路徑、jumpstart 外掛程式路徑等) 中的檔案。如果將其他位置中的 VIB 新增至映像設定檔,系統會隨即出現警告。可以透過使用 force 選項覆寫警告。

在包含 VIB 的映像設定檔上呼叫 New-DeployRule cmdlet 時,如果 VIB 處於 CommunitySupported 層級並違反規則,請先設定 $DeployNoSignatureCheck = $true,然後新增映像設定檔。透過此設定,系統會略過簽章驗證且不執行擴充性規則檢查。

備註: 生產系統不支援包含處於 CommunitySupported 層級之 VIB 的映像設定檔。

程序

  1. PowerCLI 工作階段中,執行 Connect-VIServer cmdlet 以連線至 vSphere Auto Deploy 向其登錄的 vCenter Server 系統。
    Connect-VIServer ipv4_or_ipv6_address
    cmdlet 可能會傳回伺服器憑證警告。在生產環境中,請確保不會產生伺服器憑證警告。在開發環境中,可以忽略此警告。
  2. 判斷公開軟體存放庫的位置,或使用 vSphere ESXi Image Builder 定義自訂映像設定檔。
  3. 執行 Add-EsxSoftwareDepot,將包含映像設定檔的軟體存放庫新增到 PowerCLI 工作階段。
    存放庫類型 Cmdlet
    遠端存放庫 執行 Add-EsxSoftwareDepot depot_url
    ZIP 檔案
    1. 將 ZIP 文件下載到本機檔案路徑。
    2. 執行 Add-EsxSoftwareDepot C:\file_path\my_offline_depot.zip
  4. 在存放庫中,透過執行 Get-EsxImageProfile cmdlet 尋找要使用的映像設定檔。
    依預設, ESXi 存放庫中會包含一個含有 VMware Tools 的基礎映像設定檔 (其名稱中含有字串 standard) 和一個不含有 VMware Tools 的基礎映像設定檔。
  5. 定義將具有某些屬性 (例如 IP 位址範圍) 的主機指派給映像設定檔的規則。
    New-DeployRule -Name "testrule" -Item "My Profile25" -Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"

    如果名稱中包含空格,則必須使用雙引號,否則可自行選擇是否使用雙引號。指定 -AllHosts (而非模式),可將項目套用到所有主機。

    此 cmdlet 會建立名為 testrule 的規則。該規則會將名為 My Profile25 的映像設定檔指派給廠商為 Acme 或 Zven 且 IP 位址在指定範圍內的所有主機。
  6. 將規則新增到規則集。
    Add-DeployRule testrule
    依預設,該規則會新增到工作規則集和作用中規則集。如果使用 NoActivate 參數,則工作規則集不會變為作用中規則集。

結果

當主機從 iPXE 開機時,它會向主控台報告機器屬性。撰寫部署規則時,請使用相同的屬性格式。

******************************************************************
* Booting through VMware AutoDeploy...
*
* Machine attributes:
* . asset=No Asset Tag
* . domain=vmware.com
* . hostname=myhost.mycompany.com
* . ipv4=XX.XX.XXX.XXX
* . mac=XX:Xa:Xb:Xc:Xx:XX
* . model=MyVendorModel
* . oemstring=Product ID: XXXXXX-XXX
* . serial=XX XX XX XX XX XX...
* . uuid=XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX
* . vendor=MyVendor
******************************************************************

下一步

  • 對於已使用 vSphere Auto Deploy 佈建的主機,請執行符合性測試和修復作業,以便使用新的映像設定檔佈建這些主機。請參閱測試和修復規則符合性
  • 開啟未佈建的主機,使用新的映像設定檔進行佈建。

撰寫規則並將主機設定檔指派給主機

vSphere Auto Deploy 可以將一個主機設定檔指派給一或多個 ESXi 主機。

在許多情況下,將主機指派給叢集,而非明確指定主機設定檔。主機使用叢集的主機設定檔。

必要條件

主機設定檔可能包含主機的儲存區組態、網路組態或其他特性的相關資訊。如果將主機新增到叢集,則會使用該叢集的主機設定檔。

程序

  1. PowerCLI 工作階段中,執行 Connect-VIServer cmdlet 以連線至 vSphere Auto Deploy 向其登錄的 vCenter Server 系統。
    Connect-VIServer ipv4_or_ipv6_address
    cmdlet 可能會傳回伺服器憑證警告。在生產環境中,請確保不會產生伺服器憑證警告。在開發環境中,可以忽略此警告。
  2. 使用 vSphere Client 設定主機,使該主機具有您要使用的設定,然後從該主機建立主機設定檔。
  3. 透過執行在 ESXi 主機 (您透過該主機建立主機設定檔) 中傳遞的 Get-VMhostProfile PowerCLI cmdlet,尋找主機設定檔的名稱。
  4. PowerCLI 提示字元中,定義針對具有某些屬性 (例如 IP 位址範圍) 的主機指派主機設定檔的規則。
    New-DeployRule -Name "testrule2" -Item my_host_profile -Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"
    將指定項目指派給具有指定屬性的所有主機。此範例指定名為 testrule2 的規則。該規則將指定的主機設定檔 my_host_profile 指派給 IP 位址在指定範圍內,且製造商為 Acme 或 Zven 的所有主機。
  5. 將規則新增到規則集。
    Add-DeployRule testrule2
    依預設,工作規則集會成為作用中規則集,規則集的所有變更會在新增規則時處於作用中狀態。如果使用 NoActivate 參數,則工作規則集不會變為作用中規則集。

下一步

  • 透過對這些主機執行符合性測試和修復作業,將已使用 vSphere Auto Deploy 佈建的主機指派給新的主機設定檔。如需詳細資訊,請參閱 測試和修復規則符合性
  • 將未佈建的主機開啟電源,使用主機設定檔進行佈建。

撰寫規則並將主機指派給資料夾或叢集

vSphere Auto Deploy 可以將主機指派給資料夾或叢集。當主機開機時,vSphere Auto Deploy 會將其新增到vCenter Server上的指定位置。指派給叢集的主機會繼承叢集的主機設定檔。

必要條件

  • 準備您的系統並安裝 Auto Deploy 伺服器。如需詳細資訊,請參閱 為 vSphere Auto Deploy 準備系統
  • 確認所選資料夾位於資料中心或叢集中。您無法將主機指派給獨立頂層資料夾。

程序

  1. PowerCLI 工作階段中,執行 Connect-VIServer cmdlet 以連線至 vSphere Auto Deploy 向其登錄的 vCenter Server 系統。
    Connect-VIServer ipv4_or_ipv6_address
    cmdlet 可能會傳回伺服器憑證警告。在生產環境中,請確保不會產生伺服器憑證警告。在開發環境中,可以忽略此警告。
  2. 定義將具有某些屬性 (例如 IP 位址範圍) 的主機指派給資料夾或叢集的規則。
    New-DeployRule -Name testrule3 -Item "my folder"	-Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"
    此範例會依名稱傳入資料夾。您可以改為傳入使用 Get-FolderGet-ClusterGet-Datacenter cmdlet 擷取的資料夾、叢集或資料中心物件。
  3. 將規則新增到規則集。
    Add-DeployRule testrule3
    依預設,工作規則集會成為作用中規則集,規則集的所有變更會在新增規則時處於作用中狀態。如果使用 NoActivate參數,則工作規則集不會變為作用中規則集。

下一步

  • 執行測試和修復符合性作業,以將已使用 vSphere Auto Deploy 佈建的主機指派到新資料夾或叢集位置。請參閱測試和修復規則符合性
  • 開啟未佈建的主機電源,將其新增到指定的 vCenter Server位置。

執行自訂指令碼來設定無狀態系統

您可以使用 vSphere Auto Deploy 將自訂指令碼與某個 vSphere Auto Deploy 規則建立關聯,藉以設定一或多個主機。

這些指令碼會接在主機的初始 ESXi 開機工作流程後按字母順序執行。

必要條件

  • 請確認您要與 vSphere Auto Deploy 規則建立關聯的指令碼服務包為 .tgz 格式、最大不超過 10 MB,而且是以 Python 或 BusyBox ash 指令碼語言撰寫。

程序

  1. PowerCLI 工作階段中,執行 Connect-VIServer cmdlet 以連線至 vSphere Auto Deploy 向其登錄的 vCenter Server 系統。
    Connect-VIServer ipv4_or_ipv6_address
    cmdlet 可能會傳回伺服器憑證警告。在生產環境中,請確保不會產生伺服器憑證警告。在開發環境中,可以忽略此警告。
  2. 執行 Add-ScriptBundle cmdlet,新增包含必要指令碼的指令碼服務包至 vSphere Auto Deploy 詳細目錄。
    Add-ScriptBundle c:/temp/MyScriptBundle.tgz
    指令碼服務包的名稱 (不含副檔名 .tgz) 是指令碼服務包項目的名稱識別碼或物件。您可以對 Add-ScriptBundle cmdlet 使用 -Update 參數來更新現有指令碼服務包。
  3. (選擇性) 執行 Get-ScriptBundle cmdlet 以確認指令碼服務包已新增至 vSphere Auto Deploy 詳細目錄。
  4. 定義將具有特定屬性 (例如 IP 位址範圍) 的主機指派給指令碼服務包的規則。
    New-DeployRule -Name "testrule4" -Item "MyScriptBundle" -Pattern "vendor=Acme,Zven", "ipv4=192.XXX.1.10-192.XXX.1.20"

    如果名稱中包含空格,則必須使用雙引號,否則可自行選擇是否使用雙引號。指定 -AllHosts (而非模式),可將項目套用到所有主機。

    您會建立名為 testrule4 的規則。該規則會將名為 My Script Bundle 的指令碼服務包指派給廠商為 Acme 或 Zven 且 IP 位址在指定範圍內的所有主機。您可以使用指令碼服務包 (或 Get-ScriptBundle cmdlet 所傳回物件) 的名稱識別碼,識別要與規則建立關聯的指令碼服務包。
  5. 將規則新增到規則集。
    Add-DeployRule testrule4
    依預設,該規則會新增到工作規則集和作用中規則集。如果使用 NoActivate 參數,則工作規則集不會變為作用中規則集。

下一步

  • 對於已使用 vSphere Auto Deploy 佈建的主機,請執行符合性測試和修復作業,以使用新的指令碼來佈建這些主機。請參閱測試和修復規則符合性
  • 開啟未佈建的主機,以使用新的指令碼進行佈建。

測試和修復規則符合性

測試新規則或已修改規則的符合性並相應地進行修復,因為 vSphere Auto Deploy 規則集中的變更不會自動更新。

必要條件

將規則新增到 vSphere Auto Deploy 規則集或修改一或多個規則時,主機不會自動更新。僅當測試其規則符合性並執行修復時,vSphere Auto Deploy 才會套用新規則。
  • 準備您的系統並安裝 Auto Deploy 伺服器。如需詳細資訊,請參閱 為 vSphere Auto Deploy 準備系統
  • 確認基礎結構中包含一或多部使用 vSphere Auto Deploy 佈建的 ESXi 主機,且安裝有 PowerCLI 的主機可以存取這些 ESXi 主機。

程序

  1. PowerCLI 工作階段中,執行 Connect-VIServer cmdlet 以連線至 vSphere Auto Deploy 向其登錄的 vCenter Server 系統。
    Connect-VIServer ipv4_or_ipv6_address
    cmdlet 可能會傳回伺服器憑證警告。在生產環境中,請確保不會產生伺服器憑證警告。在開發環境中,可以忽略此警告。
  2. 使用 PowerCLI 檢查目前可用的 vSphere Auto Deploy 規則。
    Get-DeployRule
    系統會傳回規則及相關聯的項目和模式。
  3. 修改其中一個可用的規則。

    例如,您可以變更此規則的映像設定檔和名稱。

    Copy-DeployRule -DeployRule testrule -ReplaceItem MyNewProfile 
    			 
    無法編輯已新增到作用中規則集的規則。但可以複製規則並取代要變更的項目或模式。
  4. 確認可以存取要測試規則集符合性的主機。
    Get-VMHost -Name MyEsxi42
  5. 執行用於測試主機規則集符合性的 cmdlet,並將傳回值繫結到變數供以後使用。
    $tr = Test-DeployRuleSetCompliance MyEsxi42
  6. 檢查規則集與主機組態的內容之間的差異。
    $tr.itemlist
    如果您想要測試新規則集符合性的主機符合作用中規則集,系統會傳回目前項目和預期項目的資料表。
    CurrentItem                             ExpectedItem
    -----------                             ------------   
    My Profile 25                           MyNewProfile
    
  7. 修復主機,下次將主機開機時即可使用修訂的規則集。
    Repair-DeployRuleSetCompliance $tr

下一步

如果您變更的規則已指定詳細目錄位置,則變更會在您修復符合性時生效。對於所有其他變更,請將主機重新開機以使 vSphere Auto Deploy 套用新規則並實現規則集與主機之間的符合性。

使用 vSphere Auto Deploy 登錄快取 Proxy 伺服器位址

同時對大量無狀態主機進行開機,會對 vSphere Auto Deploy 伺服器造成沉重負載。您可以將 vSphere Auto Deploy 伺服器與您向 vSphere Auto Deploy 登錄之一或多個 Proxy 伺服器之間的往來要求進行負載平衡。

必要條件

程序

  1. PowerCLI 工作階段中,執行 Connect-VIServer cmdlet 以連線至 vSphere Auto Deploy 向其登錄的 vCenter Server 系統。
    Connect-VIServer ipv4_or_ipv6_address
    cmdlet 可能會傳回伺服器憑證警告。在生產環境中,請確保不會產生伺服器憑證警告。在開發環境中,可以忽略此警告。
  2. 透過執行 Add-ProxyServer cmdlet,向 vSphere Auto Deploy 登錄快取 Proxy 伺服器位址。
    Add-ProxyServer -Address 'https://proxy_server_ip_address:port_number'
    您可以執行 cmdlet 多次以登錄多部 Proxy 伺服器。此位址可包含連接埠號碼。
  3. (選擇性) 執行 List-ProxyServer cmdlet,確認已向 vSphere Auto Deploy 登錄快取 Proxy 伺服器。