开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

自动化技术初出茅庐,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密钥,把公钥拷贝到各个主机节点上去。

  • ssh-copy-id -i ~/.ssh/id_rsa.pub  root@192.168.18.111

  • ssh-copy-id -i ~/.ssh/id_rsa.pub  root@192.168.18.200

  • ssh-copy-id -i ~/.ssh/id_rsa.pub  root@192.168.18.201

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



本文转自qw87112 51CTO博客,原文链接:http://blog.51cto.com/tchuairen/1436935

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一文掌握 Ansible 自动化运维
一文掌握 Ansible 自动化运维
49 0
自动化运维工具Ansible
一、简介 1.1 基本概念:   ansible是一个基于python开发的轻量级自动化运维管理工具,可以用来批量执行命令,安装程序,支持playbook编排。它通过ssh协议来连接主机,去中心化,相对比puppet和saltstack无需安装客户即可实现文件传输、命令执行、应用部署、配置管理、任务编排等,显得更为简单与轻量。
1153 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
ANSIBLE在生产环境中的实践
立即下载
基于虚拟化的CI CD流程与基础架构建设
立即下载
sysAK(青囊)介绍-系统运维工具集
立即下载