您可以使用 vRealize Orchestrator 工作流程建立可用於建置雲端範本的自訂資源。在此使用案例中,您可以新增一個自訂資源來新增 SSH 主機。然後,您可以將該資源包含在雲端範本中。此程序還會新增更新工作流程,讓使用者可以在部署後變更 SSH 組態,而不是執行各個第 2 天動作。
自訂資源是使用自訂資源中定義的生命週期動作透過 vRealize Automation 管理的 vRealize Orchestrator 或擴充性動作物件。觸發與特定生命週期動作相關聯的作業時,雲端範本服務會自動呼叫相應的 vRealize Orchestrator 工作流程或擴充性動作。此外,還可以透過選取可用作第 2 天作業的 vRealize Orchestrator 工作流程或擴充性動作來延伸資源類型的功能。
此使用案例使用 vRealize Orchestrator 程式庫中提供的內建工作流程。其中包括示範如何執行該程序的規範性值或字串。可以根據您的環境需求修改這些內容。
出於參考目的,此使用案例使用名為 DevOpsTesting 的專案。您可以將此專案取代為已有的專案。
程序
- 建立 SSH 主機自訂資源,以將 SSH 新增至雲端範本。
此步驟會將自訂資源作為資源類型新增至雲端範本設計畫布。
- 在 Cloud Assembly 中,選取,然後按一下新增自訂資源。
- 提供下列值。
請記住,除了工作流程名稱之外,這些都是範例值。
表 1.
設定 |
範例值 |
名稱 |
SSH Host - DevOpsTesting Project 這是顯示在雲端範本資源類型調色盤中的名稱。 |
資源類型 |
Custom.SSHHost 資源類型必須以 Custom. 開頭,並且每個資源類型必須是唯一的。 雖然文字方塊中未驗證是否包含 Custom.,但是如果您移除該字串,則會自動將其新增。 此資源類型會新增至設計畫布,以便您可以在雲端範本中使用它。 |
- 若要在雲端範本資源類型清單中啟用此資源類型,請確認啟動選項是否已開啟。
- 選取範圍設定,使資源類型可供 DevOpsTesting 專案使用。
- 在依據下,確認選取 vRO 詳細目錄作為生命週期動作提供者。
- 選取用於定義資源的工作流程。
設定 |
設定 |
生命週期動作 - 建立 |
選取新增 SSH 主機工作流程。 如果您有多個 vRealize Orchestrator 整合,請在您用來執行這些自訂資源的整合執行個體上選取工作流程。 選取工作流程後,[外部類型] 下拉式功能表將變為可用,並且會自動設定為 SSH:Host 。如果共用外部來源類型,則只能使用一次此類型,並且每個專案只能使用一次。在此使用案例中,您僅為 DevOpsTesting 專案提供自訂資源。如果您有其他工作流程需要 SSH:Host 類型,則必須為每個專案建立單獨的自訂資源。 |
生命週期動作 - 更新 |
選取更新 SSH 主機工作流程。 |
生命週期動作 - 銷毀 |
選取移除 SSH 主機工作流程。 |
- 檢閱架構金鑰並在內容索引標籤中輸入值,以便您瞭解工作流程輸入,從而在雲端範本中設定輸入。
架構會列出工作流程中定義的必要輸入值和可選輸入值。雲端範本 YAML 中包含所需的輸入值。
在新增 SSH 主機工作流程中,hostname
、port
和 username
是必要的輸入值。其他架構內容不是必要的。還可以使用架構來確定要建立與其他欄位值、工作流程或動作的繫結的位置。此使用案例中不包括繫結。
- 若要完成建立自訂資源,請按一下建立。
- 建立雲端範本,以在部署時新增 SSH 主機。
- 選取,然後按一下。
- 將雲端範本命名為 Machine with SSH Host。
- 選取 DevOpsTesting 專案,然後按一下建立。
- 新增並設定 vSphere 機器。
- 從雲端範本設計頁面左側的自訂資源清單中,將 SSH Host - DevOpsTesting Project 資源類型拖曳至畫布。
備註: 可以透過以下方法選取自訂資源:向下捲動並從左窗格中選取該資源,或在
搜尋資源類型文字方塊中進行搜尋。如果未顯示自訂資源,請按一下
搜尋資源類型文字方塊旁的 [重新整理] 按鈕。
提醒:資源類型可供使用,因為已為專案設定該類型。如果您為其他專案建立雲端範本,則無法看到該資源類型。
- 在右側編輯 YAML 程式碼,以新增必要的輸入值。
在代碼中新增
inputs
區段,以便使用者能夠在部署時提供使用者名稱和主機名稱。在此範例中,連接埠預設值為 22。在下列範例中,其中一些值是範例資料。您的值可能會有所不同。
inputs:
hostname:
type: string
title: The hostname of the SSH Host
username:
type: string
title: Username
- 在
resources
區段中,新增 ${input.input-name}
代碼以提示使用者選取。
resources:
Custom_SSHHost_1:
type: Custom.SSHHost
properties:
port: 22
hostname: '${input.hostname}'
username: '${input.username}'
- 部署雲端範本。
- 在雲端範本設計工具頁面中,按一下部署。
- 輸入部署名稱 SSH Host Test。
- 選取雲端範本版本,然後按下一步。
- 完成部署輸入。
- 按一下部署。
- 在部署頁面上監控佈建請求,以確保 SSH 主機包含在部署中且部署成功。
下一步
當經過測試的雲端範本正常運作時,您可以開始在其他雲端範本中使用 SSH Host 自訂資源。