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

К базовым свойствам, добавляемым в шаблон, относятся удаленный доступ для компьютера, который необходимо развернуть, и свойства конфигурации для ресурса SaltStack Config. В процедуру включены только выбранные свойства. Код YAML содержит другие свойства ресурса SaltStack Config, которые не используются в этом примере. Дополнительные сведения см. на схеме.

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

Процедура

  1. В Cloud Assembly выберите Проектирование > Облачные шаблоны.
  2. Откройте существующий шаблон.
  3. Найдите ресурс SaltStack Config и перетащите его на холст.
  4. Присоедините ресурс SaltStack Config к компьютеру, на котором будет установлен служебный сервер.
  5. На панели кода добавьте свойства к ресурсу SaltStack Config.

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

    Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1".id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database   
           additionalAuthParams:
             profile:
                tmp_dir: /var/run

    Ниже приведено описание свойств Cloud_SaltStack_1, используемых в этом примере.

    Свойство Описание
    masterId В примере схемы masterId имеет значение saltstack_enterprise_installer.

    Возможно, у вас есть идентификаторы главного сервера (masterID), заданные в SaltStack Config в разделе Администрирование > Ключи главного узла

    .
    Узлы Значение hosts — это идентификатор компьютера или кластера компьютеров, на которых необходимо установить служебный сервер. По умолчанию имя компьютера передается в качестве идентификатора служебного сервера в SaltStack Config.

    Рекомендуется выбирать имена компьютеров размером не более 15 символов, особенно если развертывание служебных серверов происходит в ОС Windows. Windows не позволяет использовать имена узлов, длина которых превышает 15 символов.

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

    saltEnvironment В этом примере sse представляет собой расположение для файлов состояния.

    Ваши файлы состояний могут находиться в других папках на файловом сервере в SaltStack Config в разделе Настройка > Файловый сервер

    .
    stateFiles В этом примере значение doe.sls представляет собой файл состояния, указанный в каталоге файлового сервера как saltEnvironment.
    variables Переменные, определенные в облачном шаблоне, передаются в состояния Salt в виде хранилищ pillar. В этом примере переменная user передается в файл doe.sls.

    Как показано в следующем примере, в файлах состояния на переменные можно ссылаться с помощью Jinja:

    {% set username = pillar.get('user', 'random') %}
    
    friend:
      user.present:
        - names:
          -  {{username}}

    Файл doe.sls гарантирует, что пользователь, представленный переменной user в облачном шаблоне, существует. Если эта переменная не определена в облачном шаблоне, это гарантирует наличие пользователя random.

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

    • grains. Это свойство можно использовать для назначения настраиваемых параметров grain Salt служебному серверу. Принимается одна или несколько пар key:value. Значениями могут быть строка, массив или сопоставление.

      Настраиваемые данные grain можно назначить только при подготовке нового компьютера. Настраиваемые данные grain невозможно назначить при выполнении действий по регулярному обслуживанию Присоединить ресурс SaltStack или Обновление конфигурации Salt.

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

    Одна или несколько пар «ключ:значение» принимаются в виде строки, массива или сопоставления. Пример использования этого свойства см. в разделе Пример использования. Развертывание служебных серверов с помощью API-интерфейса в среде Linux.

    Примечание: Дополнительные параметры авторизации невозможно назначить при выполнении действий по регулярному обслуживанию Обновление конфигурации Salt.
  6. Добавьте свойства remoteAccess к компьютеру, на котором размещается служебный сервер Salt.

    При развертывании служебного сервера Salt на компьютере Linux ключ authentication может иметь значение usernamePassword или generatedPublicPrivateKey. publicPrivateKey не поддерживается.

    При развертывании служебного сервера Salt на компьютере Windows ключ authentication должен иметь значение usernamePassword..

     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  7. Убедитесь, что код YAML содержит свойства, аналогичные свойствам в примере ниже.
    resources:
      Cloud-Network:
        type: Cloud.Network
        properties:
          networkType: existing 
      Cloud_VM_1:
        type: Cloud.vSphere.Machine
        properties:
          image: ubuntu
          flavor: small
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
          networks:
            - network: ${resource["Cloud-Network"].id}
      Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud-VM-1"].id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database
  8. Протестируйте облачный шаблон и разверните его.
    Если развертывание служебного сервера выполнено неудачно, см. раздел Устранение неполадок в развертываниях служебных серверов.
  9. Проверьте свойства конфигурации Salt для развернутого компьютера.
    1. а. Выберите Развертывания > Развертывания и откройте сведения о развертывании.
    2. б. На вкладке Топология щелкните компьютер и разверните свойства Конфигурация Salt на правой панели.

      Снимок экрана с вкладкой «Топология» со свойствами конфигурации Salt, развернутыми на правой панели. Свойства включают в себя идентификатор главного сервера, среду Salt и файлы состояния.

Проверка служебного сервера в SaltStack Config

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

Процедура

  1. Чтобы открыть SaltStack Config, щелкните меню приложений в правом верхнем углу и выберите пункт Консоль облачных служб.
  2. Щелкните плитку службы SaltStack Config.
  3. В SaltStack Config разверните Ключи служебного сервера и нажмите Принято.
  4. В столбце ИД служебного сервера щелкните значок фильтра и введите имя служебного сервера.
    По умолчанию имя служебного сервера — имя узла виртуальной машины. В этом примере ИД служебного сервера — salt-vm-010.
    Снимок экрана с принятыми ключами служебного сервера в SaltStack Config.
  5. Для просмотра сведений щелкните имя служебного сервера.
    На служебном сервере можно выполнять задания и команды. Например, получение статистики использования дисков. Это задание возвращает статистику использования дисков для служебного сервера.
    Снимок экрана со страницей сведений для примера ИД служебного сервера

Просмотр данных grain в Salt

По окончании развертывания служебного сервера Salt на виртуальных машинах параметры grain служебного сервера можно просмотреть в Cloud Assembly.

Собираемые параметры grain в Salt относятся к таким свойствам системы, как операционная система служебного сервера, имя домена, IP-адрес, ядро, тип ОС, память и многие другие. Если у вас нет доступа к SaltStack Config или вам требуется быстро просмотреть данные grain, не выходя из пользовательского интерфейса Cloud Assembly, то для просмотра данных grain можно использовать вкладку Топология. Дополнительные сведения о данных grain см. в разделе Параметры Salt grains.

Чтобы просмотреть параметры grains служебного сервера, выполните следующие действия.

  1. В Cloud Assembly выберите Ресурсы > Развертывания и найдите нужное развертывание.
  2. На вкладке Топология выберите виртуальную машину, подключенную к ресурсу SaltStack Config.
  3. Найдите раздел Конфигурация Salt на правой панели и прокрутите вниз, чтобы просмотреть список данных grain.Снимок экрана с данными grain в Cloud Assembly

Данные grain служебного сервера извлекаются после развертывания служебного сервера. Чтобы увидеть время последнего обновления данных grain, можно прокрутить вниз раздел Конфигурация Salt.

Снимок экрана с последними обновленными данными grain в Cloud Assembly
Примечание: Данные grain обновляются только при выполнении действия по регулярному обслуживанию Обновление конфигурации Salt для ресурса SaltStack Config. Они не будут обновлены, если какие-либо изменения выполнены вне Cloud Assembly.