Update 2014-09-12
: Salt チュートリアル - Part3: OpenShift Origin 3の準備
Saltは構成管理ツールの側面もありますが、本来はPUB/SUBで分散環境でリモートのコマンドを実行するためのツールです。
そのためReactorやEventを使ったイベント駆動システムの側面もあります。Message Bus
が必要なシステムのインフラとしてSaltを使うのおもしろいです。
Reactor System
SaltはスケールするZeroMQを使ったPUB/SUBの良い実装例でもあります。
イベントハンドラもPythonで記述できるので、任意の処理をsalt-masterで実行できます。
Kubernetesのreactor
ドキュメントを読んでもタグの'salt/minion/*/start'
のマッチの意味を理解できなかったのですが、
Infrastructure Management with SaltStack: Part 3 – Reactor and Eventsに説明がありました。
This tag says “every time any minion service starts”.
このタグで、minionが起動したときのイベントをmasterで受信することができます。
cat <<EOF >/etc/salt/master.d/reactor.conf |
イベントを受信すると、masterはイベントを発行したminionに対してhighstateを実行します。
Kubernetesの場合は、minion用のコンポーネントがインストールされます。
# This runs highstate on the target node |