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

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

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

Дополнительные примеры настройки различных сценарии Puppet в схемах элементов Automation Assembler см. в разделах Примеры облачных шаблонов для управления конфигурацией AWS Puppet и Примеры облачных шаблонов vCenter с конфигурацией Puppet.

Необходимые условия

Процедура

  1. Добавьте компонент управления конфигурацией Puppet к вычислительному ресурсу vSphere на холсте требуемого облачного шаблона.
    1. а. Выберите Инфраструктура > Управление > Интеграции.
    2. б. Щелкните Добавить интеграцию и выберите Puppet.
    3. в. Введите соответствующую информацию на странице «Конфигурация Puppet».
      Конфигурация Описание Пример значения
      Hostname Имя узла или IP-адрес основного компьютера Puppet. Puppet-Ubuntu
      SSH Port Порт SSH для обмена данными между Automation Assembler и основным компьютером Puppet. (Необязательно) Н/д
      Autosign secret Общий секретный ключ, настроенный на основном компьютере Puppet, который должны предоставлять узлы для поддержки запросов самозаверяющего сертификата. Отдельно для каждого пользователя
      Размещение Указывает, находится ли основной компьютер Puppet в частном или общедоступном облаке.
      Примечание: Развертывание в нескольких облачных средах поддерживается только при наличии связи между вычислительным ресурсом развертывания и основным компьютером Puppet.
      Cloud proxy Не требуется для общедоступных учетных записей облачной службы, например, Microsoft Azure или Amazon Web Services. При использовании учетной записи облачной службы на основе vCenter выберите соответствующий cloud proxy для своей учетной записи. Н/д
      Имя пользователя Имя пользователя SSH и RBAC для основного компьютера Puppet. Отдельно для каждого пользователя Значение YAML: "${input.username}"
      Пароль Пароль SSH и RBAC для основного компьютера Puppet. Отдельное значение YAML для пользователя: "${input.password}"
      Использовать команды sudo для этого пользователя Выберите режим использования команд sudo для procidd. истина
      Имя Имя основного компьютера Puppet. PEMasterOnPrem
      Описание
  2. Добавьте свойства имени пользователя и пароля в YAML для Puppet, как показано в следующем примере.
  3. Убедитесь, что для свойства remoteAccess в коде YAML облачного шаблона Puppet задано значение authentication: username and password, как показано в примере ниже.

Пример: Код YAML для имени пользователя и пароля в vCenter

В следующем примере приведен пример кода YAML для добавления проверки подлинности по имени пользователя и паролю в вычислительном ресурсе vCenter.

inputs:
  username:
    type: string
    title: Username
    description: Username to use to install Puppet agent
    default: puppet
  password:
    type: string
    title: Password
    default: VMware@123
    encrypted: true
    description: Password for the given username to install Puppet agent
resources:
  Puppet-Ubuntu:
    type: Cloud.vSphere.Machine
    properties:
      flavor: small
      imageRef: >-
        https://cloud-images.ubuntu.com/releases/16.04/release-20170307/ubuntu-16.04-server-cloudimg-amd64.ova
      remoteAccess:
        authentication: usernamePassword
        username: '${input.username}'
        password: '${input.password}'
  Puppet_Agent:
    type: Cloud.Puppet
    properties:
      provider: PEMasterOnPrem
      environment: production
      role: 'role::linux_webserver'
      username: '${input.username}'
      password: '${input.password}'
      host: '${Puppet-Ubuntu.*}'
      useSudo: true
      agentConfiguration:
        certName: '${Puppet-Ubuntu.address}'