クイックリファレンス

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

タスクモジュールの作成

タスクはターゲットホストでサポートされている任意の言語(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

関連テーマ