ansible

一、Ansible目录结构

1)配置文件目录/etc/ansible,主要功能为:inventory主机信息配置、ansible工具功能配置等。所有ansible的配置均存放在该目录下,运维日常的多有配置类操作也均基于此目录进行。

2)inventory用用于定义ansible主机列表配置,ansible的自身配置文件只有一个,即ansible.cfg,ansible安装好后默认存放于/etc/ansible目录下。ansible.cfg配置文件可以存在于多个地方,ansible读取配置文件的顺序依次是当前命令执行目录> 用户家目录先找到哪个就使用哪个

配置文件ansible.cfg约有350行语句,大多数为默认配置项。

1、【defaults】

该类配置下定义常规的连接类配置,如inventory、library、remote_tmp、local_tmp、forks、poll_interval、sudo_user、ask_sudo_pass、ask_pass、transport、remote_port等。

    [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               # 错误重启文件存放目录
    …

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在连接和执行速度方面也在不断进行优化,该配置项在提升ansible连接速度时会涉及,多数保持默认即可

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

 

二、Ansible命令用法详解

ansible命令行执行方式有Ad-Hoc、Ansible-Playbook两种方式,Ad-Hoc只要是用于临时命令的执行,playbook理解为Ad-hoc的集合,通过一定的规则编排在一起

  

  

  

 

posted @ 2021-12-09 17:43  good-good-luck  阅读(31)  评论(1)    收藏  举报