LoginSignup
0
0

More than 5 years have passed since last update.

よく使うansibleモジュール

Last updated at Posted at 2016-07-03

ansibleのタスクでは各種モジュールを利用して個別のタスクを実行します。
そこで、よく利用するモジュールについて整理します。

とはいっても経験が浅いので順次追加していく予定。

主要なモジュール

モジュール名 内容
apt Debian系のLinuxディストリビューションでapt-getコマンドを発行する
copy ローカルマシンからリモートサーバにファイルを転送する
file ファイル(ファイル,リンク, ディレクトリ)を作成
template テンプレートファイルをパースしてリモートサーバに転送する
service 特定のサービスを指定した状態にする
yum RHEL系のLinuxディストリビューションでyumコマンドを発行する

モジュールの使用例

apt

aptモジュールの使用例
- name: Install vim
  apt: name=vim update_cache=yes

ここではvimのパッケージインストールをキャッシュのアップデートを
行ったうえで実行するという形になっている。

パラメータ名 意味 記法例
name パッケージ名 name=vim
update_cache 事前にapt-get updateを実行するか否か update_cache=yes

詳細は、
http://docs.ansible.com/ansible/apt_module.html

copy

copyモジュールの使用例
- name: Copy .vimrc
  apt: src=files/vimrc dest=~/.vimrc
パラメータ名 意味 記法例
src コピー元ファイル名 src=files/vimrc
dest コピー先ファイル名 dest=~/.vimrc

file

- name: Create ~/.ssh
  file: >
  path=~/sample.file
  state=file

stateで指定する内容に応じて他のパラメータが変化する。

  • stateで指定できる内容
    • file
      • ファイルを取り扱う
    • link
      • シンボリックリンクを取り扱う
    • directory
      • ディレクトリを取り扱う

ほかにもtouch, hard, absentがあるが割愛

template

Jinja2テンプレートエンジンを使ってsrcに指定したファイルをパースし、
destに指定したリモートサーバのディレクトリに出力する。

templateモジュールの使用例
 - name: Create my.cnf
    template: src=templates/my.cnf.j2 dest=/etc/my.cnf mode=0644

service

RHEL系ディストリビューションでいうserviceコマンド,systemctlコマンドを実行する??

yaml: serviceコマンドの使用例
- name: Restart MySQL
service: name=mysql state=restarted

yum

yumコマンドを実行する

yumコマンドの使用例
  - name: Install vim
    yum: name=vim state=latest

参考情報

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0