ansible的配置文件

生成一个全面的配置文件

ansible-config init --disabled -t all > ansible.cfg  

解决:

[WARNING]: Unable to parse /root/k8s/ip as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'

配置文件ansible.cfg约有970行语句,大多数为注释行默认配置项。该文件遵循INI格式,分为如下几类配置

(1)[defaults]

其中日志执行存放路径值得关注,方便查看执行中报错内容

log_path = /var/log/ansible.log # 执行日志存放目录 

[defaults] 
# inventory = /etc/ansible/hosts        # 定义Inventory 
# library = /usr/share/my_modules/      # 自定义lib库存放目录 
# remote_tmp = $HOME/.ansible/tmp       # 临时文件远程主机存放目录 
# local_tmp = $HOME/.ansible/tmp        # 临时文件本地存放目录 
# forks = 5                  # 默认开启的并发数 
# poll_interval = 15         # 默认轮询时间间隔 
# sudo_user  = root          # 默认sudo用户 
# ask_sudo_pass = True       # 是否需要sudo密码 
# ask_pass  = True           # 是否需要密码 
# roles_path = /etc/ansible/roles   # 默认下载的Roles存放的目录 
# host_key_checking = False         # 首次连接是否需要检查key认证,建议设为False 
# timeout = 10               # 默认超时时间 
# timeout = 10               # 如没有指定用户,默认使用的远程连接用户 
# log_path = /var/log/ansible.log   # 执行日志存放目录 
# module_name = command             # 默认执行的模块 
# 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缓存的主机信息存放方式 
# retry_files_enabled = False
# retry_files_save_path = ~/.ansible-retry   # 错误重启文件存放目录 
…

上述是日常可能用到的配置,这些多数保持默认即可。

注意:在首次链接时,把# host_key_checking = False       # 首次连接是否需要检查key认证,建议设为False  

(2)[privilege_escalation]

出于安全角度考虑,部分公司不希望直接以root的高级管理员权限直接部署应用,往往会开放普通用户权限并给予sudo的权限,该部分配置主要针对sudo用户提权的配置。

[privilege_escalation] 
# become=True          # 是否sudo 
# become_method=sudo   # sudo方式 
# become_user=root     # sudo后变为root用户 
# become_ask_pass=False # sudo后是否验证密码

(3)[paramiko_connection]

定义paramiko_connection配置,该部分功能不常用,了解即可。

[paramiko_connection]     # 该配置不常用到 
# record_host_keys=False  # 不记录新主机的key以提升效率 
# pty=False               # 禁用sudo功能

(4)[ssh_connection]

Ansible默认使用SSH协议连接对端主机,该部署是主要是SSH连接的一些配置,但配置项较少,多数默认即可。

[ssh_connection] 
# pipelining = False    # 管道加速功能,需配合requiretty使用方可生效

(5)[accelerate]

Ansible连接加速相关配置。因为有部分使用者不满意Ansible的执行速度,所以Ansible在连接和执行速度方面也在不断地进行优化,该配置项在提升Ansibile连接速度时会涉及,多数保持默认即可。

[accelerate] 
# accelerate_port = 5099            # 加速连接端口 
# accelerate_timeout = 30           # 命令执行超时时间,单位秒 
# accelerate_connect_timeout = 5.0  # 连接超时时间,单位秒 
# accelerate_daemon_timeout = 30        # 上一个活动连接的时间,单位分钟 
# accelerate_multi_key = yes

(6)[selinux]

关于selinux的相关配置几乎不会涉及,保持默认配置即可。

[selinux] 
# libvirt_lxc_noseclabel = yes
# libvirt_lxc_noseclabel = yes

(7)[colors]

Ansible对于输出结果的颜色也进行了详尽的定义且可配置,该选项对日常功能应用影响不大,几乎不用修改,保持默认即可。

[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

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2022-06-25 16:05  凡人半睁眼  阅读(616)  评论(0编辑  收藏  举报