• Ansible配置文件


    一、ansible主机和组的配置

    1、简单的主机和组

    ansible的配置文件位于/etc/ansible目录下,主要有ansible.cfg、hosts文件。本节重点介绍主机与组定义文件/etc/ansible/hosts.

    /etc/ansible/hosts最简单的格式如下:

    www.ixdba.net

    [webservers]

    ixdba1.net

    ixdba2.net

    [dbservers]

    db.ixdba1.net

    db.ixdba2.net

    中括号中的名字代表组名,可以根据需求将庞大的主机分成具有标识的组,如上面分了两个组webservers和dbservers组;

    主机(hosts)部分可以使用域名、主机名、IP地址表示;当然使用前两者时,也需要主机能反解析到相应的IP地址,一般此类配置中多使用IP地址;

    未分组的机器需保留在hosts的顶部。

    2、指定主机范围

    可在/etc/ansible/hosts文件中,指定主机的范围,示例如下:

    [web]

    www[01:50].ixdba.net

    [db]

    db[a:f].ixdba.ent

    3、主机变量

    以下是Hosts部分中经常用到的变量部分:

    ansible_ssh_host #用于指定被管理的主机的真实IP

    ansible_ssh_port #用于指定连接到被管理主机的ssh端口号,默认是22

    ansible_ssh_user #ssh连接时默认使用的用户名

    ansible_ssh_pass #ssh连接时的密码

    ansible_sudo_pass #使用sudo连接用户时的密码

    ansible_sudo_exec #如果sudo命令不在默认路径,需要指定sudo命令路径

    ansible_ssh_private_key_file #秘钥文件路径,秘钥文件如果不想使用ssh-agent管理时可以使用此选项

    ansible_shell_type #目标系统的shell的类型,默认sh

    ansible_connection #SSH 连接的类型:local , ssh , paramiko,在ansible1.2之前默认是paramiko ,后来智能选择,优先使用基于ControlPersist 的ssh

    ansible_python_interpreter #用来指定python解释器的路径,默认为/usr/bin/python 同样可以指定ruby 、perl的路径

    ansible_*_interpreter #其他解释器路径,用法与ansible_python_interpreter类似,这里"*"可以是ruby或perl等其它语言

    示例:

    [web]

    192.168.78.11 http_port=80

    192.168.78.12 http_port=80

    还可以改成这样:

    [web]

    192.168.78.11

    192.168.78.12

    [web:vars]

    http_port=80

    [webhost]

    host1

    host2

    [dbhost]

    host2

    host3

    [allhosts:children]

    webhost

    Dbhost

    主机组可以包含主机组,主机的变量可以通过继承关系,继承到最高等级的组的变量。定义主机组之间的继承关系我们使用":children"来表示

    二、ansible.cfg与默认配置

    /etc/ansible/ansible.cfg文件中定义了ansible的主机的默认配置部分,如默认是否需要输入密码、是否开启sudo认证、action_plugins插件的位置、hosts主机组的位置、是否开启log功能、默认端口、key文件位置等等。

    #inventory = /etc/ansible/hosts 该参数表示资源清单inventory文件的位置,资源清单就是一些Ansible需要连接管理的主机列表

    #library = /usr/share/my_modules/ Ansible的操作动作,无论是本地或远程,都使用一小段代码来执行,这小段代码称为模块,这个library参数就是指向存放Ansible模块的目录

    #module_utils= /usr/share/my_module_utils/

    #remote_tmp= ~/.ansible/tmp指定远程执行的路径

    #local_tmp= ~/.ansible/tmpansible管理节点的执行路径

    #forks = 5 forks 设置默认情况下Ansible最多能有多少个进程同时工作,默认设置最多5个进程并行处理。具体需要设置多少个,可以根据控制主机的性能和被管理节点的数量来确定。

    #poll_interval= 15 轮询间隔

    #sudo_user= root sudo使用的默认用户,默认是root

    #ask_sudo_pass= True 是否需要用户输入sudo密码

    #ask_pass= True 是否需要用户输入连接密码

    #remote_port= 22 这是指定连接对端节点的管理端口,默认是22,除非设置了特殊的SSH端口,不然这个参数一般是不需要修改的

    #module_lang= C 这是默认模块和系统之间通信的计算机语言,默认为'C'语言.

    host_key_checking= False 跳过ssh首次连接提示验证部分,False表示跳过。

    #timeout = 10 连接超时时间

    #module_name= command 指定ansible默认的执行模块

    #nocolor= 1 默认ansible会为输出结果加上颜色,用来更好的区分状态信息和失败信息.如果你想关闭这一功能,可以把'nocolor'设置为'1':

    #private_key_file=/path/to/file.pem在使用ssh公钥私钥登录系统时候,使用的密钥路径。

  • 相关阅读:
    软件构造期末复习考点总结
    设计模式
    怎么写测试策略
    FreeRTOS任务创建、启动调度器、任务切换的过程分析——基于ARM-CotexM3
    Altium Designer 创建集成封装库(.IntLib文件)的方法
    Altium Designer多通道设计的原理与应用实例
    我的编程命名风格
    计算机网络学习笔记
    基于串口通信做my_printf时遇到的坑儿
    git常用命令
  • 原文地址:https://www.cnblogs.com/yxf-/p/11494028.html
Copyright © 2020-2023  润新知