ansible常用モジュールの使い方



ansibleはデフォルトで多くのモジュールを提供しています.Linuxでは、ansible-doc-lコマンドを使用して、現在のansibleがサポートしているモジュールを表示し、ansible-doc-sモジュール名を使用して、モジュールに使用できるパラメータを表示できます.
一般的なモジュールをいくつか紹介します.
1
2
3
4
5
6
7
8
9
10
11
12
13 copy file cron group user yum service script ping command raw get_url synchronize
copyモジュール:
目的:マスタ/rootディレクトリの下のa.shファイルを指定ノードにコピーする
コマンド:ansible 10.1.1.113-m copy-a'src=/root/a.sh dest=/tmp/'
実行:
fileモジュール:
目的:指定ノード上の/tmp/t.shの権限を755に変更し、所有者と所有グループをrootに変更する
コマンド:ansible all-m file-a"dest=/tmp/t.sh mode=755 owner=root group=root"
実行:
cronモジュール:
目的:指定したノードに計画タスクを定義し、3分おきにマスターエンドに更新する時間
コマンド:ansible all-m cron-a'name="custom job"minute=*/3 hour=*day=*month=*weekday=*job="/usr/sbin/ntpdate 172.16.254.139"'
実行:
グループモジュール:
目的:すべてのノードにnolinuxとgid 2014というグループを作成する
コマンド:ansible all-m group-a'gid=2014 name=nolinux'
実行:
userモジュール:
目的:指定したノードにnolinuxというユーザー名、nolinuxというグループのユーザーを作成します.
コマンド:ansible 10.1.1.113-m user-a'name=nolinux groups=nolinux state=present'
コマンドの実行:
補足:ユーザー・サンプルの削除
yumモジュール:
目的:指定したノードにlrzszサービスをインストールする
コマンド:ansible all-m yum-a「state=present name=httpd」
実行:
サービスモジュール:
目的:指定したノードのpuppetサービスを起動し、起動してから起動させる
コマンド:ansible 10.1.1.113-m service-a'name=puppet state=restarted enabled=yes'
実行:
scriptモジュール:
目的:指定したノードで/root/a.shスクリプト(ansible制御ノード)を実行します.
コマンド:ansible 10.1.1.113-m script-a'/root/a.sh'
実行:
pingモジュール:
目的:指定ノードマシンがまだ接続できるかどうかを確認する
コマンド:ansible 10.1.1.113-m ping
実行:
commandモジュール:
目的:指定したノードでhostnameコマンドを実行する
コマンド:ansible 10.1.1.113-m command-a'hostname'
実行:
rawモジュール:
目的:10.1.1.113ノードでhostnameコマンドを実行する
コマンド:ansible 10.1.1.113-m raw-a'hostname|tee'
実行:
get_urlモジュール:
目的:http://10.1.1.116/favicon.icoファイルを指定したノードの/tmpディレクトリにダウンロード
コマンド:ansible 10.1.1.113-m get_url -a 'url=http://10.1.1.116/favicon.ico dest=/tmp'
実行:
synchronizeモジュール:
目的:ホスト/root/aディレクトリを指定したノードの/tmpディレクトリの下にプッシュ
コマンド:ansible 10.1.1.113-m synchronize-a'src=/root/a dest=/tmp/compress=yes'
実行:
delete=yes両側の内容を同じにする(すなわち、プッシュ側を主とする)
compress=yes圧縮がオン、デフォルトはオン
--exclude=.Gitは同期を無視する.git末尾のファイル
モジュールのため、デフォルトはpushをプッシュします.したがって、プル機能を使用する場合は、以下のように実現することができます.
mode=pullプッシュモードをプルモードに変更
目的:10.1.1.113ノードの/tmp/aディレクトリをマスタノードの/rootディレクトリの下に引き寄せる
コマンド:ansible 10.1.1.113-m synchronize-a'mode=pull src=/tmp/a dest=/root/'
実行:
モジュールのデフォルトでarchiveパラメータが有効になっているため、このパラメータのデフォルトではrecursive、links、perms、times、owner、group、Dパラメータがオンになります.このパラメータをnoに設定すると、次のような多くのパラメータを停止します.たとえば、次のような目的で再帰的に失敗し、プルできません.
その他の関連パラメータの説明:
1
2
3 dest_port=22     #  ssh ,ansible  ansible_ssh_port   dest_port  rsync_path       #   rsync  。 rsync --rsync-path ,--rsync-path=PATH     #  rsync rsync_timeout    #   rsync   IP  , rsync  --timeout 
OK!
以上、日常のメンテナンスでよく使われるモジュールを挙げておきます.より多くのモジュール情報は後期に改善され、公式サイトでより多くの情報を見ることができます.
公式サイトのアドレス:http://docs.ansible.com/synchronize_module.html