映像對應使用自然語言命名對 vRealize Automation 中的特定雲端帳戶/區域的一組預先定義的目標作業系統規格進行分組。

Microsoft AzureAmazon Web Services 等雲端廠商帳戶使用映像將一組目標部署條件分組到一起,其中包括作業系統和相關組態設定。基於 vCenterNSX 的環境 (包括 VMware Cloud on AWS) 使用類似的分組機制來定義一組作業系統部署條件。建置並最終部署和反覆查看範本時,選取最符合您需求的可用映像。

按類似的作業系統設定、標記策略和正常運作的部署意圖組織整理專案的映像對應。

若要簡化範本建立,您可以在新增雲端帳戶時選取預先設定選項。選取預先設定選項時,將選取指定區域的組織最常用的類型模板對應和映像對應。

將映像資訊新增至範本時,您可以使用機器元件的 properties 區段中的 imageimageRef 項目。例如,如果要從快照複製,請使用 imageRef 內容。

如需範本代碼中 imageimageRef 項目的範例,請參閱設計 Cloud Assembly 部署

若要指派內容程式庫的權限,管理員必須將該權限做為全域權限授與使用者。如需相關資訊,請參閱 VMware vSphere 說明文件《vSphere 虛擬機器管理》中的〈內容程式庫權限的階層式繼承〉

同步雲端帳戶/區域的映像

若要確保正在 Cloud Assembly 基礎結構 > 設定 > 映像對應頁面上為指定雲端帳戶/區域新增或移除的映像為最新映像,請執行映像同步。
  1. 透過在 Cloud Assembly 中選取基礎結構 > 連線 > 雲端帳戶,開啟相關聯的雲端帳戶/區域
  2. 選取現有的雲端帳戶/區域。
  3. 按一下同步映像按鈕,並讓動作完成。

    [雲端帳戶] 頁面上的 [同步映像] 圖示的圖片

  4. 當動作完成時,按一下基礎結構 > 設定 > 映像對應
  5. 定義新的映像對應或編輯現有的映像對應,然後從步驟 1 中選取雲端帳戶/區域。
  6. 按一下映像對應頁面上的 [映像同步] 圖示。

    [映像對應] 頁面上顯示的映像同步圖示

  7. 映像對應頁面上,為指定的雲端帳戶/區域設定映像對應設定。

檢視 OVF 詳細資料

您可以將 OVF 規格納入 Cloud Assembly 範本物件中,例如 vCenter 機器元件和映像對應。如果您的映像包含 OVF 檔案,您可以在未開啟檔案的情況下探索其內容。將游標暫留在檢視 OVF 詳細資料選項上可顯示 OVF 詳細資料,包括其名稱和位置。如需有關 OVF 檔案格式的詳細資訊,請參閱 vcenter ovf: property。若要檢視 OVF 詳細資料,映像對應必須駐留在 Web 伺服器上。

將游標暫留在 [檢視 OVF 詳細資料] 符號上並按一下以查看 OVF 內容

備註: 從範本佈建時,無法使用 vCenter 或內容程式庫中映像的 OVF 內容。如果 OVF 直接託管在 vCenter 中, 檢視 OVF 詳細資料選項將不可見,也無法以其他方式使用。 檢視 OVF 詳細資料選項不適用於內容程式庫中的映像。

如需有關透過在對應欄位中使用 OVF 連結檢視 OVF 詳細資料的相關資訊,請參閱外部文章 OVA 中的雲端範本

使用 Microsoft Azure 映像庫中共用的最新映像

Microsoft Azure 建立映像對應時,可以從訂閱中的共用 Azure 映像庫中選取映像。將對下拉式功能表中的映像進行資料收集,並根據您選取的區域提供使用。

雖然可以跨多個訂閱使用共用映像庫,但無法在跨訂閱的映像對應下拉式功能表中將其列出。只有特定訂閱的映像會進行資料收集並列於映像對應清單中。若要從不同訂閱中的映像庫使用映像,請提供映像對應中的映像識別碼,然後在範本中使用該映像對應。

使用限制和標籤為映像選取適合的計算資源

可以使用映像限制根據計算資源的標籤選取適合的計算資源。例如,如果在特定映像上具有 tag1 限制,並且在配置期間選取了該映像,則會選取具有標籤 tag1 的計算資源來放置正在佈建的機器。如果不存在此類計算資源,則機器的配置將失敗。

使用雲端組態指令碼控制部署

您可以在映像對應和/或範本中使用雲端組態指令碼,來定義要在 Cloud Assembly 部署中使用的自訂作業系統特性。例如,根據您要將範本部署到公有雲或私有雲,您可以對映像套用特定的使用者權限、作業系統權限或其他條件。雲端組態指令碼遵守 cloud-init 格式 (Linux 系統的映像) 或 cloudbase-init 格式 (Windows 系統的映像)。Cloud Assembly 支援適用於 Linux 系統的 cloud-init 工具和適用於 Windows 系統的 cloudbase-init 工具。

對於 Windows 機器,您可以使用 cloudbase-init 支援的任何雲端組態指令碼格式。

下列範例範本代碼中的機器資源使用包含雲端組態指令碼的映像,該映像的內容顯示在 image 項目中。
resources:
  demo-machine:
    type: Cloud.vSphere.Machine
    properties:
      flavor: small
      image: MyUbuntu16 
        https://cloud-images.ubuntu.com/releases/16.04/release-20170307/ami-ubuntu-16.04-1.10.3-00-15269239.ova
      cloudConfig: |
        ssh_pwauth: yes
        chpasswd:
          list: |
            ${input.username}:${input.password}
          expire: false
        users:
          - default
          - name: ${input.username}
            lock_passwd: false
            sudo: ['ALL=(ALL) NOPASSWD:ALL']
            groups: [wheel, sudo, admin]
            shell: '/bin/bash'
        runcmd:
          - echo "Defaults:${input.username}  !requiretty" >> /etc/sudoers.d/${input.username}

在範本中直接使用 cloudConfig 時,動態內容評估將起作用,但對於映像對應中的 cloudConfig 不受支援。

在範本代碼中,可以使用 image 設定參考定義為映像對應的映像。可以使用 imageRef 設定識別包含快照 (對於連結複製)、映像範本或內容程式庫範本 OVF 的範本。

映像對應和範本包含雲端組態指令碼時會發生什麼情況

當包含雲端組態指令碼的範本使用映像對應且該對應包含雲端組態指令碼時,則會組合使用兩個指令碼。合併動作會先處理映像對應指令碼的內容,接著處理範本指令碼的內容,同時考慮是否將指令碼設為 #cloud-config 格式。

  • 對於採用 #cloud-config 格式的指令碼,合併動作將會合併每個模組的內容 (例如 runcmduserswrite_files),如下所示:
    • 對於內容為清單的模組,會合併映像對應和範本中的命令清單,以排除兩個清單中相同的命令。
    • 對於內容為字典的模組,會合併命令,並且結果是兩個字典的組合。如果兩個字典中都存在相同的金鑰,則會保留映像對應指令碼字典中的金鑰,並忽略範本指令碼字典中的金鑰。
    • 對於內容為字串的模組,會保留映像對應指令碼中的內容值,並忽略範本指令碼中的內容值。
  • 對於未採用 #cloud-config 格式的指令碼,或者一個指令碼採用 #cloud-config 格式,而另一個指令碼未採用此格式,則會按照以下方式合併兩個指令碼:先執行映像對應指令碼,然後在映像對應指令碼完成時執行範本指令碼。

vCenter 內容程式庫新增映像

當本機或發佈者內容程式庫位於由 vRealize Automation 組織管理的 vCenter 中時,內容程式庫範本映像會顯示在映像下拉式功能表中。所列映像包括本機或發佈者 vCenter 內容程式庫中的 OVF 和虛擬機器範本映像。訂閱者內容程式庫中的映像不會顯示在下拉式功能表中。從中複製虛擬機器的範本會顯示在機器部署使用者介面的機器詳細資料區段中。

映像顯示一個程式庫項目,其中映像名稱以程式庫名稱開頭,並以正斜線字元分隔

備註:

如果發佈者內容程式庫 vCentervRealize Automation 管理,則發佈者資訊會以下列格式顯示在映像對應選取網格中:publisher_content_library_name / content_item_name

若要指派內容程式庫的權限,管理員必須將該權限做為全域權限授與使用者。如需相關資訊,請參閱 VMware vSphere 說明文件《vSphere 虛擬機器管理》中的〈內容程式庫權限的階層式繼承〉

如果發佈者內容程式庫 vCenter 不是由 vRealize Automation 管理,則訂閱者資訊會以下列格式顯示在映像對應選取網格中:subscriber_content_library_name / content_item_name

例如,在以下案例中,只有訂閱者內容程式庫項目顯示在 vRealize Automation 映像對應清單中:
  • 對於名為 VC-1 的 vCenter,VC 中有一個訂閱者內容程式庫,並在 vRealize Automation 中建立了一個與 VC-1 關聯的雲端帳戶。
  • 對於名為 VC-2 的 vCenter,VC 中有一個發佈者內容程式庫,VC-1 的訂閱者內容程式庫已訂閱該發佈者內容程式庫。但是,vRealize Automation 中沒有與 VC-2 關聯的雲端帳戶。

    由於 VC-1 與 vRealize Automation 雲端帳戶相關聯,因此訂閱者內容程式庫在 vRealize Automation 中可用。將收集其內容並顯示在 vRealize Automation 映像對應清單中。但是,由於 VC-2 未與雲端帳戶關聯,vRealize Automation 不瞭解其發佈者內容程式庫。若要在映像對應清單中顯示發佈者內容程式庫項目,您必須將雲端帳戶與 VC-2 vCenter 相關聯。

部署包含虛擬機器範本映像對應的範本時,vRealize Automation 會嘗試存取內容程式庫中最靠近資料存放區的對應映像,接著存取最靠近要佈建之機器的主機的對應映像。這可能包括本機內容程式庫以及發佈者或訂閱者內容程式庫。

部署包含 OVF 範本映像對應的範本時,如果映像位於本機內容程式庫或指定的遠端發佈者內容程式庫的本機訂閱者中,則可以按照映像對應列所指定的內容存取 OVF 映像。

如需建立和使用 vCenter 內容程式庫的相關資訊,請參閱 vSphere 產品說明文件中的〈使用內容程式庫〉以及 VMware 部落格文章如何使用內容程式庫使用 vSphere 內容程式庫管理範本

有關設定和使用雲端組態指令碼的詳細資訊

如需有關在範本中使用雲端組態指令碼的詳細資訊,請參閱Cloud Assembly 中的機器初始化

另請參閱 VMware 部落格文章 vSphere 自訂與 Cloud-init使用 Cloud-Init 自訂部署