Centos7安装配置Ansible教程

仅供学习交流使用,如果侵犯到你的合法权利,请联系邮件删除,或评论。我将会在24h内删除。

关于Ansible介绍:ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible架构相对比较简单,仅需通过SSH连接客户机执行任务即可。

一、安装并配置虚拟机

1.关闭防火墙并且设置开机不自启

systemctl stop firewalld && systemctl disable firewalld

2.关闭selinux

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

3.重启

reboot

二、设置阿里源

请提前启动网卡!

1.查看网卡信息和ip地址

ip addr

列:网卡名字是ens33

启动网卡

ifup ens33

yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

epel源

wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

2.清理yum源缓存

yum clean all && yum makecache fast

三、配置Ansible

1.安装Ansible

yum install -y ansible

2.关于Ansible配置文件

可使用 —version参数查看具体信息

ansible --version
[root@server ~]# ansible --version
ansible 2.9.27		#版本信息
  config file = /etc/ansible/ansible.cfg		#当前正在使用的配置文件具体位置
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Aug  4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]
[root@server ~]# rpm -qc ansible
/etc/ansible/ansible.cfg		#Ansible的配置文件
/etc/ansible/hosts		#Ansible的清单文件

3.配置用户配置文件,并且连接客户机

以root用户根目录为例

mkdir ansible

复制配置文件

cp /etc/ansible/ansible.cfg /root/ansible/

和配置文件建立链接

ansible --version
[root@server ansible]# ansible --version
ansible 2.9.27
  config file = /root/ansible/ansible.cfg		#这里配置文件目录为当前目录下
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Aug  4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]

修改配置文件

vim ansible.cfg
inventory= /root/ansible/hosts		#指定清单路径
remote_user= root		#指定远程用户为root
host_key_checking= false		#远程免除yes
:wq保存

1.链接客户机

配置hosts

hostnamectl set-hostname server.example.com		#server.example.com为自定义域名
vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.3.117 server.example.com server		#添加服务器 IP地址请更换你的
192.168.3.31 node1.example.com node1		#添加客户机 IP地址请更换你的
:wq保存

复制hosts文件到客户机

scp /etc/hosts root@192.168.3.31:/etc/hosts 	#IP地址请更换成你的

测试能不能ping通

ping node1

四、测试

在当前目录下创建一个清单

vim /root/ansible/hosts 	#清单名字为hosts,和ansible.cfg配置文件内一样
[dev]		#主机群组
node1		#主机名

[all:vars]
ansible_password=centos		#配置密码
:wq保存

随便测试一个

ansible node1 -m command -a 'hostname'

返回结果(测试成功)

[root@server ansible]# ansible node1 -m command -a 'hostname'
node1 | CHANGED | rc=0 >>
node1.example.com		#node1的域名

五、拓展

1.关于模块帮助

ansible-doc 模块名称

教程未完结,等待补充……