之前在公司推廣使用了ansible,這也使用一段時間了,分享下有關ansible模塊的使用相關介紹。
ansible 默認提供了很多模塊來供我們使用。在 Linux 中,我們可以通過 ansible-doc -l 命令查看到當前 ansible 都支持哪些模塊,通過 ansible-doc -s 模塊名 又可以查看該模塊有哪些參數可以使用。
下面介紹比較常用的幾個模塊:
copy模塊
file模塊
cron模塊
group模塊
user模塊
yum模塊
service模塊
script模塊
ping模塊
command模塊
raw模塊
get_url模塊
synchronize模塊
Ansible和Docker的作用和用法 http://www.linuxidc.com/Linux/2014-11/109783.htm
Ansible批量搭建LAMP環境 http://www.linuxidc.com/Linux/2014-10/108264.htm
Ansible :一個配置管理和IT自動化工具 http://www.linuxidc.com/Linux/2014-11/109365.htm
Linux下安裝部署Ansible http://www.linuxidc.com/Linux/2015-02/112774.htm
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"'
執行效果:
group模塊:
目的:在所有節點上創建一個組名為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"
執行效果:
service模塊:
目的:啟動指定節點上的 puppet 服務,並讓其開機自啟動
命令:ansible 10.1.1.113 -m service -a 'name=puppet state=restarted enabled=yes'
執行效果: