ansible 設定ファイルの作成

ansible 設定ファイルの作成

毎回 -i オプションをつけるというのは
間違いやすいので
設定ファイルを作成し、指定せず実行できるようにします

vim ansible.cfg

でファイルを作ります

[defaults]
hostfile = ./hosts

として保存します

前回は

ansible all -i hosts -m command -a "uptime"

としましたが、
今回は -i hosts を省略して実行してみます

 ansible all -m command -a "uptime"

これで実行しても同じ結果になります

これで簡単にできるようになったので
次は playbook と呼ばれる処理を記述したものを作成
これを実行するようにします

今回はコマンドを実行しましたが
Ansible の場合
コマンドではなく
モジュールとよばれる動作をまとめたものを使えます

そして、このモジュールは
task
というモジュールに引数をまとめた設定として作成できます

playbook とは
このtask つまり行う処理をまとめたものです

コマンドをまとめていろいろ行う
シェルスクリプトのようなものです

この playbook は YAML 形式で書きます

YAML の書き方の詳細については
プログラマーのための YAML 入門 (初級編)


ドットインストールのYAML入門

が参考になります

書き方メモとしては
行頭に – を書くとシーケンスという配列になり

空白2つぐらいでインデントによるデータ階層構造になります
インデントにtab は使えないので注意

あとはマッピングといって半角スペースでインデントすると
キーと値のペアのハッシュになります

コメントアウトは # になりますので
このあたりはシェルスクリプトに似てます

playbook の項目としては
hosts: 対象ホスト名

sudo: 管理者権限について yes no を指定
必要なら yes

remote_user
実行ユーザ名

vars:
変数の指定

tasks: モジュールの指定
ここへ -name: をつけることで task の名前を指定できます
どちらかというと git のコメントのようなものです

モジュールについては
公式ドキュメントを見ます
http://docs.ansible.com/ansible/modules_by_category.html

この中からやりたいことに対応したモジュールを使います

例えば、
AnsibleをUbuntuのローカルで使う

のように git をインストールしたいのなら

apt – Manages apt-packages

を使用します

今回の場合
apt: pkg=

パッケージのビルド依存関係をインストール
となります

とりあえず git のインストールをしてみます

vim git.yml

として
内容を

---
 - hosts: develop
   user: snowpool
   tasks:
     - name: "apt-get install git"
       apt: pkg=git
       sudo: yes

として保存します

playbook を実行するには
ansible-playbook コマンドを使います

ansible-playbook git.yml -K

とすると
作成した git.yml を実行します

このとき -K をオプションでつけると
sudoのパスワードを要求するようになります
このKは大文字です
これを忘れると、そのまま止まったままになってしまうので
注意が必要です

なお、ansible.cfg で hosts ファイルを指定しているので
インベントリファイルの指定は必要ありません

コメントを残す

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