自动化技术初出茅庐,ansible使用解析。

    ansible是一款基于SSH协议的自动化运维工具,它能多线程工作,将命令推送至各个主机执行,在需要管理或部署大量服务器的时候,是不可或缺的神器。

    ansible有很多的模块每个模块详细用法见官网:www.ansible.com

我们来看看它的基本配置和用法:

    先安装:yum install ansible -y

配置文件:/etc/ansible/ansible.cfg 这个默认配置不用动,就可以使用了。

我们来看看/etc/ansible/hosts文件

wKioL1O-mxKgC5VLAAMzwFu8q_A660.jpg

配置/etc/ansible/hosts文件,定义组,加入需要管理的主机

wKioL1O-ngSQgNJPAACk2M1g7jk950.jpg

由于要基于ssh协议,所以要生成ssh密钥,把公钥拷贝到各个主机节点上去。

ansible命令基本用法: 

ansible <host-pattern> [-f forks] [-m module_name] [-a args] 

    <host-pattern>:主机模式,可以用组名 

    [-f forks]: 指定启用的线程数,默认5个。

    [-m module_name]:模块名称,默认为(command)。

    -a:参数

比如我们要显示这三个主机的时间。

  • ansible all -a 'date'

wKioL1O-oMHR_K5uAAEQY9fNoKw013.jpg

给全部主机,添加一个cron任务,这里可以调用cron模块来实现。

  • ansible all -m cron -a 'name="sync time from 192.168.1.1"minute="*/3"job="/usr/sbin/ntpdate 192.168.1.1 &>/dev/null"'

wKiom1O-pRvTGpapAAGXpog08n0500.jpg

查看是否添加成功。

  • ansible all -a 'crontab -l'

wKiom1O-pbejNwS4AAIIHbF8BPk348.jpg

如果我们要批量安装软件,可以调用yum模块,如果不知道用法,可以man ansible.yum

给全部主机安装vsftpd。

  • ansible all -m yum -a'name=vsftpd state=present'

wKiom1O-qB3DTGI0AAKXTNIno5s451.jpg

再来几个例子:

1、在每个节点上创建tuchao用户

  • ansible all -a 'useradd tuchao'

  • ansible all -a 'id tuchao'

wKiom1O-q9jyi9y1AAJMSWw6qnY136.jpg

2、在每个节点创建/tmp/tuchaodir/其属主属组都为tuchao用户。

  • ansible all -a 'mkdir /tmp/tuchao'

  • ansible all -a 'chown -R tuchao.tuchao /tmp/tuchao'

wKiom1O_PIzB3T7WAAGX1NoaicA938.jpg


3、复制/etc/fstab到/tmp/tuchao.

wKioL1O_PN3DFQyHAAGGkb1c4EE177.jpg


















基本用法差不多了,有问题欢迎与我交流QQ:1183710107

本文出自 “突破舒适区” 博客,转载请与作者联系!

你可能感兴趣的:(linux,ansible,自动化工具)