一、Ansible 管理命令
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 是日常工作中使用率非常高的命令之一,其主要在如下情境使用:
(1)非固化需求
(2)臨時一次性操作
(3)二次開發介面調用
該命令使用方式如下:
ansible <host-pattern> [options]
比如:工作中我臨時想查看 web1 伺服器是否存活,或我想臨時複製本地的 /etc/fstab 到 web1 伺服器的 /tmp 目錄下做測試等等。
具體的命令使用如下:
檢查伺服器存活
ansible web1 -m ping
複製本地檔案到遠程
ansible web1 -m copy -a "src=/etc/fstab dest=/tmp/fstab owner=root group=root mode=644 backup=yes"
詳細參數可以查看協助:
[root@ansible-manager ~]# ansible -hUsage: ansible <host-pattern> [options]Define and run a single task 'playbook' against a set of hostsOptions: -a MODULE_ARGS, --args=MODULE_ARGS module arguments --ask-vault-pass ask for vault password -B SECONDS, --background=SECONDS run asynchronously, failing after X seconds (default=N/A) -C, --check don't make any changes; instead, try to predict some of the changes that may occur -D, --diff when changing (small) files and templates, show the differences in those files; works great with --check -e EXTRA_VARS, --extra-vars=EXTRA_VARS set additional variables as key=value or YAML/JSON, if filename prepend with @ -f FORKS, --forks=FORKS specify number of parallel processes to use (default=5)......Some modules do not make sense in Ad-Hoc (include, meta, etc)
相關選項都有解釋,這裡不再詳述。 三、ansible-doc 命令
ansible-doc 是 Ansible 模組文檔說明,針對每個模組都有詳細的用法說明及應用案例介紹,功能和 Linux 系統 man 命令類似。該命令使用方式如下:
ansible-doc [options] [module...]
ansible-doc 命令後跟[options]參數或[模組名],顯示模組用法說明,具體樣本如下:
列出支援的模組
ansible-doc -l
ping 模組功能說明
ansible-doc ping
四、ansible-playbook 命令
ansible-playbook 是日常應用中使用頻率最高的命令,其工作機制是通過讀取預先編寫好的 playbook檔案實現批量管理。要實現的功能與命令 ansible 是一樣的,可以理解為按一定條件組成的 ansible 任務集。
ansible-playbook 命令後跟 YML 格式的 playbook 檔案,執行事先編排好的任務集,命令使用方式如下:
ansible-playbook playbook.yml
具體樣本如下:
執行 nginx.yml 這個 playbook 中定義的所有任務集
ansible-playbook nginx.yml
playbook 具有編寫簡單、可定製性高、靈活方便同時可固化日常所有操作的特點,營運人員應熟練掌握。 五、總結
本節介紹了 Ansible 管理的系列命令,並就常用的 ansible 、ansible-doc、ansible-playbook 命令做了簡單介紹。下一節,我們學習 Inventory。
參考文檔:
http://www.ilurker.cn/?post=283
http://www.sohu.com/a/128270825_610730
《Ansible 權威指南》