首页 > 其他分享 >第二章 ansible配置文件

第二章 ansible配置文件

时间:2022-10-21 11:37:35浏览次数:62  
标签:配置文件 cfg etc ansible student 主机 第二章 root

第二章 ansible配置文件

一、

/etc/ansible有以下三个文件或者目录生成

1、Hosts

主机清单配置文件

2、ansible.cfg

Ansible配置文件

3、Roles

角色定义目录

二、ansible配置文件优先级

Ansible配置以ini格式存储配置数据,在Ansible中⼏乎所有配置都可以通过Ansible的Playbook或环境变量来重新赋值。在运⾏Ansible命令时,命令将会按照以下顺序查找配置⽂件。
ANSIBLE_CONFIG :⾸先,Ansible命令会检查环境变量,及这个环境变量指向的配置⽂件。 export ANSIBLE_CONFIG=/PATH
./ansible.cfg :其次,将会检查当前⽬录下的ansible.cfg配置⽂件
~/.ansible.cfg :再次,将会检查当前⽤户home⽬录下的.ansible.cfg配置⽂件。
/etc/ansible/ansible.cfg :最后,将会检查在⽤软件包管理⼯具安装Ansible时⾃动产⽣的配置⽂件。

三、主配置文件/etc/ansible/ansible.cfg解析

[root@ansible ~]# vim /etc/ansible/ansible.cfg 
[defaults] 默认配置 
# some basic default values... 
#inventory = /etc/ansible/hosts #主机列表配置文件 
#library = /usr/share/my_modules/ #库文件存放目录,ansible默认搜寻模块的位置
#module_utils = /usr/share/my_module_utils/ #模块存放目录 
#remote_tmp = ~/.ansible/tmp #临时py命令文件存放在远程主机目录 
#local_tmp = ~/.ansible/tmp #本机的临时命令执行目录 
#forks = 5 #默认并发数 
#poll_interval = 15 #时间间隔 
#sudo_user = root #默认sudo用户 
#ask_sudo_pass = True #每次执行ansible命令是否询问sudo用户密码,默认值为no
#ask_pass = True #每次执行ansible命令是否询问ssh密码,默认值为no
#transport = smart #传输方式 
#remote_port = 22 #远程端口号 
#remote_user = root ----远程用户,受控主机使用什么用户进行执行ansible任务
#roles_path    = /etc/ansible/roles
#host_key_checking = False

[privilege_escalation]  定义对受管主机执行特权升级,默认普通用户是没有权限来执行很多ansible任务的,但是我们可以给普通用户提权,让它有权限去执行ansible任务
become = true
become_method = sudo
become_user = root
become_ask_pass = false

[paramiko_connection]、[ssh_connection]、[accelerate]用于优化与受管主机的连接

[selinux] 定义如何配置selinux交互

四、主机清单

清单定义ansible将要管理的一批主机。这些主机也可以分配到组中,以进行集中管理。组可以包含子组,主机也可以是多个组的成员。清单还可以设置应用到它所定义的主机和组的变量。
可以通过两种方式定义主机清单。静态主机清单可以通过文本文件来定义。动态主机清单可以根据需要使用外部信息提供程序通过脚本或者其他程序来生成。
安装和配置Ansible

五、按照下方所述,在控制节点ansible.example.com 上安装和配置Ansible:

安装所需的软件包
创建名为/home/student/ansible/inventory的静态清单文件, 以满足以下需求:
    node1是dev主机组的成员
    node2是test主机组的成员
    node3是prod主机组的成员
    prod组是webservers主机组的成员
创建名为/home/student/ansible/ansible.cfg的配置文件, 以满足以下要求:
    主机清单文件为/home/student/ansible/inventory
    playbook中使用的角色的位置包括/home/student/ansible/roles
[root@ansible ~]# yum -y install ansible
[root@ansible ~]# su - student
[student@ansible ~]$ mkdir ansible
[student@ansible ~]$ ls
ansible
[student@ansible ~]$ cd ansible/

[student@ansible ansible]$ vim inventory 
[dev]
node1

[test]
node2

[prod]
node3

[webservers:children]
prod

[student@ansible ansible]$ cp /etc/ansible/ansible.cfg  .

[student@ansible ansible]$ mkdir roles
[student@ansible ansible]$ ls
ansible.cfg  inventory  roles


inventory      = /home/student/ansible/inventory  //更改文件位置
remote_user     = student   //更改用户为student

roles_path    = /home/student/ansible/roles   //更改文件位置

host_key_checking = False   //取消注释
[privilege_escalation]    //以下四行取消注释
become=True
become_method=sudo
become_user=root
become_ask_pass=False

[student@ansible ansible]$ exit
logout

[root@ansible ~]# vim /etc/sudoers.d/student
[root@ansible ~]# for i in node{1..3}
> do scp /etc/sudoers.d/student root@$i:/etc/sudoers.d/
> done
student                                                100%   32     1.3KB/s   00:00    
student                                                100%   32    18.1KB/s   00:00    
student                                                100%   32     6.7KB/s   00:00    

[student@ansible ~]$ cd ansible/

[student@ansible ansible]$ ansible all -m ping
node2 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false,
    "ping": "pong"
}
node1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false,
    "ping": "pong"
}
node3 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false,
    "ping": "pong"
}

标签:配置文件,cfg,etc,ansible,student,主机,第二章,root
From: https://www.cnblogs.com/loronoa/p/16812869.html

相关文章

  • 部署Ansible
    Ansible目录1.介绍Ansible2.什么是Ansible1.2Ansible无需代理1.3Ansible方式2.安装Ansible2.1控制节点2.2受管主机2.3基于Windows的受管主机2.4受管网络设备2.5......
  • ansible进阶_2.tags
    tags可以对任务打标签,在执行playbook时,借助标签,指定执行哪些tags的任务,或者指定不执行哪些tags任务了基本操作----hosts:webremote_user:roottasks:-n......
  • ansible
    ansible自动化与linux系统管理(为什么要学习自动化运维)​ 大多系统管理和基础架构管理都依赖于通过图形或者命令行用户界面执行的手动任务,系统管理员通常使用检查清单、......
  • 管理配置ANSIBLE
    管理配置ANSIBLE目录管理配置ANSIBLE定义清单清单的位置使用静态清单指定受管主机验证清单构建Ansible清单自定义清单文件管理ANSIBLE配置文件配置Ansible配置文件优先级......
  • 第二章.选择器
    一、基础选择器 二、复合选择器 三、选择器的优先级 ......
  • 综合素质 第二章 教育法律法规 第九节 《学生伤害事故处理办法》和《中华人民共和国民
     1.★【学校承担事故责任的情形】因以下情形之一造成学生伤害事故。①学校的校舍,场地,其他公共设施,以及学校提供给学生使用的学具,教育教学和生活设施,设备不符合国家规定......
  • ansible配置文件
    Ansible配置文件目录Ansible配置文件一、ansible配置文件1.配置ansible2.配置文件优先级3.管理配置文件中的设置4.配置连接4.1连接设置4.2升级特权5.配置文件注释二、构建......
  • 部署Ansible
    目录部署Ansible1.构建Ansible清单1.1定义清单1.2使用静态清单指定受管主机1.3验证清单1.4覆盖清单位置1.5自定义清单文件2.Ansible配置文件管理2.1配置Ansible2.2......
  • 管理配置Ansible
    管理配置Ansible目录管理配置AnsibleAnsible清单定义清单清单的位置使用静态清单指定受管主机验证清单构建Ansible清单自定义清单文件管理Ansible配置文件配置Ansible配置......
  • 第二章 共享代码
    一、将模块中实现单一功能的代码块变成函数(方法) deffunction_name(arg1,arg2,...):... return 二、注释代码代码注释至少应该包含两部分:第一部分,放在整个模......