配置文件ansible.cfg約有350行語(yǔ)句,大多數(shù)為注釋行默認(rèn)配置項(xiàng)坛缕。該文件遵循INI格式,分為如下幾類(lèi)配置宠页。
(1)[defaults]
[defaults]
# inventory = /etc/ansible/hosts # 定義Inventory
# library = /usr/share/my_modules/ # 自定義lib庫(kù)存放目錄
# remote_tmp = $HOME/.ansible/tmp # 臨時(shí)文件遠(yuǎn)程主機(jī)存放目錄
# local_tmp = $HOME/.ansible/tmp # 臨時(shí)文件本地存放目錄
# forks = 5 # 默認(rèn)開(kāi)啟的并發(fā)數(shù)
# poll_interval = 15 # 默認(rèn)輪詢(xún)時(shí)間間隔
# sudo_user = root # 默認(rèn)sudo用戶(hù)
# ask_sudo_pass = True # 是否需要sudo密碼
# ask_pass = True # 是否需要密碼
# roles_path = /etc/ansible/roles # 默認(rèn)下載的Roles存放的目錄
# host_key_checking = False # 首次連接是否需要檢查key認(rèn)證俭嘁,建議設(shè)為False
# timeout = 10 # 默認(rèn)超時(shí)時(shí)間
# timeout = 10 # 如沒(méi)有指定用戶(hù)拐云,默認(rèn)使用的遠(yuǎn)程連接用戶(hù)
# log_path = /var/log/ansible.log # 執(zhí)行日志存放目錄
# module_name = command # 默認(rèn)執(zhí)行的模塊
# 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插件的存放目錄
# filter_plugins = /usr/share/ansible/plugins/filter # filter插件的存放目錄
# test_plugins = /usr/share/ansible/plugins/test # test插件的存放目錄
# strategy_plugins = /usr/share/ansible/plugins/strategy # strategy插件的存放目錄
# fact_caching = memory # getfact緩存的主機(jī)信息存放方式
# retry_files_enabled = False
# retry_files_save_path = ~/.ansible-retry # 錯(cuò)誤重啟文件存放目錄
…
上述是日侈泵澹可能用到的配置,這些多數(shù)保持默認(rèn)即可蓬痒。
(2)[privilege_escalation]
出于安全角度考慮演痒,部分公司不希望直接以root的高級(jí)管理員權(quán)限直接部署應(yīng)用惦蚊,往往會(huì)開(kāi)放普通用戶(hù)權(quán)限并給予sudo的權(quán)限欧芽,該部分配置主要針對(duì)sudo用戶(hù)提權(quán)的配置憎妙。
[privilege_escalation]
# become=True # 是否sudo
# become_method=sudo # sudo方式
# become_user=root # sudo后變?yōu)閞oot用戶(hù)
# become_ask_pass=False # sudo后是否驗(yàn)證密碼
(3)[paramiko_connection]
定義paramiko_connection配置抚垃,該部分功能不常用护昧,了解即可捣炬。
[paramiko_connection] # 該配置不常用到
# record_host_keys=False # 不記錄新主機(jī)的key以提升效率
# pty=False # 禁用sudo功能
(4)[ssh_connection]
Ansible默認(rèn)使用SSH協(xié)議連接對(duì)端主機(jī),該部署是主要是SSH連接的一些配置绽榛,但配置項(xiàng)較少湿酸,多數(shù)默認(rèn)即可推溃。
[ssh_connection]
# pipelining = False # 管道加速功能铁坎,需配合requiretty使用方可生效
(5)[accelerate]
Ansible連接加速相關(guān)配置朴乖。因?yàn)橛胁糠质褂谜卟粷M意Ansible的執(zhí)行速度,所以Ansible在連接和執(zhí)行速度方面也在不斷地進(jìn)行優(yōu)化漠嵌,該配置項(xiàng)在提升Ansibile連接速度時(shí)會(huì)涉及,多數(shù)保持默認(rèn)即可盖呼。
[accelerate]
# accelerate_port = 5099 # 加速連接端口
# accelerate_timeout = 30 # 命令執(zhí)行超時(shí)時(shí)間儒鹿,單位秒
# accelerate_connect_timeout = 5.0 # 連接超時(shí)時(shí)間,單位秒
# accelerate_daemon_timeout = 30 # 上一個(gè)活動(dòng)連接的時(shí)間,單位分鐘
# accelerate_multi_key = yes
(6)[selinux]
關(guān)于selinux的相關(guān)配置幾乎不會(huì)涉及圾浅,保持默認(rèn)配置即可掠手。
[selinux]
# libvirt_lxc_noseclabel = yes
# libvirt_lxc_noseclabel = yes
(7)[colors]
Ansible對(duì)于輸出結(jié)果的顏色也進(jìn)行了詳盡的定義且可配置,該選項(xiàng)對(duì)日常功能應(yīng)用影響不大狸捕,幾乎不用修改喷鸽,保持默認(rèn)即可。
[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
上面盡可能全地介紹了運(yùn)維工作中可能需要修改的配置選項(xiàng)灸拍,除了在關(guān)閉首次連接提示(host_key_checking = False)或提速調(diào)整([accelerate]區(qū)域塊配置調(diào)整)時(shí)可能會(huì)稍做調(diào)整做祝,其中絕大多數(shù)選項(xiàng)默認(rèn)即可,Ansible安裝好后無(wú)需任何改動(dòng)即可使用鸡岗。