Администратор облачных систем или проектов имеет предварительно заданное соглашение об именовании ресурсов в среде. Необходимо, чтобы развернутый ресурс следовал данному соглашению без вмешательства пользователя. Можно создать шаблоны глобального именования для некоторых или всех развертываний в Automation Assembler.

Сначала можно создать настраиваемые имена на уровне проекта или организации. Настраиваемые имена на уровне проекта имеют более высокий приоритет, чем имена на уровне организации. В этом примере сначала создается простое настраиваемое имя на уровне организации, а затем добавляются имена на уровне проекта.

Осторожно!: Если у вас есть облачные шаблоны или вы используете API-интерфейс, с помощью которого одновременно развертываете не менее 2000 ресурсов в каждом проекте и где может применяться настраиваемое имя, во время развертывания на некоторых ресурсах может появляться ошибка Retries exhausted. Если такая ситуация возникает регулярно, не применяйте новое настраиваемое имя к проектам или организациям, где происходит данная ошибка. Вместо этого используйте именование по умолчанию, а не настраиваемое именование.

Начало работы

Создание настраиваемого шаблона на уровне организации

Если требуется шаблон настраиваемого имени по умолчанию для развертываний без шаблонов на уровне проекта, создайте шаблоны, областью которых будет организация.

  1. Выберите Инфраструктура > Администрирование > Настраиваемые имена и нажмите Новое настраиваемое имя.
  2. Введите Имя.

    В этом примере используется префикс и отметка времени для организации.

  3. Выберите Организация качестве области.
  4. Щелкните Новый шаблон именования и настройте следующие параметры.
    Параметр Пример значения
    Тип ресурса компьютер
    Проверка уникальности имени вычислительного ресурса

    Установите этот флажок.

    Если ресурс имеет уникальное имя, вы никогда его не перепутаете с другими ресурсами, с которыми работаете, даже в среде на основе API-интерфейсов.

    Для обеспечения уникальности значение в конфигурации номера в следующем формате шаблона увеличивается с заданным приращением.

    Формат шаблона mcm-${timestamp}-${######}
    Начальное значение счетчика 1
    Шаг приращения 1

    При такой конфигурации приращение всех развертываний во всех проектах будет начинаться с этой начальной точки.

    В этом примере для начального счетчика установлено значение 1 и для приращения установлено значение 1, поэтому номер первого развертывания будет 2. Если необходимо, чтобы нумерация развертываний начиналась с 1, установите для начального счетчика значение 0, а для приращения значение 1.

  5. Нажмите кнопку Добавить.
  6. Продолжайте добавлять шаблоны для других типов ресурсов, используя следующие примеры.
    Имя типа ресурса Формат шаблона именования
    компьютер mcm-${timestamp}-${##}
    Сеть ntw-${timestamp}-${##}
    Хранилище stg-${timestamp}-${##}
    Подсистема балансировки нагрузки ldb-${timestamp}-${##}
    Группа ресурсов rsg-${timestamp}-${##}
    Шлюз gtw-${timestamp}-${##}
    NAT nat-${timestamp}-${##}
    Группа безопасности scg-${timestamp}-${##}
  7. Щелкните Создать.
  8. Протестируйте шаблон имени, развернув шаблоны, которые содержат определенные типы ресурсов.
    Развернутый ресурс с настраиваемым именем на уровне организации.

Создание настраиваемого шаблона на уровне проекта с расширенным сопоставлением образцов

Можно создать один шаблон настраиваемого имени, который можно назначить разным проектам. Используйте расширенный параметр, чтобы задать разные начальные точки нумерования для разных проектов.

В этом примере используется компьютерный ресурс.

  1. Выберите Инфраструктура > Администрирование > Настраиваемые имена и нажмите Новое настраиваемое имя.
  2. Введите Имя.

    В этом примере используется Имя проекта с расширенным нумерованием.

  3. Выберите Проект в качестве области.
  4. Щелкните Новый шаблон именования и настройте следующие параметры.
    Параметр Пример значения
    Тип ресурса компьютер
    Формат шаблона ${project.name}-${######}
    Начальное значение счетчика 1
    Шаг приращения 1

    При такой конфигурации приращение развертываний в назначенных проектах будет начинаться с этой начальной точки.

    В этом примере для начального счетчика установлено значение 1 и для приращения установлено значение 1, поэтому номер первого развертывания будет 2. Если необходимо, чтобы нумерация развертываний начиналась с 1, установите для начального счетчика значение 0, а для приращения значение 1. Если начальное значение 1, ProjectA начинается с 2 и ProjectB начинается с 2, кроме случаев, когда это значение переопределяется значением из шаблона расширенного сопоставления.

  5. Чтобы усовершенствовать шаблон именования на уровне организации по умолчанию, щелкните Дополнительно и выберите Добавление образца сопоставления.

    Можно задать разные образцы именования, чтобы запустить счетчик с разными числами, или сбросить значение до 1 для каждого образца. Например, нумерование для проекта Sales начинается со 100, а для проекта Marketing — с 200.

    1. а.Введите образец для проекта Sales.
      Параметр Пример значения
      Текст образца Sales —
      Начальное значение счетчика 100
    2. б.Введите образец для проекта Marketing.
      Параметр Пример значения
      Текст образца Marketing —
      Начальное значение счетчика 200
  6. Нажмите кнопку Добавить.
  7. При необходимости продолжайте добавлять шаблоны для других типов ресурсов.
  8. Щелкните Назначить проекты и добавьте проекты Sales и Marketing.
  9. Щелкните Создать.
  10. Протестируйте шаблон имени, сначала развернув облачный шаблон из проекта Sales, а затем из проекта Marketing.
    Развернутый ресурс с настраиваемым именем на уровне проекта для проекта Sales.

Пример настраиваемого имени с настраиваемыми свойствами и значениями для конкретного проекта

В дополнение к свойствам, указанным в параметрах автозаполнения в формате шаблона, можно использовать настраиваемые свойства. Чтобы использовать настраиваемые свойства в настраиваемом имени, они должны быть определены в группе свойств.

Значение настраиваемого свойства в облачном шаблоне имеет более высокий приоритет, чем значение того же свойства в настраиваемом имени.

В этом примере costCenter используется в качестве свойства, а SalesCost — в качестве значения для проекта Sales. MktCost используется в качестве значения для проекта Marketing.

  1. Создайте группу свойств с именем costingPG.
    1. а.Выберите Инфраструктура > Проект > Группы свойств и щелкните Новая группа свойств.
    2. б.Щелкните Входные значения.
    3. в.В поле Имя введите costingPG.
    4. г.Для параметра Область выберите Доступно для любого проекта.
    5. д.Щелкните Новое свойство, настройте следующие значения и введите имя costCenter.
      OPTIONS Примеры значений
      Имя costCenter
      Тип Строка
      Значение по умолчанию исследование
    6. е.Щелкните Создать.
    7. ё.Щелкните Создать, чтобы сохранить новую группу свойств.
  2. Настройте настраиваемые свойства для проектов Sales и Marketing.

    Следующие шаги иллюстрируют процесс для проекта Sales. Эти шаги можно повторить, используя значения из проекта Marketing.

    • Имя свойства Sales: costingPG.costCenter. Значение: SalesCost.
    • Имя свойства Marketing: costingPG.costCenter. Значение: MktCost.
    1. а.Выберите Инфраструктура > Администрирование > Проекты и откройте проект Sales.
    2. б.Перейдите на вкладку Подготовка в раздел «Настраиваемые свойства».
    3. в.Введите costingPG.costCenter в качестве имени свойства, а SalesCost в качестве значения.
      Настраиваемое свойство costingPG.costCenter и значение SalesCost в разделе «Настраиваемые свойства» на вкладке «Подготовка».
    4. г.Нажмите Сохранить.
    5. д.Повторите процесс в проекте Marketing, используя MktCost и значение свойства.
  3. Создайте настраиваемое имя на уровне проекта.

    В этом примере используются те же проекты, что и в расширенном примере. Настраиваемые имена можно назначать только одному проекту за раз. Чтобы проверить результаты этого примера, можно применить настраиваемое имя к новым проектам или удалить проекты Sales и Marketing из примера «Имя проекта с расширенным нумерованием».

    В этом примере предполагается, что проекты Sales и Marketing еще не назначены.

    1. а.Выберите Инфраструктура > Администрирование > Настраиваемые имена и нажмите Новое настраиваемое имя.
    2. б.Введите имя проекта и costingPG в поле Имя.
    3. в.Выберите Проект в качестве области.
    4. г.Щелкните Новый шаблон именования и настройте следующие параметры.
      Табл. 1.
      Параметр Значение
      Тип ресурса компьютер
      Формат шаблона ${project.name}-${costingPG.costCenter}-${######}
      Начальное значение счетчика 1
      Шаг приращения 1
    5. д.Нажмите кнопку Добавить.
    6. е.Щелкните Назначить проекты и добавьте проекты Sales и Marketing.
    7. ё.Щелкните Создать.
  4. Протестируйте шаблон имени, сначала развернув облачный шаблон из проекта Sales, а затем из проекта Marketing.
    Рис. 1. Имя ресурса в проекте Sales

    Сведения о развертывании с именем ресурса Sales-SalesCost-000002.
    Рис. 2. Имя ресурса в проекте Marketing

    Сведения о развертывании с именем ресурса Marketing-MktCost-000002.

Пример настраиваемого имени с данными о группе свойств облачном шаблоне, введенными пользователем

В этом примере показано, как создать настраиваемое имя на основе данных, введенных пользователем в шаблоне. В облачном шаблоне пользователь определяет два параметра: операционную систему и размер. Во входных данных mktSite используется настраиваемое свойство site.siteCode, которое принимает введенные пользователем данные, добавляемые затем в облачный шаблон.

  1. Определите настраиваемое свойство для проекта Marketing.
    1. а.Выберите Инфраструктура > Проект > Группы свойств и щелкните Новая группа свойств.
    2. б.Щелкните Входные значения.
    3. в.Введите имя и описание для группы свойств.
      Параметр Значение
      Имя site
      Scope

      Доступно для любого проекта.

      Группа свойств должна быть общедоступной, чтобы было доступно свойство для использования в формате шаблона настраиваемого имени.

    4. г.Щелкните Новое свойство и настройте следующие значения.
      Параметр Значение
      Имя siteCode
      Тип Строка
      Значение по умолчанию West
      Дополнительно > Значение перечисления

      Введите отдельные значения для East, West, North и South.

      Эти значения представляют собой возможные коды сайтов, которые могут выбрать пользователи.

  2. Создайте шаблон настраиваемого именования.
    1. а.Выберите Инфраструктура > Настраиваемые имена > Новое настраиваемое имя.
    2. б.Введите Имя Сайт-ОС-Размер для проекта Marketing.
    3. в.Нажмите «Проекты».

      Вариант «Проекты» выбирается и является единственным возможным вариантом выбора, если уже есть настраиваемое имя, областью которого является организация.

    4. г.Щелкните Новый шаблон именования и настройте следующие параметры.
      Параметр Значение
      Тип ресурса компьютер
      Формат шаблона

      ${site.siteCode}-${resource.name}-${######}

      site.siteCode — это свойство, которое было определено на предыдущем шаге. Значение resource.name определяется в облачном шаблоне на следующем шаге.

      Начальное значение счетчика 1
      Шаг приращения 1
  3. Определите входные данные пользователя в шаблоне.

    Входные данные пользователя, используемые в этом примере, включают в себя операционную систему и размер, а также входные данные пользователя на основе настраиваемого свойства site.siteCode.

    Для демонстрации на этом шаге используется простой облачный шаблон. Пример можно применить к одному из существующих шаблонов.

    1. а.Выберите Проектирование > Создать из > Пустой холст.
    2. б.Введите имя шаблона Marketing.
    3. в.В списке Проект выберите Marketing.
    4. г.Щелкните Создать.
    5. д.Введите код для облачного шаблона или используйте следующий пример кода.

      Обратите внимание на ввод данных пользователем о размере и ОС. Переменные настраиваются для каждого входного параметра в свойствах компьютера «Конфигурация ресурсов» (${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}
      
    6. е.Чтобы добавить настраиваемое свойство site.siteCode в качестве данных, введенных пользователем, перейдите на вкладку Входные данные на правой панели и настройте следующие параметры.
      Параметр Значение
      Имя mktSite
      Отображаемое имя Выберите site
      Тип Object
      Выберите тип объекта Группы свойств
      Выберите из существующих групп свойств site
    7. ё.На вкладке «Код» обратите внимание на добавленные данные 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}
  4. Разверните шаблон и проверьте имя компьютера.

    Так как значение по умолчанию — West, выберите другое значение.


    Сведения о развертывании cloud_machine с именем ресурса East-centos-small-000011.

Приоритет именования ресурсов во время развертывания

В зависимости от настройки настраиваемого именования имена к развернутым ресурсам применяются на основе следующих правил.

Обычно сначала определяется общий шаблон именования на уровне организации, а затем создается один или несколько шаблонов на уровне проекта в зависимости от потребностей управления проектами.

Сценарий настраиваемого именования Приоритет
Нет настраиваемых имен
  • Система создает имена ресурсов развертывания для всех компонентов развертывания.
Имя на уровне организации
  • Значения свойств и строки настраиваемого именования применяются ко всем развертываниям.
  • Если развертываемый проект имеет настраиваемое имя на уровне проекта, имя на уровне организации переопределяется.
  • Если настраиваемое имя на уровне организации не определено, для назначенных проектов используется имя на уровне проекта.
  • Если настраиваемое имя не определено ни на уровне организации, ни на уровне проекта, система создает имена ресурсов.
Имена на уровне проекта
  • Значения свойств и строки настраиваемого именования на уровне проекта применяется ко всем назначенным проектам.
  • Если существует имя на уровне организации, имя на уровне проекта имеет более высокий приоритет, чем имя на уровне организации.
  • Если настраиваемое имя на уровне организации не определено, для назначенных проектов используется имя на уровне проекта.
  • Если настраиваемое имя не определено ни на уровне организации, ни на уровне проекта, система создает имена ресурсов.

Работа с форматами шаблонов

При определении формата шаблона можно использовать строки и свойства. Основное преимущество использования свойств в том, что можно использовать те же свойства, которые используются в формате, для нескольких проектов, но имя зависит от свойств значений, которые могут отличаться в зависимости от проекта, облачного шаблона, платформы и других свойств.

Свойства формата шаблона включают в себя указанные здесь свойства и любые настраиваемые свойства, определенные в разделе Проект > Группы свойств.

  • Допустимые символы
    • Пробелы запрещены.
    • Можно использовать специальные символы для разделения свойств в целях читаемости. Разрешенные символы: _ (нижнее подчеркивание) и - (дефис).
  • Указанные свойства
    Табл. 2. Указанные свойства
    Свойства Описание
    конечная точка

    Сведения об облачной учетной записи, например описание, тип (AWS) или имя. Конечная точка применяется только к компьютерам.

    Примеры

    • ${endpoint.desc}
    • ${endpoint.endpointType}
    • ${endpoint.name}
    проект

    Сведения о проекте.

    Пример

    • ${project.desc}
    • ${project.name}
    ресурс

    Включает в себя имя ресурса из облачного шаблона, настраиваемые свойства, которые находятся в облачном шаблоне или проекте.

    Пример

    • ${resource.name}
    отметка времени

    Дата и время развертывания. Числовое значение — гггг мм дд чч мм сс, но без пробелов. Пример: 20210825120345.

    Пример

    • ${timestamp}
    пользователь

    Пример

    • ${user}
    имя пользователя

    Пример

    • ${userName}
    ######

    Свойство числа.

    Максимальная длина — 19 цифр.

    Если используются две цифры (##), максимальное число перед тем, как нумерование начнется сначала, составляет 99. Если используется ###, нумерование начнется сначала после 999.

    Пример

    • ${####}.
    Настраиваемое свойство

    Настраиваемые свойства должны быть частью группы свойств. Свойство в настраиваемом имени включает в себя имя группы свойств и свойство.

    Пример

    • ${propertygroup.property}

Работа со счетчиком

В экземпляре VMware Aria Automation с одним узлом значение счетчика увеличивается на основе значений, определенных в шаблонах настраиваемого именования, и по мере их применения к целевой организации и проектам.

В среде с несколькими узлами счетчик пытается увеличивать свое значение в зависимости от значений в шаблоне. Если он обнаруживает конфликт, выполняются три попытки задать номер. Возможно, запрос завершится сбоем после третьей попытки устранить конфликт. В этом случае может возникнуть пробел в нумерации.

Пробелы в нумерации также могут возникнуть по другим причинам. Например, необходимо развернуть три виртуальные машины. Во время подготовки на втором компьютере происходит сбой. Счетчиками для развернутых виртуальных машин являются vm-01 и vm-03. При этом vm-02 отсутствует.

Если вы не используете настраиваемое именование и предпочитаете применять стратегию именования по умолчанию, пулы значений счетчика резервируются для узлов следующим образом.

  • Узел 1: 1–300
  • Узел 2: 301–600
  • Узел 3: 601–900

Это означает, что в среде с несколькими узлами численное значение может быть непредсказуемым. Численное значение зависит от того, какой узел обрабатывает запрос.

Список типов ресурсов, к которым можно применять настраиваемые имена

Можно создать настраиваемое имя только для одного типа ресурсов или для всех типов ресурсов. Шаблон используется только для типов ресурсов с настраиваемыми именами. Для всех остальных ресурсов используется шаблон по умолчанию.

Например, если создать настраиваемое имя на уровне проекта только для компьютеров и для всех остальных типов ресурсов имеются имена на уровне организации, то ресурс компьютера получит имя проекта, а для всех остальных ресурсов будут использоваться имена организации.

Табл. 3. Пример списка ресурсов
Типы ресурсов с настраиваемым именованием Типы ресурсов развертывания
Компьютеры
  • Cloud.Machine
  • Cloud.vSphere.Machine
  • Cloud.AWS.EC2.Instance
  • Cloud.GCP.Machine
  • Cloud.Azure.Machine
Сети
  • Cloud.Network
  • Cloud.vSphere.Network
  • Cloud.NSX.Network
Хранилище
  • Cloud.Volume
  • Cloud.vSphere.Disk
  • Cloud.AWS.Volume
  • Cloud.GCP.Disk
  • Cloud.Azure.Disk
Подсистемы балансировки нагрузки
  • Cloud.LoadBalancer
  • Cloud.NSX.LoadBalancer
Группы ресурсов
  • Cloud.Azure.ResourceGroup
Шлюзы
  • Cloud.NSX.Gateway
NAT
  • Cloud.NSX.NAT
Группы безопасности
  • Cloud.SecurityGroup

Удаление шаблонов настраиваемых имен

Удаление шаблона не влияет на именование развернутых ресурсов. Однако нельзя удалять шаблон настраиваемого имени, пока не будет проверено воздействие на все назначенные проекты.

Проект можно удалить из шаблона именования. Шаблон будет по-прежнему работать для других проектов.

Удаление проектов с настраиваемыми именами

Если в проекте применен шаблон настраиваемого именования, перед удалением самого проекта необходимо сначала удалить его из шаблона.