Есть ли способ использовать кукольные рецепты или рецепты шеф-повара без запуска демонов и тому подобного? Я хотел бы иметь возможность интерпретировать файлы и применять их без всякой тяжелой работы.
Если нет, есть ли альтернативный продукт, который можно использовать для установки произвольных вещей, таких как стопки ламп, без следа?
Вы можете запустить puppet <file>.pp
если вы просто хотите применить один манифест локально. При этом, если вам нужно управлять небольшим количеством серверов, использование одного puppetmasterd не будет большим неудобством.
Chef можно использовать в «соло» режиме, который не требует запущенного процесса демона или сервера. Вы можете указать его на удаленный URI кулинарных книг, поэтому вам не нужно распространять файлы повсюду только для настройки.
Если вы устанавливаете / настраиваете программы, которым не требуется root-доступ (например, установка в домашнем каталоге, порты более 1024), вам даже не нужен root-доступ для использования chef-solo. Это также самый простой способ начать работу с Chef, потому что рецепты, которые вы пишете для использования соло, также могут использоваться в клиентских / серверных средах Chef, поэтому вы можете легко масштабироваться.
Для получения дополнительной информации см. Шеф-повар Соло-страница на вики-странице Chef.
Так как Роджек примечания, вы можете выполнять отдельные манифесты с помощью команды puppet
. Но не имея puppetmasterd
Позаботьтесь о процессе компиляции, вы избавитесь от целой кучи доброго волшебства, связанного с организацией модулей и автозагрузкой. Не говоря уже о том, чтобы вручную распространять ваши манифесты.
Судя по вашему вопросу, похоже, что вас больше беспокоит размер клиента, чем сервер. Стоит отметить, что вам не нужно бегать puppetd
в режиме демона, и некоторые люди, в том числе и я, предпочитают периодически вызывать его из cron с параметрами --onetime --no-daemonize
. Вы можете звонить так часто или нет, как хотите.
Используйте git: вам понадобится git на серверах. Не сервер, а клиент.
Создавайте свои манифесты с марионеткой.
Отправьте манифесты в репозиторий git на цели.
Используйте ловушку, чтобы запустить команду марионетки в манифесте. (вы запустите его, когда манифест будет отправлен на целевой хост)
Повторение.
Секрет в том, что, как сказано выше, вы можете запустить манифест с помощью инструмента командной строки. Эй, запустить его со своего ноутбука или с нескольких, почему бы и нет? Демонов нет, но сначала вам понадобится доступ для установки клиентов командной строки марионеток и git.
Если вы имеете в виду не запускать puppetd (клиентский демон), но не возражаете против того, чтобы иметь puppetmaster, то я делаю это:
Просто подключитесь на клиенте и запустите puppetd в --test
режим на каждого клиента. Говорят, что тестовый режим быстрее, чем --onetime --no-daemonize
. Вы также можете настроить параметры в вашем /etc/puppet/puppet.conf
# aofficelinux2 is the puppetmaster server name
sudo /usr/sbin/puppetd --server aofficelinux2.visionten.locala --waitforcert 60 --test –-verbose
Я также делаю это удаленно, когда мне нужно, с помощью сценария, который синхронизирует мое репо с марионеточным мастером и удаленно запускает марионеточный клиент.
# aofficelinux5 is the puppet client servername
rsync_puppet_to_aofficelinux2
ssh -t aofficelinux5 sudo /usr/sbin/puppetd --server aofficelinux2.visionten.locala --waitforcert 60 --test –-verbose
Да! Ты бежишь sh # puppet примените yourmanifest.pp
Самый простой способ запустить Chef Solo - использовать littlechef: https://github.com/tobami/littlechef
Мне кажется, что Ansible был построен с учетом именно этой философии:
- Никаких серверных или клиентских демонов; использовать существующий SSHd
- Никакого дополнительного программного обеспечения на клиентских боксах не требуется
По сути, управляйте описанием конфигурации локально (например, в репозитории git) и отправляйте команды, необходимые для перенастройки ваших серверов через ssh. Моя чашка чая, точно :)