首页 > 代码库 > ansible
ansible
1 ansible优点
Ansible优点: 1)轻量级,不需要去客户端安装agent,更新时,只需要在操作机上进行一次更新即可,采用SSH协议。 2)批量任务执行可以写成脚本,而且不用分发到远程就可以执行。 3)使用python编写的,维护更简单。 4)支持sudo普通用户命令。
2 ansible工作结构图
3 安装(系统:centos7.2)
CentOS直接使用yum安装即可,安装之前先安装epel源码 [root@57135test .ssh]# rpm -Uvh http://mirrors.ustc.edu.cn/epel/epel-release-latest-7.noarch.rpm 然后yum安装即可 [root@57135test .ssh]# yum -y install ansible 遇到的问题:开始yum安装ansible失败,貌似是python原因,后重装python,yum clean all 后安装成功
安装完后正式来使用,ansible默认配置文件路径为:
/etc/ansible:
[root@57135test ansible]# pwd /etc/ansible [root@57135test ansible]# ls ansible.cfg hosts roles
4 使用
a 查询 [root@57135test ansible]# ansible -i /etc/ansible/hosts all -a "date" 192.168.57.131 | SUCCESS | rc=0 >> 2017年 02月 18日 星期六 12:41:27 EST 192.168.57.132 | SUCCESS | rc=0 >> 2017年 02月 18日 星期六 12:41:27 EST
ansible主要参数如下: -u username 指定ssh连接的用户名,即执行后面命令的用户 -i inventory_file 指定所使用的inventory文件的位置,默认为/etc/ansible/hosts -m module 指定使用的模块,默认为command,常见模块有command、shell、script、yum、copy等等 -f 10 指定并发数,并发量大的时候,提高该值 --sudo [-k] 当需要root权限执行的化,-k参数用来输入root密码。 -a 指定模块的参数,可以是命令等等。
b 查询 [root@57135test ansible]# ansible 192.168.57.* -m command -a "df -h" 192.168.57.131 | SUCCESS | rc=0 >> 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 18G 3.3G 15G 19% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.8M 483M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 497M 125M 373M 25% /boot tmpfs 98M 0 98M 0% /run/user/0 192.168.57.132 | SUCCESS | rc=0 >> 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 18G 4.0G 14G 23% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.7M 483M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 497M 125M 373M 25% /boot tmpfs 98M 0 98M 0% /run/user/0
c 远程批量拷贝文件或者目录 [root@57135test ansible]# ansible all -m copy -a ‘src=http://www.mamicode.com/etc/ansible/hosts dest=/root mode=755 owner=root‘"changed": true, "checksum": "f1da8e42d7ead3a118d6a98bd71b3281e9b00b16", "dest": "/root/hosts", "gid": 0, "group": "root", "md5sum": "80e9491b34936cb2931a9edd94249561", "mode": "0755", "owner": "root", "secontext": "system_u:object_r:admin_home_t:s0", "size": 30, "src": "/root/.ansible/tmp/ansible-tmp-1486590352.88-86119644734743/source", "state": "file", "uid": 0 } 192.168.57.132 | SUCCESS => { "changed": true, "checksum": "f1da8e42d7ead3a118d6a98bd71b3281e9b00b16", "dest": "/root/hosts", "gid": 0, "group": "root", "md5sum": "80e9491b34936cb2931a9edd94249561", "mode": "0755", "owner": "root", "secontext": "system_u:object_r:admin_home_t:s0", "size": 30, "src": "/root/.ansible/tmp/ansible-tmp-1486590352.91-35991786700841/source", "state": "file", "uid": 0 }
d yum远程安装 [root@57135test yum.repos.d]# ansible 192.168.* -m yum -a "name=sysstat,screen,ntpdate state=installed"
本文出自 “卓尔的博客” 博客,请务必保留此出处http://6874869.blog.51cto.com/6864869/1899104
ansible
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。