Ansible管理命令
阿新 • • 發佈:2018-12-09
Ansible 管理命令
(1)ansible
這個命令是日常工作中使用率非常高的命令之一,主要用於臨時一次性操作;
(2)ansible-doc
Ansible 模組文件說明,針對每個模組都有詳細的用法說明和應用案例介紹;
(3)ansible-galaxy
可以簡單的理解為 Github 或 PIP 的功能,是 Ansible 官方一個分享 role 的功能平臺。可以通過 ansible-galaxy 命令很簡單的實現 role 的分享和安裝;
(4)ansible-playbook
是日常應用中使用頻率最高的命令,其工作機制是,通過讀取預先編寫好的playbook檔案實現批量管理;
(5)ansible-pull
Ansible 的另一種工作模式,pull 模式,Ansible 預設使用 push 模式;
(6)ansible-vault
主要用於配置檔案加密;
(7)ansible-console
讓使用者可以在 ansible-console 虛擬出來的終端上像 Shell 一樣使用 Ansible 內建的各種命令。
命令詳解
ansible 命令
命令格式
ansible <host-pattern> [options] --version 顯示版本 -a 模組引數(如果有) -m module 指定模組,預設為command -v 詳細過程 –vv -vvv更詳細 --list-hosts 顯示主機列表,可簡寫--list -k, --ask-pass 提示連線密碼,預設Key驗證 -K,--ask-become-pass 提示使用sudo密碼 -C, --check 檢查,並不執行 -T, --timeout=TIMEOUT 執行命令的超時時間,預設10s -u, --user=REMOTE_USER 執行遠端執行的使用者 -U, SUDO_USER, --sudo-user 指定sudu使用者 -b, --become 代替舊版的sudo 切換
檢視版本號
# ansible --version
ansible 2.6.7
檢視客戶機狀態
# ansible server1 -m ping
192.168.61.130 | SUCCESS => {
"changed": false,
"ping": "pong"
}
檢視主機列表
# ansible server1 --list
hosts (1):
192.168.61.130
複製檔案到客戶機
# ansible server1 -m copy -a 'src=/wh_k/test1.txt dest=/wh_k backup=yes' 192.168.61.130 | SUCCESS => { "changed": true, "checksum": "da39a3ee5e6b4b0d3255bfef95601890afd80709", "dest": "/wh_k/test1.txt", "gid": 0, "group": "root", "md5sum": "d41d8cd98f00b204e9800998ecf8427e", "mode": "0644", "owner": "root", "size": 0, "src": "/root/.ansible/tmp/ansible-tmp-1544361826.12-278173604489771/source", "state": "file", "uid": 0
ansible-doc 命令
命令格式
ansible-doc [options] [module...]
ansible-doc 命令後跟[options]引數或[模組名],顯示模組用法說明
列出模組
# ansible-doc -l
a10_server Manage A10 Networks AX/SoftAX/Thunder/vThunder devices' server object.
a10_server_axapi3 Manage A10 Networks AX/SoftAX/Thunder/vThunder devices
....
....
模組說明
# ansible-doc ping
> PING (/usr/lib/python2.6/site-packages/ansible/modules/system/ping.py)
A trivial test module, this module always returns `pong' on successful contact. It does not make
...
ansible-playbook 命令
命令格式
ansible-playbook playbook.yml
ansible-playbook 命令後跟 YML 格式的 playbook 檔案,執行事先編排好的任務集
命令示例
# ansible-playbook nginx.yml