標籤是功能強大的中繼資料,您可以將其與資源關聯並納入範本中。可以在各種管理案例中使用標記,包括工作負載放置和資源標籤。
標籤的簡單介紹
本節簡單介紹了適用於所提供步驟的標籤。如需有關標籤的更深入的資訊,請參閱如何使用標籤來管理 Automation Assembler 資源和部署。
- 功能與限制標籤
可以使用標籤根據資源功能控制部署。例如,身為雲端管理員,您想要將反覆開發的雲端範本部署至特定於開發的資源集區,並且將值得生產的範本部署到其他資源集區。
- 功能標籤將會新增至資源,以定義其功能。
- 限制標籤將用於雲端範本,以定義您希望已部署的資源耗用哪些資源。
- 標籤 (label) 標記
若要管理資源,您可以新增標記以作為物件標籤或說明。管理可能性包括改進資源搜尋結果、在類似物件之間進行區分、使用自訂資訊為物件設定註解、將資訊提供給第三方系統、建立安全分組成員資格準則、確保連結 SDDC 網域之間的一致性。
開始之前
- 請檢閱在 教學課程:在 Automation Assembler 中設定和測試 vSphere 基礎結構和部署 中定義的資源和雲端範本。此處使用了該教學課程中運用的範例值。
使用標籤管理工作負載放置
這個簡單的範例使用開發和生產環境標籤來示範如何使用功能與限制標籤。首先,在 vCenter Server 資源集區計算資源上新增功能標籤,然後在雲端範本中包含這些標籤。雲端範本範例示範了如何使用輸入讓部署使用者選取是將其部署到開發還是生產資源集區中。
如需如何使用相同標籤在多雲端環境中定義放置的範例,請參閱教學課程:在 Automation Assembler 中設定和測試多雲端基礎結構和部署。
- 將功能標籤新增至資源集區。
- 選取 。
- 開啟雲端區域,然後按一下計算資源。
- 找到並按一下要將開發工作負載部署到的資源集區。
本教學課程使用了以下範例值。請注意,這些值都只是範例而已。您的值將特定於您的環境。
資源集區範例 標籤範例 wid01-clu01 / Development env:dev
wid01-clu01 / Production env:prod
- 新增標籤 env.dev,然後按一下儲存。
- 針對您要將生產工作負載部署到的資源集區重複此程序,並新增 env:prod 標籤。
- 確認功能標籤已新增至雲端區域中的資源集區。
- 選取 。
- 開啟與專案相關聯的雲端區域,然後按一下計算資源。
在此範例中,雲端區域為 vCenter 帳戶雲端區域,並且標籤已新增至兩個資源集區,即 wid01-clu01 / Development 和 wid01-clu01 / Production。
- 將限制標籤新至雲端範本。
限制標籤可用於限制範本的部署位置。
- 選取
在本教學課程中,範本名稱為 Development Template。
,然後開啟您的範本。 - 在 [代碼] 窗格中,檢閱範本的 YAML。
此 YAML 是本教學課程的起點。
formatVersion: 1 inputs: {} resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: medium networks: - network: '${resource.Cloud_NSX_Network_1.id}' attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 5 Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: existing
- 使用
${input.placement}
將限制標籤作為變數新增至 Cloud_vSphere_Machine_1 資源。resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: medium constraints: - tag: '${input.placement}' networks: - network: '${resource.Cloud_NSX_Network_1.id}' attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}'
- 在 [輸入] 區段中定義放置變數。
inputs: placement: type: string enum: - env:dev - env:prod default: env:dev title: Select Placement for Deployment description: Target Environment
- 確認最終 YAML 類似於以下範例。
formatVersion: 1 inputs: placement: type: string enum: - 'env:dev' - 'env:prod' default: 'env:dev' title: Select Placement for Deployment description: Target Environment resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: small constraints: - tag: '${input.placement}' networks: - network: '${resource.Cloud_NSX_Network_1.id}' attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 5 Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: existing
- 若要針對可用資源試用標籤變數,請按一下測試,然後選取 env:dev。
使用 env:prod 重複測試。當兩個測試均成功時,請透過部署範本來確認範本是否可以正常運作。
- 選取
- 部署範本以測試工作負載放置。
- 在雲端範本設計工具中,按一下部署。
- 輸入 Deployment Tag Dev 作為部署名稱,然後按下一步。
- 從為部署選取放置下拉式功能表中選取 env:dev,然後按一下部署。
- 確認範本已將資源部署至選取的資源集區。
- 選取 ,然後找到 Deployment Tag Dev 部署。
- 開啟部署詳細資料,然後按一下拓撲。
- 按一下 vSphere 機器,然後展開右窗格中的機器資訊。
- 在一般區段中,找到計算主機,然後確認值是否與符合 env:dev 標籤的資源集區相符。
在此範例中,值為
wid01-clu01 / Development
,說明根據選取的限制標籤將工作負載部署到了正確的資源集區。 - 重複部署程序,此時選取 env:prod。
將標記新增為可在 vCenter Server 和 NSX-T 中使用的標籤
您可以將標籤新增到部署,然後可以使用這些標籤來管理資源。
在此範例中,新增標籤以識別 MySQL 機器和網路。此外,還可以新增標籤以識別 Web 網路。鑒於標籤在現有網路與隨選網路上的運作方式的比較,您可以有兩個選擇。
- 如果您使用在上一部分中使用的現有網路設定檔,則不會將 NGINX:web 標籤新增至 NSX-T 中的現有物件。因此,可以忽略 NSX-T 中有關此標籤的驗證步驟。
- 如果您建立隨選網路設定檔,則可以在 YAML 中更新網路以使用路由/隨選網路。在此範例中使用了隨選網路,這樣我們就可以在 NSX-T 中的新物件上示範 NGINX:web 標籤。
下列 YAML 來自先前的範例,但使用的是路由隨選 networkType。其中包括限制標籤。
本教學課程使用了以下範例值。請注意,這些值都只是範例而已。您的值將特定於您的環境。
formatVersion: 1 inputs: placement: type: string enum: - 'env:dev' - 'env:prod' default: 'env:dev' title: Select Placement for Deployment description: Target Environment resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: small constraints: - tag: '${input.placement}' networks: - network: '${resource.Cloud_NSX_Network_1.id}' attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 5 Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: routed constraints: - tag: 'net:od'
- 選取 ,然後開啟您的範本。
- 在 Cloud_vSphere_Machine_ 內容中,新增下列標籤。
tags: - key: db value: mysql
- 新增虛擬機器 NIC 標籤。
tags: - key: db value: mysql
- 新增 NSX 邏輯交換器/區段標籤。
tags: - key: NGINX value: web
- 確認 YAML 類似於以下範例。
formatVersion: 1 inputs: placement: type: string enum: - 'env:dev' - 'env:prod' default: 'env:dev' title: Select Placement for Deployment description: Target Environment resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: centos flavor: small constraints: - tag: '${input.placement}' tags: - key: db value: mysql networks: - network: '${resource.Cloud_NSX_Network_1.id}' tags: - key: db value: mysql attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 5 Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: routed constraints: - tag: 'net:od' tags: - key: NGINX value: web
- 部署範本。
此範例使用名稱 Development template w tags。
- 若要驗證部署中的標籤,請開啟部署,然後按一下拓撲索引標籤。
- 按一下拓撲中的機器。
- 展開機器的一般區段,並找到 [標記] 標籤 (label)。
標籤值為
db:mysql
。 - 展開網路區段,並找到 [網路標籤] 資料行。
標籤值為
db:mysql
。 - 按一下拓撲中的網路,然後展開一般區段以找到 [標記] 標籤 (label)。
標籤值為
NGINX:web
。
- 若要驗證 vCenter Server 中的標籤,請登入已部署此工作負載的 vCenter Server 執行個體。
- 找到虛擬機器,並找到 [標籤] 窗格。
- 找到虛擬機器,並找到 [標籤] 窗格。
- 若要驗證 NSX-T 中的標籤,請登入已設定此網路的 NSX-T 執行個體。
網路標籤和機器標籤將新增到 NSX-T。
- 按一下右上角的原則。
- 若要找到與 NIC 相關聯的
db:mysql
標籤,請搜尋 mysql。 - 按一下邏輯連接埠,然後找到已部署的 vSphere 機器。
- 按一下 [標籤] 資料行中的號碼。
[範圍] 和 [標籤] 分別為
db
和mysql
。 - 若要找到與區段相關聯的
NGINX:web
標籤,請搜尋網路。在此範例中,網路名稱為 Cloud_NSX_Network_1-mcm1292-163799928607。
- 找到 [區段] 資料列,然後按一下 [標籤] 資料行中的號碼。
[範圍] 和 [標籤] 分別為
NGINX
和web
。