剖析關於-ansible配置文件和命令中ad-hoc模式使用參數詳解
今天扣丁學堂給大家介紹一下關於-ansible的配置文件和-ansible命令使用的參數介紹,下面我們一起來看一下吧。
一、Ansible.cfg是自動化任務所用的一個核心配置文件,大部分的配置文件都集中在defualts配置項目中。
下面列出常用的配置參數:
1、inventory
該參數表示資源清單inventory文件的位置,資源清單就是一些Ansible需要連接管理的主機列表
inventory = /root/ansible/hosts
2、library
Ansible的操作動作,無論是本地或遠程,都使用一小段代碼來執行,這小段代碼稱為模塊,這個library參數就是指向存放Ansible模塊的目錄
library = /usr/share/ansible
3、forks
設置默認情況下Ansible最多能有多少個進程同時工作,默認設置最多5個進程並行處理。具體需要設置多少個,可以根據控制主機的性能和被管理節點的數量來確定。
forks = 5
4、sudo_user
這是設置默認執行命令的用戶,也可以在playbook中重新設置這個參數
sudo_user = root
//注意:新版本已經作了修改,如ansible2.4.1下已經為:
default_sudo_user = root
5)remote_port
這是指定連接被關節點的管理埠,默認是22,除非設置了特殊的SSH埠,不然這個參數一般是不需要修改的
remote_port = 22
6、host_key_checking
這是設置是否檢查SSH主機的密鑰。可以設置為True或False
host_key_checking = False
7、timeout
這是設置SSH連接的超時間隔,單位是秒。
timeout = 20
8、log_path
Ansible系統默認是不記錄日誌的,如果想把Ansible系統的輸出記錄到人i治穩健中,需要設置log_path來指定一個存儲Ansible日誌的文件
log_path = /var/log/ansible.log
另外需要注意,執行Ansible的用戶需要有寫入日誌的許可權,模塊將會調用被管節點的syslog來記錄,口令是不會出現的日誌中的
9、private_key_file
在使用ssh公鑰私鑰登錄系統時候,使用的密鑰路徑。
private_key_file=/path/to/file.pem
二、在python自動化實戰中,需要用到ansible [options] 可用選項,那麼使用ansible這個命令,有哪些功能和選項呢?
-v, --verbose:輸出更詳細的執行過程信息,-vvv可得到所有執行過程信息。
-i PATH, --inventory=PATH:指定inventory信息,默認/etc/ansible/hosts。
-f NUM, --forks=NUM:並發線程數,默認5個線程。
--private-key=PRIVATE_KEY_FILE:指定密鑰文件。
-m NAME, --module-name=NAME:指定執行使用的模塊。
-M DIRECTORY, --module-path=DIRECTORY:指定模塊存放路徑,默認/usr/share/ansible,也可以通過ANSIBLE_LIBRARY設定默認路徑。
-a "ARGUMENTS", --args="ARGUMENTS":模塊參數。
-k, --ask-pass SSH:認證密碼。
-K, --ask-sudo-pass sudo:用戶的密碼(—sudo時使用)。
-o, --one-line:標準輸出至一行。
-s, --sudo:相當於Linux系統下的sudo命令。
-t DIRECTORY, --tree=DIRECTORY:輸出信息至DIRECTORY目錄下,結果文件以遠程主機名命名。
-T SECONDS, --timeout=SECONDS:指定連接遠程主機的最大超時,單位是:秒。
-B NUM, --background=NUM:後台執行命令,超NUM秒後kill正在執行的任務。
-P NUM, --poll=NUM:定期返回後台任務進度。
-u USERNAME, --user=USERNAME:指定遠程主機以USERNAME運行命令。
-U SUDO_USERNAME, --sudo-user=SUDO_USERNAM:E使用sudo,相當於Linux下的sudo命令。
-c CONNECTION, --connection=CONNECTION:指定連接方式,可用選項paramiko (SSH), ssh, local。Local方式常用於crontab 和 kickstarts。
-l SUBSET, --limit=SUBSET:指定運行主機。
-l ~REGEX, --limit=~REGEX:指定運行主機(正則)。
--list-hosts:列出符合條件的主機列表,不執行任何其他命令
TAG:扣丁學堂 |