ansible配置和使用
ansible配置信息
ansible安装方式
使用yum安装
需要先安装一个epel-release
包,然后再安装 ansible:
yum install epel-release -y
yum install ansible -y
使用apt安装
见离线网页文件
ansible应用结构
安装目录如下:
配置文件目录:/etc/ansible;包括ansible.cfg、hosts等
执行文件目录:/usr/bin
lib库依赖目录:/usr/lib/python2.7/site-packages/ansible
help文档目录:/usr/share/doc/ansible-2.9.27
man文档目录:/usr/share/man/manX
ansible文件查找顺序
ansible与我们其他的服务在这一点上有很大不同,这里的配置文件查找是从多个地方找的,顺序如下:
- 检查环境变量
ANSIBLE_CONFIG
指向的路径文件(export ANSIBLE_CONFIG=/etc/ansible.cfg); ./ansible.cfg
:检查当前目录下的ansible.cfg配置文件~/.ansible.cfg
,检查当前用户home目录下的.ansible.cfg配置文件;/etc/ansible/ansible.cfg
:检查软件安装目录下安装时自动产生的配置文件。
从以上可以看出,ansible的配置文件可以在上面4个位置存在,看个人习惯;本文涉及的ansible.cfg配置文件都在/etc/ansible
目录下
ansile配置文件
ansible 有许多参数,下面我们列出一些常见的参数:
inventory = /etc/ansible/hosts #这个参数表示资源清单inventory文件的位置,也就是配置被管理主机列表的位置
library = /usr/share/ansible #指向存放Ansible模块的目录,支持多个目录方式,只要用冒号(:)隔开就可以
forks = 5 #并发连接数,默认为5
sudo_user = root #设置默认执行命令的用户
remote_port = 22 #指定连接被管节点的管理端口,默认为22端口,建议修改,能够更加安全
host_key_checking = False #设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例
timeout = 60 #设置SSH连接的超时时间,单位为秒
log_path = /var/log/ansible.log #指定一个存储ansible日志的文件(默认不记录日志)
ansible.cfg文件中的配置也可以不修改,按照默认配置修改对应的文件
ansible主机列表
在配置文件中,我们提到了资源清单,这个清单就是我们的主机清单,里面保存的是一些 ansible 需要连接管理的主机列表:
1、定义主机组,在主机组中加入ip或主机名
[CI-testserver]
192.168.1.69:2222#也可以这样指定ssh连接端口
192.168.1.65
192.168.1.75
192.168.1.82
192.168.1.52
# 定义嵌套组(主组套子组,子组用:chidren定义)
[cluster:children] # 集群组
webserver # webserver组
database # database组
CI-testserver # CI-testserver组
#要使用ansible操作本地主机
[runner-local]
localhost ansible_connection=local
2、直接定义
192.168.1.69
192.168.1.65
更详细的可以参考连接(3条消息) ansible主机清单和动态主机清单_ansible查看主机列表_识途老码的博客-CSDN博客
ansible配置公钥
-
生成私钥:
ssh-keygen
-
向主机分发公钥
ssh-copy-id root@192.168.1.82
这样就可以实现控制主机无密码登录主机清单中的设备
-
如果出现错误
-bash: ssh-copy-id: command not found
,需要在控制主机安装一个包yum -y install openssh-clientsansible
测试主机连通性
我们使用ansible CI-testserver -m ping
命令来进行主机连通性测试
执行剧本
如果写好了剧本可以使用下面的命令执行
ansible-playbook /etc/ansible/playbook/test.yml
#剧本的path看自己的习惯放在哪里
......更新中
标签:11,配置文件,主机,配置,192.168,etc,ansible,cfg From: https://www.cnblogs.com/xiaoxingxing-chen/p/17697110.html