您可以使用 vRealize Orchestrator 工作流程建立可用於建置雲端範本的自訂資源。在此使用案例中,您可以新增一個自訂資源來新增 SSH 主機。然後,您可以將該資源包含在雲端範本中。此程序還會新增更新工作流程,讓使用者可以在部署後變更 SSH 組態,而不是執行各個第 2 天動作。

自訂資源是 vRealize Orchestrator 物件,您可以使用定義的主要資源作業工作流程透過 vRealize Automation Cloud 進行管理。觸發建立或刪除作業時,雲端範本服務會自動呼叫適當的 vRealize Orchestrator 工作流程。此外,還可以透過選取可用作第 2 天作業的 vRealize Orchestrator 工作流程來延伸資源類型的功能。

此使用案例使用 vRealize Orchestrator 程式庫中提供的內建工作流程。其中包括示範如何執行該程序的規範性值或字串。可以根據您的環境需求修改這些內容。

出於參考目的,此使用案例使用名為 DevOpsTesting 的專案。您可以將此專案取代為已有的專案。

必要條件

  • 確認您已設定 vRealize Orchestrator 整合。請參閱在 Cloud Assembly 中設定 vRealize Orchestrator 整合
  • 確認您要用於建立、更新、銷毀和第 2 天動作的工作流程存在於 vRealize Orchestrator 中,並在其中成功執行。
  • vRealize Orchestrator 中,找到工作流程所使用的資源類型。此自訂資源中包括的工作流程必須全部使用相同的資源類型。在此使用案例中,資源類型為 SSH:Host。如需有關資源類型驗證的詳細資訊,請參閱如何建立要在 Cloud Assembly 雲端範本中使用的自訂資源類型
  • 確認您瞭解如何設定和部署機器雲端範本。

程序

  1. 建立 SSH 主機自訂資源,以將 SSH 新增至雲端範本。
    此步驟會將自訂資源作為資源類型新增至雲端範本設計畫布。
    1. Cloud Assembly 中,選取設計 > 自訂資源,然後按一下新增自訂資源
    2. 提供下列值。

      請記住,除了工作流程名稱之外,這些都是範例值。

      表 1.
      設定 範例值
      名稱 SSH Host - DevOpsTesting Project

      這是顯示在雲端範本資源類型調色盤中的名稱。

      資源類型 Custom.SSHHost

      資源類型必須以 Custom. 開頭,並且每個資源類型必須是唯一的。

      雖然文字方塊中未驗證是否包含 Custom.,但是如果您移除該字串,則會自動將其新增。

      此資源類型會新增至設計畫布,以便您可以在雲端範本中使用它。

    3. 若要在雲端範本資源類型清單中啟用此資源類型,請確認啟動選項是否已開啟。
    4. 選取範圍設定,使資源類型可供 DevOpsTesting 專案使用。
    5. 選取用於定義資源的工作流程。
      設定 設定
      生命週期動作 - 建立 選取新增 SSH 主機工作流程。

      如果您有多個 vRealize Orchestrator 整合,請在您用來執行這些自訂資源的整合執行個體上選取工作流程。

      選取工作流程後,[外部類型] 下拉式功能表將變為可用,並且會自動設定為 SSH:Host。如果共用外部來源類型,則只能使用一次此類型,並且每個專案只能使用一次。在此使用案例中,您僅為 DevOpsTesting 專案提供自訂資源。如果您有其他工作流程需要 SSH:Host 類型,則必須為每個專案建立單獨的自訂資源。

      生命週期動作 - 更新 選取更新 SSH 主機工作流程。
      生命週期動作 - 銷毀 選取移除 SSH 主機工作流程。
    6. 檢閱架構金鑰並在內容索引標籤中輸入值,以便您瞭解工作流程輸入,從而在雲端範本中設定輸入。
      架構會列出工作流程中定義的必要輸入值和可選輸入值。雲端範本 YAML 中包含所需的輸入值。

      新增 SSH 主機工作流程中,hostnameportusername 是必要的輸入值。其他架構內容不是必要的。還可以使用架構來確定要建立與其他欄位值、工作流程或動作的繫結的位置。此使用案例中不包括繫結。

    7. 若要完成建立自訂資源,請按一下建立
  2. 建立雲端範本,以在部署時新增 SSH 主機。
    1. 選取設計 > 雲端範本,然後按一下新增自 > 空白畫布
    2. 將雲端範本命名為 Machine with SSH Host
    3. 選取 DevOpsTesting 專案,然後按一下建立
    4. 新增並設定 vSphere 機器。
    5. 從雲端範本設計頁面左側的自訂資源清單中,將 SSH Host - DevOpsTesting Project 資源類型拖曳至畫布。
      備註: 可以透過以下方法選取自訂資源:向下捲動並從左窗格中選取該資源,或在 搜尋資源類型文字方塊中進行搜尋。如果未顯示自訂資源,請按一下 搜尋資源類型文字方塊旁的 [重新整理] 按鈕。
      提醒:資源類型可供使用,因為已為專案設定該類型。如果您為其他專案建立雲端範本,則無法看到該資源類型。
    6. 在右側編輯 YAML 程式碼,以新增必要的輸入值。
      在代碼中新增 inputs 區段,以便使用者能夠在部署時提供使用者名稱和主機名稱。在此範例中,連接埠預設值為 22。在下列範例中,其中一些值是範例資料。您的值可能會有所不同。
      inputs: 
        hostname:
          type: string
          title: The hostname of the SSH Host
        username:
          type: string
          title: Username
      
    7. resources 區段中,新增 ${input.input-name} 代碼以提示使用者選取。
      resources:
        Custom_SSHHost_1:
          type: Custom.SSHHost
          properties:
            port: 22
            hostname: '${input.hostname}'
            username: '${input.username}'
      
  3. 部署雲端範本。
    1. 在雲端範本設計工具頁面上,按一下部署
    2. 輸入部署名稱 SSH Host Test
    3. 選取雲端範本版本,然後按下一步
    4. 完成部署輸入。
    5. 按一下部署
  4. 監控佈建程序,以確保 SSH 主機包含在部署中。
    1. 按一下部署並找到 SSH Host Test 部署。
    2. 監控請求狀態並確認部署是否成功。

後續步驟

當經過測試的雲端範本正常運作時,您可以開始在其他雲端範本中使用 SSH Host 自訂資源。