Поиск по сайту:

Как добавить агентов Puppet в Foreman


На этой странице

  1. Шаг 1. Настройка хостов
  2. Шаг 2. Установите и настройте агент Puppet
    1. - Установите агент Puppet на сервер Ubuntu 18.04.
    2. - Установите агент Puppet на сервере CentOS 7.

    1. - Подписание запросов сертификатов с помощью Terminal Shell
    2. - Подпишите запросы на сертификаты с помощью панели инструментов Foreman.

    1. - Загрузите модуль Nginx Puppet
    2. - Активация модулей Puppet
    3. - Добавление модуля Puppet к хосту агента
    4. - Применить и протестировать

    Это вторая часть руководства Foreman. В первом руководстве мы уже показали вам установку и настройку Foreman на Ubuntu Server 18.04 LTS, а теперь я покажу вам, как добавить Puppet Agents в Foremen.

    Предпосылки

    • Мастер кукол
    • Привилегии root

    Что мы будем делать?

    1. Настройка хостов
    2. Установка и настройка агента Puppet
    3. Подписать Сертификаты на Мастера Кукловода
    4. Тестирование

    Шаг 1 - Настройка хостов

    Прежде всего, нам нужно настроить FQDN (полное доменное имя) серверов марионеточных агентов.

    Измените имя хоста сервера с помощью приведенной ниже команды hostnamectl.

    hostnamectl set-hostname client.hakase-labs.io

    После этого отредактируйте файл /etc/hosts.

    vim /etc/hosts

    Измените IP-адрес и полное доменное имя на свои собственные и вставьте их.

    10.9.9.20   server.hakase-labs.io   server
    10.9.9.21   client.hakase-labs.io   client

    Сохранить и закрыть.

    Теперь проверьте хост с помощью следующей команды и убедитесь, что полное доменное имя сервера разрешается в ваш действительный IP-адрес.

    ping $(hostname -f) -c 3

    Шаг 2 — Установите и настройте агент Puppet

    На этом этапе мы собирались установить Puppet Agent 5 на серверы Ubuntu 18.04 и CentOS 7. Мы хотим добавить репозиторий Puppet в систему, а затем установить пакеты агента puppet на серверы Ubuntu и CentOS.

    - Установите агент Puppet на сервер Ubuntu 18.04.

    Загрузите репозиторий пакетов и добавьте его в систему.

    cd /tmp && wget https://apt.puppetlabs.com/puppet5-release-bionic.deb
    sudo dpkg -i puppet5-release-bionic.deb

    После этого обновите репозитории Ubuntu и установите пакеты агента puppet, используя следующие команды apt.

    sudo apt update
    sudo apt install -y puppet-agent

    - Установите агент Puppet на сервере CentOS 7.

    Загрузите репозиторий пакетов и добавьте его в систему.

    cd /tmp && wget https://yum.puppet.com/puppet5/puppet5-release-el-7.noarch.rpm
    rpm -ivh puppet5-release-el-7.noarch.rpm

    После этого установите пакеты кукольного агента, используя следующую команду.

    sudo yum install -y puppet-agent

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

    Перейдите в каталог /etc/puppetlabs/puppet и отредактируйте файл конфигурации puppet.conf.

    cd /etc/puppetlabs/puppet/
    vim puppet.conf

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

    [agent]
        server = server.hakase-labs.io
        certname = client.hakase-labs.io
        runinterval = 180
        environment = production
        listen = false
        pluginsync = true
        report = true

    Сохранить и выйти.

    После этого запустите службу кукольного агента, используя следующую команду.

    sudo /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true

    Или, если требуется, перезапустите службу.

    sudo systemctl restart puppet

    Агент кукол запущен и работает как на серверах Ubuntu, так и на серверах CentOS.

    Шаг 3. Подпишите запросы сертификатов агентов Puppet

    Чтобы подписывать запросы на сертификаты агентов puppet, мы можем использовать терминальную оболочку главного сервера puppet (в данном случае это сам сервер foreman) или использовать панель управления foreman.

    - Подписывать запросы сертификатов с помощью Terminal Shell

    Войдите на главный сервер puppet (в данном руководстве это сервер foreman) и проверьте запрос сертификата, используя следующую команду.

    sudo /opt/puppetlabs/bin/puppetserver ca list

    Теперь вы увидите сертификат имени клиента, подпишите его командой ниже.

    sudo /opt/puppetlabs/bin/puppetserver ca sign --certname client.hakase-labs.io

    И сертификат кукольного агента был добавлен к кукольному мастеру через терминальный сервер.

    - Подписывать запросы на сертификаты с помощью панели инструментов Foreman.

    Нажмите меню «Инфраструктура» слева, затем выберите Smart Proxies.

    Теперь выберите параметры сертификатов из раскрывающейся кнопки сервера мастера.

    Теперь вы получите имя клиента, который делает запросы в состоянии ожидания, нажмите кнопку «Подписать».

    После этого проверьте хосты агента, перейдя на страницу Hosts.

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

    Ниже приведены подробности об агенте Ubuntu Puppet.

    Шаг 4 — Тестирование

    В этом руководстве мы собирались протестировать сервер puppet foreman и агент puppet для развертывания служб nginx и NTP на хосте агента puppet. Прежде чем мы начнем, нам нужно загрузить модули nginx и ntp puppet на сервер foreman, а затем активировать эти модули и добавить их в агент puppet.

    - Загрузите модуль Nginx Puppet

    Загрузите модуль nginx puppet, выполнив следующую команду на сервере puppet master foreman.

    sudo /opt/puppetlabs/bin/puppet module install puppet/nginx

    - Активировать кукольные модули

    После этого импортируйте модуль nginx через панель управления мастером.

    Щелкните меню «Настроить» слева и выберите «Классы марионеток».

    Нажмите кнопку «Импорт среды из server.hakase-labs.io», отметьте доступные классы модулей и нажмите «Обновить».

    Теперь вы получите модуль Nginx в списке.

    - Добавить модуль Puppet на хост агента

    Нажмите меню «Хосты» слева, нажмите «Все хосты», чтобы получить списки доступных хостов.

    Теперь нажмите кнопку «Изменить» на хосте агента с именем client.hakase-labs.io.

    Перейдите на вкладку Puppet Classes, добавьте модуль nginx и ntp и нажмите кнопку Submit.

    На хост агента добавлены модули Nginx и NTP.

    Дополнительно:

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

    - Подать заявку и протестировать

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

    sudo /opt/puppetlabs/bin/puppet agent --test

    Когда он будет завершен, вы увидите результат, как показано ниже.

    После этого проверьте службу nginx и ntp, проверив указанный порт, чтобы убедиться, что порты HTTP и NTP используются службами nginx и ntp.

    netstat -plntu

    Теперь вы можете получить доступ к веб-серверу nginx на узле агента.

    curl client.hakase-labs.io

    Чтобы проверить конфигурацию сервера ntp, выполните следующую команду.

    cat /etc/ntp.conf

    И вам будет показана конфигурация ntp, которой управляет Puppet.

    Ссылки

    • https://theforeman.org/manuals/