Help us understand the problem. What is going on with this article?

Ansible メモ

ansible は全体を理解するまで、どこが起点になるのかがわかりにくい。

最も代表的な名前であろう ansible コマンドは、最も使わないコマンド。おそらく ansible-playbook が一番使うコマンド。ansible コマンドは task 一つを実行する。ansible-playbook は task を束ねた playbook を実行する。なんだかんだで Makefile の代わりに使うことが多くなった。

あまり使わないけれども、困ったときに立ち戻る場所としては、ansible コマンドは次の例から出発するのがよいと思う。task 一つの実行なので、コマンドライン引数で全て渡す。

/bin/bash
ansible -m debug -a "msg=hello" localhost

ansible-playbook コマンドは次の例から。こちらは YAML で playbook ファイルを書いて実行します。

playbook.yml
---
- hosts: localhost
  tasks:
  - debug:
      msg: hello

上の起点から手を広げていくと、感覚がつかみやすい

  • サーバ内でプロビジョニングとして実行したい場合
    • localhost の部分を変える
    • host 名か group 名
    • host 名や group 名の定義は別途 inventory で指定する
    • ざっくりやりたい場合は特殊なグループ名 all を使う
  • 別の task を実行したい場合
    • debug module の代わりに別の module を指定する
    • 引数は module ごとに異なる
    • あるいは task をグループ化した role を使う
    • tasks と roles は両方指定できるが、実行順に制限があるので注意
    • 困ったら tasks を基本として、import_role で role を取り込むとよい

ansible-galxy は role を複数分割して使い始めると便利になってくる。

その他雑多な気が付いたこと

when, tag, connection, become など、いくつかの task でまとめて条件を切り替えたい場合は、block を使うと少し整理できる。

group に host を定義することはできるが、host に group を定義することはできない。
/etc/group と同じといえば同じなので諦める。諦めきれない場合は inventory script を自作すると良い。

kwi
iij
日本のインターネットを支えてきたIIJ。現在もその先もイニシアティブをとり続けます。
https://www.iij.ad.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした