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

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

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

如需如何定義基本映像對應的範例,請參閱 新增映像對應

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

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

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

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

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

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

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

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

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

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

檢視 OVF 詳細資料

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

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

使用限制和標籤細分映像選取

若要在雲端範本中進一步細分映像選取,您可以新增一或多項限制,以對可部署的映像類型指定以標籤為基礎的限制。當您建立或編輯映像對應組態時顯示的提供的限制範例為 !license:none:hard。此範例說明了以標籤為基礎的限制,僅當雲端範本中存在 license:none 標籤時,才可以使用映像。如果新增標籤 (例如 license:88license:92),則僅當 license:88license:92 標籤存在於雲端範本中時,才能使用指定的映像。

上述討論的映像對應限制範例的圖片

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

您可以在映像對應和/或雲端範本中使用雲端組態指令碼,來定義要在 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}

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

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

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

如需相關資訊,請參閱合併使用者資料區段

vCenter 內容程式庫新增映像

為映像對應列選取映像時,您可以選取任何列出的可用映像。這包括您有權存取的發佈者或訂閱者 vCenter 程式庫中的 OVF 和虛擬機器範本映像。無論映像是作為複製的機器範本還是作為複製的 OVF 範本新增到了 vCenter 程式庫中,內容程式庫中的映像都受到支援。

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

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

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

另請參閱 VMware 部落格文章使用 vRealize Automation 8 或 vRealize Automation Cloud 時透過 Cloud-init 自訂 vSphere使用 Cloud-Init 自訂 Cloud Assembly 部署