LoginSignup
8
7

More than 5 years have passed since last update.

rundockを使って複数のマシンにitamaeを実行する

Posted at

itamaeを複数のマシンに走らせたい場合に、いちいちitamae ssh -j [nodeファイル指定] -j [host_name] [recipeファイル]としていくのは結構面倒ですよね。適用させるマシンが増えれば増えるほど面倒くさい。
そうなると多分シェルを使うとかになると思いますが、別のやり方もあります。それがrundockです。

インストール

今回はitamaeを使うという前提で。

gem 'itamae', '~> 1.5'

# 複数の環境でitamaeを提供する
gem 'rundock'
gem 'rundock-plugin-operation-itamae'

itamae1.5以上でないと実行にエラーが起きる。

rundock

シナリオファイル

どのマシンにどのレシピを実行するかをyaml形式で書きます。今回は次のように書きます。

- target: dev-el4
  itamae:
    - cookbooks/redis_elasticsearch.rb
    - node_json: nodes/redis_elasticsearch.json
    - log_level: info
    - sudo: true
- target: dev-el2
  itamae:
    - recipes/redis/redis.rb
    - node_json: nodes/redis.json
    - log_level: info
    - sudo: true
---
dev-el4:
  host: 127.0.0.1
  ssh_opts:
    port: 2200
    user: vagrant
    key: /usr/local/project/itamae_recipe/.vagrant/machines/el4/virtualbox/private_key
---
dev-el2:
  host: 127.0.0.1
  ssh_opts:
    port: 2201
    user: vagrant
    key: /usr/local/project/itamae_recipe/.vagrant/machines/el2/virtualbox/private_key
---

実行コマンド

実行はrundock do scenario.yml
dry runするときは、rundock do scenario.yml --dry-run

シナリオ実行すると適用するitamaeが実行されます。

rundock適用結果.png

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7