Ansible是一个简单的自动化运维管理工具,无需在被控主机部署任何客户端代理,默认直接通过SSH通道进行远程命令执行或下发配置
安装方式
1、yum安装
安装EPEL源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
安装ansible
yum install ansible -y
2、agt-get安装
添加ansible源
apt-add-repository -y ppa:ansible/ansible
升级库文件
apt-get update
安装ansible
apt-get install -y ansible
3、 pip安装
安装python-pip及python-devel程序包
yum install python-pip python-devel -y
升级pip到最新版本
pip install --upgrade pip
安装ansible
pip install ansible -upgrade
安装成功后 ansible --version 查看版本
其中 /etc/ansible 下为ansible配置文件
/usr/bin 下为ansible执行文件目录
在ansible管理节点上添加目标节点的ssh登陆认证信息,比如现在有ip1 ip2 ip3 三个节点,选用ip1作为管理节点
在ip1上执行ssh-keygen生成公钥私钥后,分发至ip2,ip3
ssh-keygen
ssh-copy-id root@ip2
在/etc/ansible/目录下找到hosts ,配置ip1需要管理的节点,如
[test] ip2 ip3
其中[test]为组名,ip2和ip3是被管理主机地址,可命名多个组名
现在开始检查服务器存活
ansible test -i /etc/ansible/hosts -m ping
其中test是指的hosts文件中test组下的ip,-m是指ansible下的一些内置模块,-i 指的配置的主机列表文件,ansible默认指定/etc/ansible/hosts文件,可以配置多个,默认时可以执行 ansible test -m ping
返回结果为绿、红、橘黄三色,红色表示执行过程有异常,会中止所有任务,绿色和橘黄表示正常执行,绿色指命令执行结束后目标没有状态的变化,橘黄反之
下面是一些简单的临时命令
安装redhat-lsb并查看服务器系统版本号
ansible test -m yum -a "name=redhat-lsb state=present"
查看test组下所有系统版本号
ansible test -m command -a "lsb_release -a"
设置ntp服务开机启动
ansible test -m service -a "name=ntpd state=started enabled=yes"
以上是ansible一些简单命令使用
ansible提供两种完成任务的方式:一种是Ad-Hoc命令集,即命令ansible,另外一种就是Ansible-playbook,即命令ansible-playbook。前者注重于解决一些简单的临时任务,相当于linux系统命令行下的shell命令,后者更适合于解决复杂的任务,相当于linux系统的shell scripts。