Краткий справочник

Шпаргалка по оркестрации Puppet Bolt (Быстрый старт)

Краткий справочник по безагентному оркестратору Puppet Bolt: установка, создание задач, структура модулей и удалённое выполнение команд на нескольких узлах.

· Опубликовано

Puppet Bolt — безагентный инструмент оркестрации с открытым исходным кодом для автоматизации разовых задач, скриптов и многоузловых сценариев по стандартным протоколам SSH или WinRM.

Установка

# macOS (Homebrew)
brew install puppetlabs/puppet/puppet-bolt

# Windows (Chocolatey)
choco install puppet-bolt

# Linux (Debian / Ubuntu)
wget https://apt.puppet.com/puppet-tools-release-$(lsb_release -cs).deb
sudo dpkg -i puppet-tools-release-*.deb
sudo apt-get update && sudo apt-get install puppet-bolt

Создание модуля задач (Task Module)

Задачи можно писать на любом языке, поддерживаемом на целевых хостах (Bash, Python, PowerShell, Ruby):

# Создайте каталог tasks внутри модуля
mkdir -p ~/.puppetlabs/bolt/modules/mymodule/tasks

# Поместите скрипт в папку задач и выдайте права на запуск
cp myscript.sh ~/.puppetlabs/bolt/modules/mymodule/tasks/
chmod +x ~/.puppetlabs/bolt/modules/mymodule/tasks/myscript.sh

Выполнение задач

Запускайте задачи сразу на нескольких удалённых узлах с аутентификацией по приватному ключу SSH:

bolt task run mymodule::myscript \
  --targets node1.example.com,node2.example.com \
  --user root \
  --private-key ~/.ssh/id_rsa

Запуск произвольных команд и скриптов

# Выполнить однострочную команду на всех узлах инвентаря
bolt command run 'uptime' --targets all

# Удалённо выполнить локальный скрипт
bolt script run ./deploy.sh --targets webservers

Связанные темы