Linux:ansible自动化运维工具

环境介绍

当前所有执行权限我是在root下执行的,如果提示权限之类的,可以在每句命令前  加上 sudo   

ansible主服务器  192.168.0.194        

另外两个客户端分别为 192.168.0.193   192.168.0.192

软件只需要在主服务器上安装,客户端不需要去安装软件,因为他们相互使用的是ssh

只需要在主服务器上安装好软件,然后生成一个密钥发送至客户端,实现,主服务器免密ssh连接客户机即可


安装ansible

在主服务器上进行软件安装 

rm -rf /etc/yum.repos.d/*

删除所有yum仓库(如果你原来有重要yum仓库记得备份) 

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

安装阿里云yum仓库镜像

yum clean all && yum makecache

清除以前缓存 &&更 新缓存

yum -y install epel-release
yum -y install ansible

Linux:ansible自动化运维工具_第1张图片


主服务器生成密钥ssh免密登录客户机

在主服务器上

ssh-keygen -t rsa

 输入完命令一直回车即可

Linux:ansible自动化运维工具_第2张图片

ssh-copy-id 用户@ip地址

传输密钥,传输完以后可以进行免密ssh连接

ssh-copy-id [email protected]

 输入完命令以后,yes,输入密码就可以了

如果有另外的客户端,也执行同样操作,全测试可以免密ssh登录即可

Linux:ansible自动化运维工具_第3张图片

ssh-copy-id [email protected]

Linux:ansible自动化运维工具_第4张图片

 只要ssh登录时候不用密码就是成功了


主机列表   /etc/ansible/hosts

 主机列表可以写一个组,组名下面写ip或者主机名,就是这个组的成员,控制这个组,或控制单个都是可以的

vim /etc/ansible/hosts

进去以后可以单起一行,前面没有的#才行

格式为

[组名]

主机ip或主机名

……

Linux:ansible自动化运维工具_第5张图片 

 web就是组名

下面的就是ip,当我们对web进行操作,两个主机就会回馈

此外还可以这样写……
 

[web]   ## 主机组
192.168.10.2
192.168.10.3

[test01]
www.bdqn.cn:222   ##通过端口222管理设备

[mail]
ly01.mail.cn

[ly]
ly[2:5].test.com  ##正则表达式:表示4台主机ly2,ly3,ly4,ly5..


基础操作 

ansible web -m command -a "firewall-cmd --state"

 查看web组的主机有没有开防火墙

 

        

ansible web -m command -a "systemctl stop firewalld" --limit "192.168.0.193"

对web组的192.168.0.193执行关闭防火墙操作

Linux:ansible自动化运维工具_第6张图片

可以指定ip去执行

ansible 192.168.0.192  -m command -a "ip a"

Linux:ansible自动化运维工具_第7张图片

 

通过通配符来指定多个主机远程操作(可以理解为一个网段)

ansible 192.168.0.* -m command -a "firewall-cmd --state"


未完待续

你可能感兴趣的:(运维,linux,ansible)