ansible实验环境及配置文件

内容纲要

ansible实验环境

file

ansible-001控制4台终端,后续会在终端上发布不同的服务。

ansible配置文件介绍

file
ansible –version 查看ansible版本信息
ansible 2.9.18 显示当前版本为2.9.18
config file 配置文件路径
configured module search path 插件模块路径
ansible python module location python模块路径

ansible.cfg优先级介绍

ansible.cfg这个配置文件是有优先级别的,在配置文件的大约1-8行说明了优先级别,这里概括如下。这里是以/data目录作为演示。
/data/ansible.cfg > ~/ansible.cfg > /etc/ansible/ansible.cfg
在当前目录建立的ansible.cfg优先级是最高的,其次是在家目录,如果前面两个目录都没有ansible.cfg文件的话,默认会读取/etc/ansible中的ansible.cfg文件。

ansible.cfg默认配置介绍

由于参数过多,这里一些常用的[defaults]参数。大约在10-28行
ansible defaults
inventory 主机清单,定义了被控端的配置。
library 定义了模块文件里京
remote_tmp 远程主机脚本临时存放目录
local_tmp ansible控制端脚本临时存放目录
forks ansible执行命令并发数
poll_interval 异步任务查询间隔
sudo_user ansible sudo用户
ask_sudo_user 是否提示输入sudu密码
ask_pass 是否输入密码
remote_port 被控端SSH端口
module_lang ansible默认执行模块

ansible inventory

inventory是管理被控端主机信息的文件,默认路径在/etc/ansible/hosts。这个文件也可以单独被定义到某个路径,执行命令是只需要加-i来指定这个文件即可。

ansible inventory
在inventory配置文件中已经阐述多种添加主机的方法,大约在1-43行。

这里推荐一个在大部分生产环境中使用的方法,也是我认为最简单的方法。

首先我们在hosts文件中定义好组和被控端
ansible hosts

然后我们关闭第一次登录被控端的key验证。(只需要开启ansible.cfg配置文件中的host_key_checking = False)就可以关闭key验证了。
ansible host_key_checking = False

然后把控制端的公钥依次传到被控端的主机上

[root@ansible-01 .ssh]# ssh-keygen -N ""
[root@ansible-01 .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.50.71
[root@ansible-01 .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.50.72
[root@ansible-01 .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.50.73
[root@ansible-01 .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.50.74

然后我们用ansible的ping模块检查主机是否连通

[root@ansible-01 .ssh]# ansible test -m ping
192.168.50.71 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
192.168.50.74 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
192.168.50.72 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
192.168.50.73 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
spacer

Leave a reply

评论审核已启用。您的评论可能需要一段时间后才能被显示。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据