Теги — это эффективные метаданные, которые можно связать с ресурсами и добавлять в шаблоны. Теги можно использовать в различных сценариях управления, в том числе, для размещения рабочей нагрузки и разметки ресурсов.
Краткое введение в теги
В этом разделе представлены простые сведения о тегах, которые применяются к указанным шагам. Более подробные сведения о тегах см. в Как использовать теги для управления ресурсами и развертываниями Cloud Assembly.
- Теги возможностей и ограничений
Теги можно использовать для управления развертываниями на основе возможностей ресурсов. Например, администратору облака может быть необходимо развертывать итерационно разрабатываемые облачные шаблоны в специальном пуле ресурсов для разработки, а шаблоны, предназначенные для производственной среды, — в другом пуле ресурсов.
- Чтобы определить возможности ресурсов, в них добавляются теги возможностей.
- Теги ограничений применяются в облачных шаблонах и определяют ресурсы, которые должны использоваться развернутыми ресурсами.
- Теги-метки
Для управления ресурсами можно добавлять теги в виде меток или описаний объектов. Для управления нужно использовать результаты поиска наилучших ресурсов, которые могут быть разными для похожих объектов, добавление пользовательских аннотаций к объектам, предоставление сведений сторонним системам, создание критериев членства в группах безопасности, обеспечение согласованности между связанными доменами программно-определяемого ЦОД.
Перед началом работы
- Ознакомьтесь с ресурсами и облачным шаблоном, которые определены в Учебник «Настройка и тестирование инфраструктуры и развертываний vSphere в Cloud Assembly». Здесь используются примеры значений из учебника.
Использование тегов для управления размещением рабочей нагрузки
В этом простом примере используются теги среды разработки и производственной среды для демонстрации способа применения тегов возможностей и ограничений. Сначала необходимо добавить теги возможностей в вычислительные ресурсы пула ресурсов vCenter Server, а затем добавить теги в облачный шаблон. В примере облачного шаблона показан способ использования входных данных, с помощью которого пользователь, выполняющий развертывание, может указать, где следует выполнять развертывание: в среде разработки или в пуле ресурсов производственной среды.
Пример использования одинаковых тегов для определения размещения в мультиоблачной среде см. в Учебник «Настройка и тестирование инфраструктуры и развертываний с несколькими облачными средами в Cloud Assembly».
- Добавьте теги возможностей в пулы ресурсов.
- а.Выберите пункт .
- б.Откройте облачную зону и нажмите Вычислительные ресурсы.
- в.Найдите и щелкните пул ресурсов, в котором необходимо развернуть рабочие нагрузки, связанные с разработкой.
В этом учебнике используются следующие значения. Помните, что все значения приведены только для примера. Необходимо указать значения для вашей среды.
Пример пула ресурсов Пример тега wid01-clu01/Development env:dev
wid01-clu01/Production env:prod
- г.Добавьте тег env.dev и нажмите кнопку Сохранить..
- д.Повторите процесс для пула ресурсов, в котором необходимо развернуть производственные рабочие нагрузки, и добавьте тег env:prod.
- Убедитесь, что теги возможностей добавлены в пулы ресурсов в облачной зоне.
- а.Выберите .
- б.Откройте облачную зону, связанную с проектом, и нажмите Вычислительные ресурсы.
В этом примере облачной зоной является облачная зона учетной записи vCenter, а теги добавлены в два пула ресурсов (wid01-clu01/Development и wid01-clu01/Production).
- Добавьте теги ограничений в облачный шаблон.
Теги ограничений используются для указания места развертывания шаблона.
- а.Выберите , а затем откройте шаблон.
В этом учебнике используется шаблон с именем Development Project.
- б.Ознакомьтесь с кодом 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
- в.Добавьте тег ограничения к ресурсу Cloud_vSphere_Machine_1, используя
${input.placement}
в качестве переменной.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 и сети. Кроме того, добавляется тег для идентификации веб-сети. С учетом того, как теги работают в существующих сетях по сравнению с сетями по требованию, можно выбрать один из двух вариантов.
- В случае использования профиля существующей сети, который применялся в предыдущем разделе, тег NGINX:web не добавляется к существующим объектам в NSX-T. Поэтому операции проверки в отношении этого тега в NSX-T можно игнорировать.
- В случае создания профиля сети по требованию можно обновить сеть в коде YAML, чтобы использовать маршрутизируемую сеть или сеть по требованию. В этом примере используется сеть по требованию, поэтому показан тег NGINX:web для нового объекта в NSX-T.
Следующий код 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: routed constraints: - tag: 'net:od'
- Выберите , а затем откройте шаблон.
- В свойствах Cloud_vSphere_Machine_ добавьте следующий тег.
tags: - key: db value: mysql
- Добавьте теги сетевого адаптера вычислительной машины.
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.
- Чтобы проверить теги в развертывании, откройте развертывание и перейдите на вкладку Топология.
- а.Щелкните компьютер в топологии.
- б.Разверните раздел Общие данного компьютера и найдите метку «Теги».
Тег имеет значение
db:mysql
. - в.Разверните раздел Сеть и найдите столбец «Теги» для сети.
Тег имеет значение
db:mysql
. - г.Щелкните сеть в топологии и разверните раздел Общие, чтобы найти метку «Тег».
Тег имеет значение
NGINX:web
.
- Чтобы проверить теги в vCenter Server, войдите в экземпляр vCenter Server, где развернута эта рабочая нагрузка.
- а.Найдите виртуальную машину и панель «Теги».
- а.Найдите виртуальную машину и панель «Теги».
- Чтобы проверить теги в NSX-T, войдите в экземпляр NSX-T, где настроена эта сеть.
Теги сети и теги компьютеров добавляются в NSX-T.
- а.Нажмите Политика в правом верхнем углу.
- б.Чтобы найти тег
db:mysql
, связанный с сетевым адаптером, найдите mysql. - в.Нажмите Логические порты и найдите развернутый компьютер vSphere.
- г.Щелкните число в столбце «Теги».
Поля «Область» и «Тег» содержат, соответственно, значения
db
иmysql
. - д.Чтобы найти тег
NGINX:web
, связанный с сегментом, найдите сеть.В данном примере имя сети — Cloud_NSX_Network_1-mcm1292-163799928607.
- е.Найдите строку «Сегменты» и щелкните число в столбце «Теги».
Поля «Область» и «Тег» содержат, соответственно, значения
NGINX
иweb
.