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

Как настроить Puppet Master и агент в CentOS 7


Это руководство существует для этих версий ОС

  • CentOS 8
  • CentOS 7

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

  1. Предпосылки
  2. Что мы будем делать:
  3. Шаг 1. Предварительная установка Puppet
    1. - Настройка хостов
    2. - Настройка NTP-сервера
    3. - Отключить SELinux
    4. – Добавить репозиторий марионеток

    Puppet — это инструмент управления конфигурацией с открытым исходным кодом и среда автоматизации сервера. Puppet может работать в Unix-подобных операционных системах, а также в системах Microsoft Windows. Он позволяет вам управлять и выполнять административные задачи и настраивать сотни систем с одного главного сервера.

    В этом руководстве я расскажу вам, как установить Puppet на CentOS 7. Я установлю и настрою сервер CentOS 7 в качестве мастера марионеток, а другой — в качестве агента.

    Предпосылки

    • 2 сервера CentOS 7
      • 10.0.15.10      master.hakase.io    2 ГБ памяти
      • 10.0.15.11      agent.hakase.io

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

      1. Предварительная установка Puppet
      2. Установка и настройка сервера Puppet
      3. Установка и настройка агента Puppet
      4. Проверка конфигурации агента Puppet
      5. Создание первого манифеста марионетки

      Шаг 1 — Предварительная установка Puppet

      На этом этапе мы выполним некоторые задачи, включая установку и настройку на обоих серверах puppet master и puppet agent. Настроим файл hosts, синхронизируем время с помощью NTP-сервера, отключим SELinux и добавим в систему репозиторий puppet.

      - Настроить хосты

      Подключитесь к мастеру марионеток и агенту, используя своего пользователя root.

      ssh 

      Теперь отредактируйте хосты с помощью редактора vim.

      vim /etc/hosts

      Добавьте следующую конфигурацию в конец строки.

      10.0.15.10      master.hakase.io
      10.0.15.11      agent.hakase.io

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

      Теперь проверьте с помощью команды ping.

      ping master.hakase.io
      ping agent.hakase.io

      И убедитесь, что вы получили IP-адрес сервера 10.0.15.10 и 10.0.15.11.

      - Настроить NTP-сервер

      Очень важно поддерживать синхронизацию времени между главным сервером и сервером агента.

      Установите пакеты NTP на оба сервера с помощью команды yum.

      yum -y install ntp ntpdate

      После завершения установки выберите нужный пул NTP, выполнив команду, как показано ниже.

      sudo ntpdate 0.centos.pool.ntp.org

      Теперь запустите службу NTP и включите ее запуск каждый раз при загрузке системы.

      sudo systemctl start ntpd
      sudo systemctl enable ntpd

      Установка и настройка NTP завершена.

      - Отключить SELinux

      Отредактируйте конфигурацию SELinux с помощью vim.

      vim /etc/sysconfig/selinux

      Измените значение SELINUX на отключенное.

      SELINUX=disabled

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

      - Добавить кукольный репозиторий

      Теперь добавьте репозиторий puppet в систему с помощью приведенной ниже команды rpm.

      rpm -Uvh https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm

      По завершении перезагрузите оба сервера.

      reboot

      Теперь все было готово к установке и настройке puppet.

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

      На этом этапе мы установим puppetserver на сервер master.hakase.io. Установите puppetserver с помощью приведенной ниже команды yum.

      sudo yum -y install puppetserver

      После завершения установки нам нужно настроить выделение памяти для puppetserver. Мы установим максимальное выделение памяти для puppetserver на 1 ГБ.

      Отредактируйте конфигурацию puppetserver с помощью vim.

      vim /etc/sysconfig/puppetserver

      Теперь измените строку, как показано ниже.

      JAVA_ARGS="-Xms1g -Xmx1g ...."

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

      Затем перейдите в каталог конфигурации puppet и отредактируйте файл puppet.conf.

      cd /etc/puppetlabs/puppet
      vim puppet.conf

      Добавьте следующую конфигурацию.

      [master]
      dns_alt_names=master.hakase.io,puppet

      [main]
      certname = master.hakase.io
      server = master.hakase.io
      environment = production
      runinterval = 1h

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

      Теперь запустите puppetserver и разрешите ему запускаться каждый раз при запуске.

      systemctl start puppetserver
      systemctl enable puppetserver

      Установка и настройка Puppetserver успешно завершены.

      Если вы используете firewalld в своей системе, добавьте порт puppetserver в список с помощью приведенной ниже команды firewall-cmd.

      firewall-cmd --add-port=8140/tcp --permanent
      firewall-cmd --reload

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

      Мы установим агент puppet на сервер agent.hakase.io.

      Установите агент puppet, используя приведенную ниже команду yum.

      yum install -y puppet-agent

      После завершения установки перейдите в каталог конфигурации puppet и отредактируйте файл puppet.conf.

      cd /etc/puppetlabs/puppet
      vim puppet.conf

      Вставьте следующую конфигурацию.

      [main]
      certname = agent.hakase.io
      server = master.hakase.io
      environment = production
      runinterval = 1h

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

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

      Запустите приведенную ниже команду в оболочке агента puppet.

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

      Агент марионеток теперь работает на сервере и пытается зарегистрироваться на хозяине марионеток.

      Теперь вернитесь в оболочку puppet master и выполните приведенную ниже команду.

      /opt/puppetlabs/bin/puppet cert list

      И вы получите ожидающий запрос на подпись сертификата (CSR) от сервера кукольного агента agent.hakase.io.

      Подпишите сертификат с помощью приведенной ниже команды.

      /opt/puppetlabs/bin/puppet cert sign agent.hakase.io

      И результат должен быть похож на следующий:

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

      Шаг 4. Проверьте конфигурацию агента Puppet

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

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

      И вы получите результат, как показано ниже.

      Агент Puppet извлек конфигурацию из мастера марионеток и применил ее к серверу без каких-либо ошибок.

      Шаг 5 — Создайте первый манифест

      Установка и настройка мастера марионеток и агента завершена. И для этого шага мы создадим простой манифест для тестирования.

      Мы создадим манифест для установки веб-сервера Apache httpd.

      На главном сервере puppet перейдите в каталог /etc/puppetlabs/code/ и создайте новый файл манифеста site.pp с помощью vim.

      cd /etc/puppetlabs/code/
      cd environments/production/manifests

      Создайте новый файл манифеста.

      vim site.pp

      Вставьте следующую конфигурацию.

      node 'agent.hakase.io' {
          package { 'httpd':
              ensure  => "installed",
          }
          service { 'httpd':
              ensure => running,
          enable => true
          }
      }

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

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

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

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

      Ниже приводится результат.

      Откройте веб-браузер и введите IP-адрес кукольного агента.

      http://10.0.15.11/

      И вы получите HTTP-страницу по умолчанию, как показано ниже.

      Веб-сервер httpd был установлен с использованием манифеста puppet.

      Установка и настройка Puppet Master и Puppet Agent на CentOS 7 успешно завершены.

      Ссылка

      • https://docs.puppet.com/