做為雲端或專案管理員,您對環境中的資源有一個指定的命名慣例,並且您希望已部署的資源遵循這些慣例,而無需使用者互動。可以在 Cloud Assembly 中為部分或所有部署建立全域命名範本。
首先,您可以建立專案層級的自訂名稱或組織層級名稱。專案層級的自訂名稱優先於組織層級名稱。此範例從簡單的組織自訂名稱開始,然後新增專案層級的命名。
Retries exhausted
錯誤。如果這種情況很常見,則不應將新的自訂名稱套用至發生此情況的專案或組織。應使用預設系統命名,而不是自訂命名選項。
首要事項
- 為示範自訂命名功能,這些使用案例需要兩個專案。一個命名為 Sales,另一個命名為 Marketing。如需有關建立專案的詳細資訊,請參閱如何為我的 Cloud Assembly 開發團隊新增專案。
- 在選擇組織範本和專案範本時,請確保您瞭解哪個命名慣例優先。請參閱部署時的資源命名優先順序。
- 使用範本格式建立範本時,將提供可能的內容。如需詳細資訊,請參閱使用範本格式。
建立組織層級的自訂範本
如果希望為沒有專案層級範本的部署使用預設自訂名稱範本,請建立組織範圍的範本。
- 選取新增自訂名稱。 ,然後按一下
- 輸入名稱。
此範例使用 Prefix and Timestamp for Org。
- 選取組織作為範圍。
- 按一下新增命名範本並設定以下選項。
選項 範例值 資源類型 機器 範本格式 mcm-${timestamp}-${######} 起始計數器值 1 增量步長 1 透過此組態,所有專案的所有部署都將從此起點遞增。
在此範例中,起始計數器為 1,增量為 1,第一個部署編號為 2。如果部署需要從 1 開始,則將起始計數器設定為零,並將增量步長設定為 1。
- 按一下新增。
- 使用以下範例繼續為其他資源類型新增範本。
資源類型名稱 命名範本格式 機器 mcm-${timestamp}-${##}
網路 ntw-${timestamp}-${##}
儲存區 stg-${timestamp}-${##}
負載平衡器 ldb-${timestamp}-${##}
資源群組 rsg-${timestamp}-${##}
閘道 gtw-${timestamp}-${##}
NAT nat-${timestamp}-${##}
安全群組 scg-${timestamp}-${##}
- 按一下建立。
- 透過部署包含已定義資源類型的範本來測試名稱範本。
建立具有進階模式比對的專案層級自訂範本
可以建立一個可指派給不同專案的自訂名稱範本。可以使用進階選項為不同的專案設定不同的編號起點。
此範例使用機器資源。
- 選取新增自訂名稱。 ,然後按一下
- 輸入名稱。
此範例使用 Project Name with Advanced Numbering。
- 選取專案作為範圍。
- 按一下新增命名範本並設定以下選項。
選項 範例值 資源類型 機器 範本格式 ${project.name}-${######} 起始計數器值 1 增量步長 1 透過此組態,已指派專案中的部署將從此起點遞增。
在此範例中,起始計數器為 1,增量為 1,第一個部署編號為 2。如果部署需要從 1 開始,則將起始計數器設定為零,並將增量步長設定為 1。以 1 作為起始值時,ProjectA 以 2 開始,ProjectB 也以 2 開始,除非該值被進階比對模式值覆寫。
- 若要進一步細分預設組織命名範本,請按一下進階,然後按一下新增比對模式。
可以設定不同的命名模式,以不同的數字開始計數器,也可以將每個模式的數字重設為 1。例如,Sales 專案編號從 100 開始,Marketing 專案編號從 200 開始。
- 輸入 Sales 專案的模式。
選項 範例值 模式文字 Sales- 起始計數器值 100 - 輸入 Marketing 專案的模式。
選項 範例值 模式文字 Marketing- 起始計數器值 200
- 輸入 Sales 專案的模式。
- 按一下新增。
- 根據需要繼續為其他資源類型新增範本。
- 按一下指派專案,然後新增 Sales 和 Marketing 專案。
- 按一下建立。
- 測試名稱範本,首先部署 Sales 專案中的雲端範本,然後再部署 Marketing 專案中的雲端範本。
具有自訂內容和專案特定值的自訂名稱範例
除了範本格式自動填充選項中提供的內容之外,還可以使用自訂內容。若要在自訂名稱中使用自訂內容,必須在內容群組中定義這些內容。
雲端範本中的自訂內容值優先於自訂名稱中的相同內容值。
此範例使用 costCenter 作為內容,SalesCost 作為 Sales 專案的值,MktCost 作為 Marketing 專案的值。
- 建立名為 costingPG 的內容群組。
- 選取新增內容群組。 ,然後按一下
- 按一下輸入值。
- 輸入名稱 costingPG。
- 對於範圍,選取適用於任何專案。
- 按一下新增內容,設定以下值,並輸入名稱 costCenter。
選項 範例值 名稱 costCenter 類型 字串 預設值 research - 按一下建立。
- 按一下建立以儲存新內容群組。
- 為 Sales 專案和 Marketing 專案設定自訂內容。
這些步驟將說明針對 Sales 專案的程序。您可以重複上述步驟並使用 Marketing 專案值。
- Sales 內容名稱:costingPG.costCenter。值:SalesCost。
- Marketing 內容名稱:costingPG.costCenter。值:MktCost。
- 選取 ,然後開啟 Sales 專案。
- 按一下佈建索引標籤,然後找到 [自訂內容] 區段。
- 輸入 costingPG.costCenter 作為內容名稱,並輸入 SalesCost 作為值。
- 按一下儲存。
- 在 Marketing 專案中重複執行此程序並使用 MktCost 作為內容值。
- 建立專案層級的自訂名稱。
此範例使用與進階範例相同的專案。一次只能將自訂名稱指派給一個專案。若要測試此範例的結果,可以將自訂名稱套用至新專案,也可以從 Project Name with Advanced Numbering 範例中移除 Sales 和 Marketing 專案。
此範例假設您尚未指派 Sales 和 Marketing 專案。
- 選取新增自訂名稱。 ,然後按一下
- 輸入 Project Name and costingPG 作為名稱。
- 選取專案作為範圍。
- 按一下新增命名範本並設定以下選項。
表 1. 選項 值 資源類型 機器 範本格式 ${project.name}-{costingPG.costCenter}-${######} 起始計數器值 1 增量步長 1 - 按一下新增。
- 按一下指派專案,然後新增 Sales 和 Marketing 專案。
- 按一下建立。
- 測試名稱範本,首先部署 Sales 專案中的雲端範本,然後再部署 Marketing 專案中的雲端範本。
具有內容群組和雲端範本使用者輸入的自訂名稱範例
此範例顯示了如何根據範本中的使用者輸入建立自訂名稱。可以在雲端範本中定義兩個使用者輸入 (作業系統和大小)。其中一個使用者輸入 mktSite 使用 site.siteCode 自訂內容,該內容接受使用者輸入,您將其新增到雲端範本。
- 定義 Marketing 專案的自訂內容。
- 選取新增內容群組。 ,然後按一下
- 按一下輸入值。
- 命名內容群組並進行說明。
選項 值 名稱 site 範圍 適用於任何專案。
內容群組必須通用,以便可以在自訂名稱範本格式中使用內容。
- 按一下新增內容並設定以下值。
選項 值 名稱 siteCode 類型 字串 預設值 West 為 East、West、North 和 South 輸入單獨的值。
這些值表示使用者可能會選取的站台代碼。
- 建立自訂命名範本。
- 選取 。
- 輸入名稱 Site-OS-Size for Marketing Project。
- 選取 [專案]。
如果您已經具有組織範圍的自訂名稱,則 [專案] 處於已選取狀態並且是唯一的選項。
- 按一下新增命名範本並設定以下選項。
選項 值 資源類型 機器 範本格式 ${site.siteCode}-${resource.name}-${######}
site.siteCode 內容是在上一步中定義的內容。下一步將在雲端範本中定義 resource.name。
起始計數器值 1 增量步長 1
- 在範本中定義使用者輸入。
此範例中包含的使用者輸入包括作業系統和大小,以及依據 site.siteCode 自訂內容的使用者輸入。
出於示範目的,此步驟中的雲端範本非常簡單。可以將該範例套用至現有範本之一。
- 選取 。
- 輸入名稱 Marketing Template。
- 在專案清單中,選取 Marketing。
- 按一下建立。
- 輸入雲端範本的代碼或使用以下範例代碼。
請注意,使用者輸入適用於大小和作業系統。為類型模板 (
${input.size}
) 和映像 (${input.OS}
) 機器內容中的每個輸入設定變數。最後,使用名稱內容建構可在自訂命名範本中使用的資源名稱 (${input.OS}-${input.size}
)。formatVersion: 1 inputs: size: type: string enum: - small - medium OS: type: string enum: - centos - ubuntu resources: Cloud_vSphere_Network_1: type: Cloud.vSphere.Network properties: networkType: existing Cloud_Machine_1: type: Cloud.Machine properties: image: ${input.OS} flavor: ${input.size} name: ${input.OS}-${input.size} networks: - network: ${resource.Cloud_vSphere_Network_1.id}
- 若要將 site.siteCode 自訂內容新增為使用者輸入,請按一下右側窗格中的輸入索引標籤,然後設定以下選項。
選項 值 名稱 mktSite 顯示名稱 選取站台 類型 Object 選取物件類型 內容群組 從現有的內容群組中選取 site - 在 [代碼] 索引標籤上,會看到新增的 mktSite 使用者輸入,然後更新 YAML 以包含該自訂內容。
例如,將
site.siteCode: ${input.mktSite.siteCode}
新增到 YAML。formatVersion: 1 inputs: size: type: string title: Select the machine size enum: - small - medium OS: type: string title: Select an operating system enum: - centos - ubuntu mktSite: type: object $ref: /ref/property-groups/site title: Select a site resources: Cloud_vSphere_Network_1: type: Cloud.vSphere.Network properties: networkType: existing Cloud_Machine_1: type: Cloud.Machine properties: image: ${input.OS} flavor: ${input.size} name: ${input.OS}-${input.size} networks: - network: ${resource.Cloud_vSphere_Network_1.id} site.siteCode: ${input.mktSite.siteCode}
- 部署範本並驗證自訂機器名稱。
由於 West 是預設值,請選取 West 以外的站台。
部署時的資源命名優先順序
根據設定自訂命名的方式,這些名稱將根據以下規則套用至已部署的資源。
一般做法是定義一個一般的組織層級命名範本,然後根據專案管理需求建立一或多個專案層級範本。
自訂命名案例 | 優先順序 |
無自訂名稱 |
|
組織層級名稱 |
|
專案層級名稱 |
|
使用範本格式
定義範本格式時,可以使用字串和內容。使用內容的主要優點是,可以將相同的內容作為多個專案的格式使用,但名稱衍生自值內容,值內容可能會因專案、雲端範本、平台和其他內容而異。
範本格式內容包括提供的內容 (在此處進行了討論),以及您在
中定義的任何自訂內容。- 有效字元
- 不允許使用空格。
- 為了便於閱讀,可以使用特殊字元分隔內容。允許的字元包括 _ (底線) 和 - (破折號)。
- 提供的內容
表 2. 提供的內容 內容 說明 端點 雲端帳戶資訊,例如說明 (輸入 (AWS)) 或名稱。端點僅適用於機器。
範例
${endpoint.desc}
${endpoint.endpointType}
${endpoint.name}
專案 專案資訊。
範例
${project.desc}
${project.name}
對於每個範圍層級的資源類型, 包括雲端範本中的資源名稱、雲端範本或專案中的自訂內容。
範例
${resource.name}
時間戳記 部署的日期和時間。數值為 yyyy mm dd hh mm ss,但不含空格。例如,20210825120345。
範例
${timestamp}
使用者 範例
${user}
username 範例
${userName}
###### 數字內容。
長度上限為 19 位數。
如果使用兩位數 ##,則編號開始之前的最大數字為 99。如果使用 ###,編號將在 999 之後重新開始。
範例
${####}
。
自訂內容 自訂內容必須是內容群組的一部分。自訂名稱中的內容包括內容群組名稱和內容。
範例
${propertygroup.property}
使用計數器
在 vRealize Automation 的單節點執行個體中,計數器將根據您在自訂命名範本中定義的值以及隨著這些值在目標組織和專案中的套用而遞增。
在多節點環境中,計數器會根據範本中的值嘗試遞增。如果遇到爭用情況,則會嘗試套用編號三次。請求有可能在第三次嘗試後失敗以解決爭用情況。在這種情況下,編號可能會不連續。
您可能也會遇到因其他原因而導致編號不連續的情況。例如,部署三個虛擬機器。第二個機器在佈建期間失敗。已部署虛擬機器的計數編號為 vm-01 和 vm-03,缺少 vm-02。
如果您不使用自訂命名,而更願意依賴預設命名原則,則計數器值集區將預留給節點,如下所示:
- 節點 1:1-300
- 節點 2:301-600
- 節點 3:601-900
這意味著,在多節點環境中,編號可能看起來不可預測。編號取決於處理請求的節點。
可套用自訂名稱的資源類型清單
您只能為一種資源類型或所有資源類型建立自訂名稱。只有具有自訂名稱的資源類型才使用範本。所有其他資源均使用預設範本。
例如,如果僅為機器建立專案層級的自訂名稱,並且所有其他資源類型具有組織層級名稱,則機器資源將採用專案名稱,所有其他資源使用組織名稱。
自訂命名資源類型 | 部署資源類型 |
---|---|
機器 |
|
網路 |
|
儲存區 |
|
負載平衡器 |
|
資源群組 |
|
閘道 |
|
NAT |
|
安全群組 |
|
刪除自訂名稱範本
刪除範本不會影響目前部署的資源命名。但是,在驗證對所有已指派專案的影響之前,不得刪除自訂名稱範本。
您可以從命名範本中移除專案。該範本將繼續用於其他專案。
刪除具有自訂名稱的專案
如果專案套用了自訂命名範本,則必須先從範本中移除專案,然後才能刪除該專案。