美文网首页
Ansible的安装及相关目录与配置文件介绍(3)

Ansible的安装及相关目录与配置文件介绍(3)

作者: wangfs | 来源:发表于2017-07-27 18:57 被阅读170次
    Ansible安装有3种方式,PIP安装、yum安装、编译安装
    • 最简单的yum方式:
      yum install ansible -y
      验证安装是否成功:
    [root@VM_89_124_centos test]# ansible --version
    ansible 2.3.1.0
      config file = /etc/ansible/ansible.cfg
      configured module search path = Default w/o overrides
      python version = 2.7.5 (default, Nov  6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]
    
    ansible目录结构:

    通过如下命令我们可以获取ansible所有文件存放目录:
    # rpm -ql ansible
    该命令输出内容较多,大致分为如下几类:

    • 配置文件目录:/etc/ansible(ansible.cfg、hosts、roles(自定义或下载的role))
    • 执行文件目录:/usr/bin
    • Lib库依赖目录:/usr/lib/python2.7/site-packages/ansible
    • Help文档目录: /usr/share/doc/ansible-2.3.1.0
    • Man文档目录:/usr/share/man/man1

    其中,如下目录运维需要常配置,需要我们熟练掌握。

    1. 配置文件目录/etc/ansible/,主要功能为:Inventory主机信息配置、ansible工具功能配置等。所有ansible的配置均存放在该目录下,运维日常的所有配置类操作也均基于此目录进行。
    2. 执行文件目录/usr/bin/,主要功能为:ansible系列命令默认存放目录。ansible所有可执行文件均存放在该目录下。
      在/usr/lib/python2.7/site-packages/下,该目录是系统当前默认的python路径,因为ansible是基于python编写的,所以ansible的所有lib库文件可模块文件也均存放于该目录下。
    ansible配置文件解析:

    Inventory用于定义ansible的主机列表配置,ansible的自身配置只有一个,即ansible.cnf,ansible安装好后它默认存放于/etc/ansible目录下。ansible.cfg配置文件可以存在于多个地方,ansible读取配置文件的顺序依次是当前命令执行目录——>用户家目录下的ansible.cfg——>/etc/ansible/ansible.cfg,先找到哪个就使用哪个的配置。其中ansible.cfg配置的所有内容均可在命令行通过参数的形式传递或定义在playbooks中。

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

    1. [defaults]

    该类配置下定义常规的连接类配置类型,如inventory、library、remote_tmp、locla_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 #默认超时时间
    #remote_user = root #如没有指定用户,默认使用的远程连接用户
    #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缓存的主机信息存放目录,也可以设置存储在redis中,用于持久化存储
    #retry_files_enabled = False #当playbook失败的情况下,一个重试文件将会创建,默认为开启此功能
    #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.[accelerate]

    Ansible连接加速相关配置。该配置项旨在提升ansible连接速度时会涉及,多数保持默认即可。
    [accelerate]
    #accelerate_port = 5099 #加速连接端口
    #accelerate_timeout = 30 #命令执行超时时间,单位秒
    #accelerate_connect_timeout = 5.0 #连接超时时间,单位秒
    #accelerate_daemon_timeout = 30 #上一个活动连接的时间,单位分钟
    #accelerate_multi_key = yes

    上面尽可能全地介绍了运维工作中可能需要修改的配置选项,除了在关闭首次连接提示(host_key_checking = Flase)或是提速调整([accelerate]区域块配置调整)时可能会稍作调整,其中绝大部分选项默认即可,Ansible安装好后无需任何改动即可使用。

    相关文章

      网友评论

          本文标题:Ansible的安装及相关目录与配置文件介绍(3)

          本文链接:https://www.haomeiwen.com/subject/jhqtlxtx.html