1. 程式人生 > >Ansible 小手冊系列 四(詳解配置文件)

Ansible 小手冊系列 四(詳解配置文件)

method random vbo lec 執行 handle test 語言 rand

[root@host-172-20-6-120 ansible]# ansible --version
ansible 2.2.0.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

配置文件存在不同的位置,但只有一個可用。在下列列表中,ansible從上往下依次檢查,檢查到哪個可用就用哪個。

  • ANSIBLE_CFG 環境變量,可以定義配置文件的位置
  • ansible.cfg 存在於當前工作目錄
  • ansible.cfg 存在與當前用戶家目錄
  • /etc/ansible/ansible.cfg

ansible 配置文件默認存使用 /etc/ansible/ansible.cfg
hosts文件默認存使用 /etc/ansible/hosts

ansible.cfg 配置項說明

[defaults]

配置說明
#inventory = /etc/ansible/hosts 指定主機清單文件
#library = /usr/share/my_modules/ 指定模塊地址
#remote_tmp = $HOME/.ansible/tmp 指定遠程執行的路徑
#local_tmp = $HOME/.ansible/tmp ansible 管理節點得執行路徑
#forks = 5 置默認情況下Ansible最多能有多少個進程同時工作,默認設置最多5個進程並行處理
#poll_interval = 15 輪詢間隔
#sudo_user = root sudo默認用戶
#ask_sudo_pass = True 是否需要用戶輸入sudo密碼
#ask_pass = True 是否需要用戶輸入連接密碼
#transport = smart
#remote_port = 22 遠程鏈接的端口
#module_lang = C 這是默認模塊和系統之間通信的計算機語言,默認為’C’語言.
#module_set_locale = True
#gathering = implicit
#gather_subset = all 定義獲取fact的子集,默認全部
#roles_path = /etc/ansible/roles 角色存儲路徑
#host_key_checking = False 跳過ssh 首次連接提示驗證部分,False表示跳過。
#stdout_callback = skippy
#callback_whitelist = timer, mail
#task_includes_static = True
#handler_includes_static = True
#sudo_exe = sudo sudo的執行文件名
#sudo_flags = -H -S -n sudo的參數
#timeout = 10 連接超時時間
#remote_user = root 指定默認的遠程連接用戶
#log_path = /var/log/ansible.log 指定日誌文件
#module_name = command 指定ansible默認的執行模塊
#executable = /bin/sh 用於執行腳本得解釋器
#hash_behaviour = replace 如果變量重疊,優先級更高的一個是替換優先級低得還是合並在一起,默認為替換
#private_role_vars = yes 默認情況下,角色中的變量將在全局變量範圍中可見。 為了防止這種情況,可以啟用以下選項,只有tasks的任務和handlers得任務可以看到角色變量。
#jinja2_extensions = jinja2.ext.do,jinja2.ext.i18n jinja2的擴展應用
#private_key_file = /path/to/file 指定私鑰文件路徑
#vault_password_file = /path/to/vault_password_file 指定vault密碼文件路徑
#ansible_managed = Ansible managed: {file} modified on %Y-%m-%d %H:%M:%S by {uid} on {host} 定義一個Jinja2變量,可以插入到Ansible配置模版系統生成的文件中
#display_skipped_hosts = True 如果設置為False,ansible 將不會顯示任何跳過任務的狀態.默認選項是顯示跳過任務的狀態
#display_args_to_stdout = False
#error_on_undefined_vars = False 如果所引用的變量名稱錯誤的話, 是否讓ansible在執行步驟上失敗
#system_warnings = True
#deprecation_warnings = True
#command_warnings = False
#action_plugins = /usr/share/ansible/plugins/action action模塊的存放路徑
#callback_plugins = /usr/share/ansible/plugins/callback callback模塊的存放路徑
#connection_plugins = /usr/share/ansible/plugins/connection connection模塊的存放路徑
#lookup_plugins = /usr/share/ansible/plugins/lookup lookup模塊的存放路徑
#vars_plugins = /usr/share/ansible/plugins/vars vars模塊的存放路徑
#test_plugins = /usr/share/ansible/plugins/test test模塊的存放路徑
#strategy_plugins = /usr/share/ansible/plugins/strategy strategy模塊的存放路徑
#bin_ansible_callbacks = False
#nocows = 1
#cow_selection = default
#cow_selection = random
#cow_whitelist=bud-frogs,bunny,cheese,daemon,default,dragon,elephant-in-snake,elephant,eyes,
#nocolor = 1 默認ansible會為輸出結果加上顏色,用來更好的區分狀態信息和失敗信息.如果你想關閉這一功能,可以把’nocolor’設置為‘1’:
#fact_caching = memory fact值默認存儲在內存中,可以設置存儲在redis中,用於持久化存儲
#retry_files_enabled = False 當playbook失敗得情況下,一個重試文件將會創建,默認為開啟此功能
#retry_files_save_path = ~/.ansible-retry 重試文件的路徑,默認為當前目錄下.ansible-retry
#squash_actions = apk,apt,dnf,package,pacman,pkgng,yum,zypper Ansible可以優化在循環時使用列表參數調用模塊的操作。 而不是每個with_項調用模塊一次,該模塊會一次調用所有項目一次。該參數記錄哪些action是這樣操作得。
#no_log = False 任務數據的日誌記錄,默認情況下關閉
#no_target_syslog = False 防止任務的日誌記錄,但只在目標上,數據仍然記錄在主/控制器上
#allow_world_readable_tmpfiles = False
#var_compression_level = 9 控制發送到工作進程的變量的壓縮級別。 默認值為0,不使用壓縮。 此值必須是從0到9的整數。
#module_compression = ‘ZIP_DEFLATED‘ 指定壓縮方法,默認使用zlib壓縮,可以通過ansible_module_compression來為每個主機設置
#max_diff_size = 1048576 控制--diff文件上的截止點(以字節為單位),設置0則為無限制(可能對內存有影響)

[privilege_escalation]
#become=True
#become_method=sudo
#become_user=root
#become_ask_pass=False

[paramiko_connection]
#record_host_keys=False
#pty=False

[ssh_connection]

配置說明
#ssh_args = -o ControlMaster=auto -o ControlPersist=60s ssh連接時得參數
#control_path = %(directory)s/ansible-ssh-%%h-%%p-%%r 保存ControlPath套接字的位置
#pipelining = False SSH pipelining 是一個加速 Ansible 執行速度的簡單方法。ssh pipelining 默認是關閉,之所以默認關閉是為了兼容不同的 sudo 配置,主要是 requiretty 選項。如果不使用 sudo,建議開啟。打開此選項可以減少 ansible 執行沒有傳輸時 ssh 在被控機器上執行任務的連接數。不過,如果使用 sudo,必須關閉 requiretty 選項。
#scp_if_ssh = True 該項為True時,如果連接類型是ssh,使ansible使用scp,為False是,ansible使用sftp。默認為sftp
#sftp_batch_mode = False 該項為False時,sftp不會使用批處理模式傳輸文件。 這可能導致一些類型的文件傳輸失敗而不可捕獲,但應該只有在您的sftp版本在批處理模式上有問題時才應禁用

[accelerate]
加速配置
#accelerate_port = 5099
#accelerate_timeout = 30
#accelerate_connect_timeout = 5.0
#accelerate_daemon_timeout = 30
#accelerate_multi_key = yes

[selinux]

配置說明
#special_context_filesystems=nfs,vboxsf,fuse,ramfs 文件系統在處理安全上下文時需要特殊處理,定義復制現有上下文的文件系統
#libvirt_lxc_noseclabel = yes 將此設置為yes,以允許libvirt_lxc連接在沒有SELinux的情況下工作。

[colors]
定義輸出顏色
#highlight = white
#verbose = blue
#warn = bright purple
#error = red
#debug = dark gray
#deprecate = purple
#skip = cyan
#unreachable = red
#ok = green
#changed = yellow
#diff_add = green
#diff_remove = red
#diff_lines = cyan



 

Ansible 小手冊系列 四(詳解配置文件)