puppet bolt とは
この記事は Puppet Advent Calendar 2020 1 日目 の記事です。
puppet bolt とは
Puppet 及び Puppet Labs が開発している puppet の仲間みたいな構成管理ツールです。
https://puppet.com/docs/bolt/latest/bolt.html
puppet bolt の特徴
puppet は、エージェント型の構成管理ツールに該当するのに対して、puppet bolt は、Ansible とかと同様に、エージェントレス型です。Ruby 製。 puppet では、独自の DSL を記述する必要がありましたが、puppet bolt はそこを意識しなくても、簡単なものなら、yaml で記述できるようになっていることが売りみたいです。 また、他の構成ツールに比べて、Unix だけではなく、Windows にも対応しているのが特徴です。 最近は、Ansible も Windows 対応してきているものの、いくつか制約はあります。
- 「Windows SSH の設定」はまだ、本番環境では使えない。 https://docs.ansible.com/ansible/2.9_ja/user_guide/windows_setup.html#windows-ssh
- Ansible の実行環境として、Windows は使えません。 https://docs.ansible.com/ansible/2.9_ja/user_guide/windows_faq.html#ansible-windows
一方、puppet bolt は、他と同様 Unix の方が機能・ドキュメントとしても充実してはいるものの、Windows を実行環境とすることが可能です。
使ってみてよかったこと・いまいちだったこと
よかったこと
- 思ったよりは、puppet bolt のメンテナンスがされていること。
- 2 週間毎くらいに、minor version up(ひたすら minor が、上がっていく。)
- 最悪、ruby かけば、なんとかなる(気がする)。
- ruby とか Ansible に慣れている人なら、慣れれば、いける。
- Ansible Galaxy みたいな感じで Puppet forge があって、ここから、modules を簡単に download してさくっと、設定できるのはよかった。
いまいちだったこと
- 英語でもドキュメントが見つかりづらい。日本語はほぼない or 古すぎて、基本的なことしかわからない。
- 日本人、ちゃんと使っている人いるのか疑問レベル。
- yaml で書けるって聞いてたのに、対応していない時があって、ハマる。
- Puppet DSL 意識しないでいいって聞いたのに、割と puppet のドキュメントをみる。
結論
- Windows Server などの構成管理をする時に、Powershell DSCとかが重かったら、puppet bolt も検討してみてもいいと思う。
- 普通に、生きて入れば、Ansible で十分。
参考
- https://github.com/puppetlabs/bolt
- Welcome to Bolt
- Puppet が開発した新たな構成管理ツール「Bolt」を使ってみる
- 私と Puppet 概念編
- この記事、bolt ではないが、まとまってて非常に、よかった。