1. 程式人生 > 其它 >ansible配置檔案內容總結

ansible配置檔案內容總結

1.ansible配置檔案

  ansible的預設配置檔案是/etc/ansible/ansible.cfg,裡面有各種引數,可以根據自己的需求進行調整,這裡介紹一下部分引數所代表的含義和功能。

[defaults]                                                   #預設配置inventory = /etc/ansible/hosts #被控制端的IP或者DNS列表
library
= /usr/share/my_modules/ #預設搜尋模組的位置 module_utils = /usr/share/my_module_utils/ #自定義模組 remote_tmp
= ~/.ansible/tmp #ansible遠端主機指令碼臨時存放目錄 local_tmp = ~/.ansible/tmp #ansible管理節點指令碼臨時存放目錄 plugin_filters_cfg = /etc/ansible/plugin_filters.yml # forks = 5 #並行執行緒數 poll_interval = 15 #回頻率或輪詢間隔時間 sudo_user
= root #sudo遠端執行的使用者名稱 ask_sudo_pass = True #使用sudo是否需要密碼 ask_pass = True #是否需要輸入密碼 transport = smart #ansible遠端傳輸模式 remote_port = 22
#遠端ssh埠 module_lang = C #模組與系統之間通訊的語言 module_set_locale = False #
gathering
= implicit #facts資訊收集開關定義 gather_subset = all #指定收集哪些事實變數 gather_timeout = 10 #收集事實變數超時時間 inject_facts_as_vars = True # roles_path = /etc/ansible/roles #ansible角色使用的預設路徑 host_key_checking = False #是否檢查遠端主機的金鑰 stdout_callback = skippy # callback_whitelist = timer, mail #回撥白名單設定,可以開啟ansible時間計算 task_includes_static = False # handler_includes_static = False # error_on_missing_handler = True # sudo_exe = sudo #sudo遠端執行命令 sudo_flags = -H -S -n #傳遞sudo之外的引數 timeout = 10 #ssh超時登陸時間 remote_user = root #遠端登陸使用者名稱 log_path = /var/log/ansible.log #日誌檔案路徑 module_name = command #預設執行的模組 executable = /bin/sh #執行shell環境,使用者的shell模組 hash_behaviour = replace #ansible主機變數重複處理方式 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 #定義的一個Jinja2變數,可以插入到Ansible配置模版系統生成的檔案中 display_skipped_hosts = True #顯示跳過任何任務狀態 display_args_to_stdout = False # error_on_undefined_vars = False #如果所引用的變數名稱錯誤的話, 將會導致ansible在執行步驟上失敗 system_warnings = True #禁止執行ansible潛在問題警告 deprecation_warnings = True #playbook輸出禁用不建議使用警告 command_warnings = False #command模組警告 action_plugins = /usr/share/ansible/plugins/action #用來啟用一些事件,例如執行一個模組,一個模版,等等 become_plugins = /usr/share/ansible/plugins/become cache_plugins = /usr/share/ansible/plugins/cache callback_plugins = /usr/share/ansible/plugins/callback #這是一個以開發者為中心的特性,可以實現對Ansible的底層拓展,並且拓展模組可以位於任何位置 connection_plugins = /usr/share/ansible/plugins/connection #連線外掛允許拓展ansible拓展通訊通道,用來傳輸命令或者檔案 lookup_plugins = /usr/share/ansible/plugins/lookup inventory_plugins = /usr/share/ansible/plugins/inventory vars_plugins = /usr/share/ansible/plugins/vars filter_plugins = /usr/share/ansible/plugins/filter #過濾器是一種特殊的函式,用來拓展模版系統 test_plugins = /usr/share/ansible/plugins/test terminal_plugins = /usr/share/ansible/plugins/terminal strategy_plugins = /usr/share/ansible/plugins/strategy strategy = free
# free 每個host按照task執行,不與其他host相關聯,也就是說host會一直把自己的tasks執行完,再繼續下一個host的,此種執行方式,會發現每次執行task時,顯示的 卻不一定是當前task的程序。
# debug 類似pdb.strace() 如果有錯誤會直接進入除錯模式
# linear 線性的執行策略,所有hosts逐一task執行,每次併發5個,同步執行。

bin_ansible_callbacks
= False #用來控制callback外掛是否在執行 /usr/bin/ansible 的時候被載入. 這個模組將用於命令列的日誌系統,發出通知等特性 nocows = 1 #預設ansible可以呼叫一些cowsay的特性 開啟/禁用:0/1 cow_selection = default cow_selection = random nocolor = 1 #輸出帶上顏色區別, 開啟/關閉:0/1 fact_caching = memory #fact值預設儲存在記憶體中,可以設定儲存在redis中,用於持久化儲存 fact_caching_connection=/tmp #快取位置 retry_files_enabled = False #當playbook失敗得情況下,一個重試檔案將會建立,預設為開啟此功能 retry_files_save_path = ~/.ansible-retry #重試檔案的路徑,預設為當前目錄下.ansible-retry squash_actions = apk,apt,dnf,homebrew,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則為無限制(可能對記憶體有影響) merge_multiple_cli_flags = True # show_custom_stats = True # inventory_ignore_extensions = ~, .orig, .bak, .ini, .cfg, .retry, .pyc, .pyo network_group_modules=eos, nxos, ios, iosxr, junos, vyos allow_unsafe_lookups = False any_errors_fatal = False
[inventory]
enable_plugins = host_list, virtualbox, yaml, constructed
ignore_extensions = .pyc, .pyo, .swp, .bak, ~, .rpm, .md, .txt, ~, .orig, .ini, .cfg, .retry
ignore_patterns=
unparsed_is_failed=False


[privilege_escalation]                                                      #sudo提權後使用的配置
become=True                                                                 #是否啟用
become_method=sudo                                                          #啟用方式
become_user=root                                                            #啟用後的使用者
become_ask_pass=False                                                       #是否驗證密碼

[paramiko_connection] #不經常使用 record_host_keys
=False #不記錄新主機的key以提升效率 pty=False #禁用sudo功能 look_for_keys = False host_key_auto_add = True [ssh_connection] ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s #ssh連線時得引數 control_path_dir = #儲存ControlPath套接字的位置 control_path = # pipelining = False #SSH pipelining 是一個加速 Ansible 執行速度的簡單方法。ssh pipelining 預設是關閉,之所以預設關閉是為了相容不同的 sudo 配置,主要是 requiretty 選項。如果不使用 sudo,建議開啟。開啟此選項可以減少 ansible 執行沒有傳輸時 ssh 在被控機器上執行任務的連線數。不過,如果使用 sudo,必須關閉 requiretty 選項。 scp_if_ssh = smart #該項為True時,如果連線型別是ssh,使ansible使用scp,為False是,ansible使用sftp。預設為sftp transfer_method = smart # sftp_batch_mode = False #該項為False時,sftp不會使用批處理模式傳輸檔案。 這可能導致一些型別的檔案傳輸失敗而不可捕獲,但應該只有在您的sftp版本在批處理模式上有問題時才應禁用 usetty = True # retries = 3 # [persistent_connection] connect_timeout = 30 command_timeout = 30 [accelerate] #ansible的加速連線配置 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,9p,vfat libvirt_lxc_noseclabel = yes [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 [diff] always = no context = 3