Ansible基本使用及常用模块详解
一、ansible基本使用
定義主機組
定義被管理節點列表的文件/etc/ansible/hosts,在定義被管理節點的時候,可以單獨基于主機做定義,也可以將多個主機定義成一個主機組。
在上篇博文安裝部署ansible時候已經定義了一個主機組webservers,這里我再單獨定義一臺主機testser
使用ansible管理其他節點
格式:ansible <host> [options]
常用選項:
在管理節點通過ansible在被管理節點執行命令
格式:ansible 目標 -m command -a "命令"
說明:
例子:
1.在webservers主機組上執行
二、常用模塊詳解
查看ansible所支持的模塊信息
[root@ser1 ~]# ansible-doc -l 【默認使用command模塊】查看一個模塊的使用幫助
格式:ansible-doc -s 模塊名
# 查看command模塊的使用幫助 [root@ser1 ~]# ansible-doc -s command1. command模塊
默認模塊,在沒有-m指定的情況下默認使用-m command
作用:在各個被管理節點上執行命令,但是不能傳遞參數和變量。
2. corn模塊
作用:在指定的時間運行指定的命令(計劃任務)
字命令:
例子:每個兩分鐘在/tmp下的log.txt中追加一個123
[root@ser1 ~]# ansible webservers -m cron -a 'minute="*/2" hour=* day=* month=* weekday=* job="echo 123 >>/tmp/log.txt" name="job1" state="present"' # 檢查一下 [root@ser1 ~]# ansible webservers -a "crontab -l"例子:每五分鐘所有的從節點來主節點同步一次時間
[root@ser1 ~]# ansible all -m cron -a 'name="sync time from ser1" minute=*/5 job="/usr/sbin/ntpdate ser1"'3. group模塊
作用:在指定節點上創建組
例子:創建一個組組名為cx55887,gid為2018
4. user模塊
作用:管理用戶
可以使用ansible-doc -s user查看幫助,參數搜通俗易懂。
例子:創建一個用戶名為cx55887,并加入到cx55887組中
5. copy模塊
作用:復制文件到遠程主機
字命令:
注意:src如果路徑是一個目錄,它將遞歸復制。在這種情況下,如果路徑使用"/“來結尾,則只復制目錄里的內容,如果沒有使用”/"來結尾,則包含目錄在內的整個內容全部復制,類似于rsync。
例子:
6. service模塊
作用:管理服務
字命令:
例子:管理httpd
[root@ser1 ~]# ansible all -a "systemctl status httpd" [root@ser1 ~]# ansible all -m service -a "name=httpd state=started enabled=on" [root@ser1 ~]# ansible all -a "ss -tnl"7. ping模塊
作用:測試主機是否在線,主機如果在線,則回復pong
例子:測試主機列表清單中的主機是否在線
8. file模塊
作用:實現鹽城文件的管理操作
字命令:
例子:
# ansible all -m file -a 'state=touch path=/tmp/abc.def' # ansible all -m file -a 'state=link src=/tmp/abc.def path=/tmp/abc.def.ln' # ansible all -m file -a 'state=absent path=/tmp/abc.def' # ansible all -m file -a 'force=on state=absent path=/tmp/' # ansible all -m file -a 'force=on state=absent path=/tmp'9. shell模塊
作用:用于在各被管理節點運行指定的命令,類似于command,但是可以執行復雜的命令,可以使用變量
10. script模塊
作用:講一個本地腳本傳遞到遠程主機上,并運行
11.yum模塊
作用:管理遠程主機上的rpm包
字命令:
例子:
# ansible webservers -m yum -a "name=lrzsz state=present"我在學習過程中常用的模塊差不多就這幾個,以后學習工作中遇到再補充。
------做運維之前很矯情的小年輕-----
總結
以上是生活随笔為你收集整理的Ansible基本使用及常用模块详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: exec和source命令的区别
- 下一篇: Ansible之playbook(剧本)