skillup

技術ブログ

サーバー・ネットワーク

ansible rolesなど

投稿日:2017年4月4日 更新日:

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ごとにもつけることができます。

Ansibleでタグを使ってみる

小ネタ

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

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

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

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

執筆者:


comment

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

関連記事

no image

docker-compose(CentOS7系やMySQLのオプションなど)

以前、docker-composeを使った記事は使ったのですが、 実際にCentOS7やMySQLを扱った時につまづいたことなどを。 Contents1 CentOS7系のメモ1.1 docker-c …

no image

サーバーの過負荷の発見 メモリ使用率の調査&抽出、置換(awk,sed)コマンドについて

前回、サーバーの負荷調査について記事を書いたので、それに関するスクリプトを。 Contents1 仕様2 ソース3 解説3.1 freeコマンド3.2 awk3.3 sed 仕様 日付とメモリ使用率、 …

no image

nginx基本

データベースについて勉強していましたが、実務でnginxを触る機会があったので、これを機に勉強。 Contents1 参考文献2 nginx基礎3 コアモジュール4 httpモジュール5 設定ファイル …

no image

mod_rewriteについて

本日はapacheのmod_rewriteについて。 例えばget句に郵便番号を付けて、住所を出力するWEBプログラムがあるとします。 この場合、そのままだと[crayon-600b4a65ecc3f …

no image

linuxでのherokuのインストール&パスの通し方

linuxでのherokuのインストールやパスの通し方について 原則としてruby入ってないとダメっぽいです。(しかもruby1.8系だと2016年6月現在エラーが出ますので最新バージョンをインストー …