skillup

技術ブログ

サーバー・ネットワーク

ansible rolesなど

投稿日:

ansibleはある程度ファイルが肥大化してくると、管理するのが大変になります。

一般的にはプログラムのようにある程度のまとまりにわけてそれを読み込むということになります。

ある程度のまとまりのことをroleなどと呼ぶのが一般的です。

roles

例えばWordPressをインストールする場合には、Apache,PHP,WordPressのインストールが必要になります。

この1つ1つがrolesになります。

ansibleでこれらを管理する場合にはこれらのroleとそれらを呼び出すファイル自体が必要になります。

ファイル構成

rolesを使うには以下のようなファイル構成になっている必要があります。

ディレクトリ名やファイル名を間違えるとうごかないようですので、気を付けましょう。必ずrolesというファイルの下に置き、roles直下がroleの名称になります。その下に置く場合はtasks/main.ymlとなります。

実際にはtemplate以外にも変数を持たせたい場合にはvarsなどのディレクトリを作ることがあります。起動させるファイルがweb.ymlになります。

ちなみにvarsの下にmain.ymlと書いて変数を定義しておけばtask/main.ymlでは読み込む構文なしでその変数を扱えます。変数の定義方法などはいままでと一緒です。

web.yml

host情報やユーザーの情報などはここに書いておき、task内容だけをrolesに書いておくのが良いでしょう。

roles/apache/tasks/main.yml

実行するときにansible-playbook -i ホストファイル web.ymlでOKです。

なお、tagは各タスクにもつけられますが、roleごとにもつけることができます。

http://qiita.com/kiarina/items/affa0b68a710eeeda75b

小ネタ

作業用ユーザーなど比較的頻繁に変わる情報を入れるときは–extra-varsというオプションを使って実行時に入れることもできます。

例えば上記のような場合は、

と入力してあげればOKです。

-サーバー・ネットワーク
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

vagrant share

実はvagrantを使って仮想環境を一時的ではありますが、webから見ることができます。 1 まずはhttps://atlas.hashicorp.com/account/newにてアカウント登録。そ …

no image

セッションハイジャック

今回はセッションハイジャックについて。WEB系では必須といえるでしょう。 Contents1 セッションハイジャックとは?2 被害3 対策4 Cookieについて4.1 Domain4.2 Path4 …

no image

Swift_Mailer(PHPのメール送信。Laravelに入っているライブラリ)

Laravelでメールを送信することがあったんですが使っていたライブラリがSwift_Mailerだったので、ここにメモ。 Swift Mailerのインストール&メールを送信する 今回最初 …

no image

メール送信に関して その2 メールメッセージのデータ形式

前回に引き続き、メールのメッセージ構造について書きたいと思います。 Contents1 大まかな構造2 ヘッダ部2.1 メールアドレス2.2 From/Sender/Reply-To2.3 To/Cc …

no image

nohup(sshログアウトしてもコマンドは続く)+ StickyBit(誰もで書き込み自由)

インフラ系の小ネタです Contents1 nohup2 Sticky Bit(スティッキービット) nohup sshでログインしている時に長時間かかるような処理を実行中、ログアウトするとそのコマン …