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

yumのリポジトリについて

CentOSでは様々なパッケージが用意されていますが、標準で使えるもの以外にもさまざまなリポジトリがあります。 Contents1 リポジトリ一覧2 有効、無効や指定してのインストールについて リポジ …

no image

webサーバーのログの見方

サーバー監視の基礎となるWebサーバーのログ(主にApache)の見方について少し書いてみようと思います。Apacheで解説しますが、nginxでもほぼおなじです。 Contents0.1 モジュール …

no image

pidファイルに関して

サーバー上であるサービスを動いている(と思っている)時にstopしようとしたらpidファイルがありませんと怒られました。 pidファイルってよく聞くけどわかっていなかったのでこれを機にメモ。 Linu …

no image

clamAV

ウイルスソフトclamAVのインストールと使用法について Contents1 インストール1.1 CentOS61.2 CentOS72 スキャン実行の設定に関して インストール CentOS6 [c …

no image

Sambaインストール

オフィスでサーバーをたてていますが、普段使っているメインのPCとのファイルのやりとりをSFTPクライアントなどでするのが面倒くさいので、同期させるためにSambaをインストールしました。 環境ですが、 …