RU | EN | DE

Шаг 1. Установка ОС и Важный нюанс с Именем 🏷️

Запускай установку Ubuntu (важно, версию: 22.04). Процесс стандартный, но есть один критический момент:

  • В меню, где нужно ввести Server name (Hostname): 👉 Напиши: puppet
  • Username: user (или как тебе удобно). Установка ssh:
sudo apt install openssh-server

Шаг 2. Подготовка к установке (В консоли) 🛠️

Как только сервер установится и перезагрузится:

  1. Подключись через SSH (PowerShell с реального ПК): ssh user@IP-АДРЕС
  2. Puppet очень чувствителен к точному времени (из-за сертификатов безопасности). Проверь время:
date
  1. Обнови систему перед стартом:
sudo apt update && sudo apt upgrade -y

Поменять имя, если было выбрано другое:

sudo hostnamectl set-hostname puppet

Исправляем файл hosts (ОБЯЗАТЕЛЬНО!) ⚠️ Если пропустить этот шаг, команда sudo начнет “тупить” (долго думать), а Puppet не сможет подключиться сам к себе.

  1. Открой файл hosts:
sudo nano /etc/hosts
  1. Найди строчку, которая начинается на 127.0.1.1 (или 127.0.0.1). Там будет старое имя.
  2. Замени старое имя на puppet.
    • Пример: 127.0.1.1 puppet
  3. Сохрани: Ctrl+O Enter Ctrl+X.

Перезапуск:

sudo reboot

Шаг 3. Подключаем репозиторий Puppet 8 📦

В стандартном Ubuntu репозитории Puppet обычно очень старый. Нам нужна версия 8 (Platform 8) — это текущий стандарт индустрии.

Выполни эти команды по очереди:

  1. Скачиваем пакет репозитория:
wget https://apt.puppet.com/puppet8-release-noble.deb

(Если скажет “Command not found”, поставь wget: sudo apt install wget). 2. Устанавливаем его:

sudo dpkg -i puppet8-release-noble.deb
  1. Обновляем списки пакетов (чтобы система увидела новый софт):
sudo apt update

Шаг 4. Установка Puppetserver 🎭

Теперь ставим сам сервер. Это “мозги” всей конфигурации.

sudo apt install puppetserver -y

Он подтянет Java и кучу библиотек. Это займет пару минут.

Шаг 5. Настройка памяти (Java) 🧠

По умолчанию Puppet Server хочет отхватить 2 ГБ оперативной памяти (Java Heap). Так как мы выделили виртуалке 4 ГБ, настройки по умолчанию нам подходят идеально. Но давай просто заглянем в конфиг, чтобы ты знал, где это менять в будущем (например, если сервер начнет падать):

  1. Открой файл настроек:
sudo nano /etc/default/puppetserver
  1. Найди строку: JAVA_ARGS="-Xms2g -Xmx2g ..."
  2. Убедись, что там стоит 2g (2 Гигабайта). Если вдруг у виртуалки станет меньше памяти, здесь нужно будет поменять на 1g.
  3. Выходи (Ctrl+X), ничего не меняя.

Шаг 6. Первый запуск (Долго!) ⏳

Самый ответственный момент. Первый запуск тяжелый, так как сервер генерирует криптографические ключи и сертификаты (CA).

  1. Запускаем:
sudo systemctl start puppetserver
⚠️ **Внимание:** Команда может "повиснуть" на минуту или две. **Не прерывай её!** Это нормально.

2. Включаем автозапуск (чтобы стартовал сам):

sudo systemctl enable puppetserver
  1. Проверяем статус:
sudo systemctl status puppetserver

Должно гореть зеленым: active (running).

Шаг 7. Проверка доступности 📡

Puppet работает на порту 8140. Давай проверим, слушает ли он его.

ss -tulpn | grep 8140

Если видишь строку, где есть :::8140 и java, — поздравляю! Твой Puppet Master жив и ждет приказов.

Шаг 8. Можно посмотреть файл настроек📡

sudo nano /etc/default/puppetserver

Шаг 9. Чиним права доступа 🔑

Введи эту команду, чтобы отдать все папки Puppet правильному владельцу:

sudo chown -R puppet:puppet /etc/puppetlabs /var/log/puppetlabs /var/run/puppetlabs /opt/puppetlabs/server/data/puppetserver

Шаг 10. Перезапускаем сервер 🔄

Теперь, когда права есть, он сможет создать ключи.

sudo systemctl restart puppetserver

Подожди минуту и проверь статус:

sudo systemctl status puppetserver

Прописываем пути:

echo 'export PATH=$PATH:/opt/puppetlabs/bin:/opt/puppetlabs/puppet/bin' >> ~/.bashrc

Примени изменения:

source ~/.bashrc

Проверка версии:

puppet --version

Проверка сервера:

sudo puppet agent -t

Шаг 11. Исправляем /etc/hosts на Puppet Server 🛠️

Мой прошлый совет про 10.0.1.200 был бы верен, если бы сервер смотрел прямо в интернет. Но в твоей схеме сервер должен знать, что он сам — это 192.168.0.14.

  1. Подключись к Puppet (через SSH, как ты уже делал).
  2. Открой файл hosts:
sudo nano /etc/hosts
  1. Впиши туда его внутренний адрес:
192.168.0.14    puppet  puppet.local
  1. Сохрани (Ctrl+O, Enter, Ctrl+X). Теперь сервер знает: “Я — puppet, мой адрес — 192.168.0.14”.