设为首页 收藏本站
查看: 936|回复: 0

[经验分享] ansible常用模块事例

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-9 09:04:27 | 显示全部楼层 |阅读模式
管理端:192.168.1.131                Centos7.2
node1:        1.132                                Centos7.2
node2:        1.133                                Centos7.2
node3:        1.122                                Centos6.7
[iyunv@server ~]# yum -y install ansible
[iyunv@server ~]# ssh-keygen -t rsa -P ''
[iyunv@server ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.131                #管理本机
[iyunv@server ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.132
[iyunv@server ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.133
[iyunv@server ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.122
[iyunv@server ~]# cd /etc/ansible/
[iyunv@server ansible]# cp hosts{,.bak}
[iyunv@server ansible]# vim hosts
添加
        [websrvs]
        192.168.1.132
        192.168.1.133

        [dbservs]
        192.168.1.122

测试
1、对单台主机执行命令       
        [iyunv@server ansible]# ansible 192.168.1.132 -m command -a 'ifconfig'

2、对全部主机执行命令
        [iyunv@server ansible]# ansible all -m command -a 'ifconfig'

3、对指定主机组执行下载文件命令       
        ansible websrvs -a 'wget -O /tmp/epel-release-latest-7.noarch.rpm http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm'

        注:必须指定文件名

4、对指定主机组创建用户
        [iyunv@server ansible]# ansible websrvs -m user -a "name=hacluster state=present"

5、对指定主机组删除用户       
        [iyunv@server ansible]# ansible websrvs -m user -a "name=hacluster state=absent"
6、设置计划任务:从ntp服务器上同步所有主机时间
        [iyunv@server ansible]# ansible all -m cron -a 'name="sync time from ntpserver" minute="*/10" job="/sbin/ntpdate 192.168.1.62 &> /dev/null"

7、取消所有主机上name="sync time from ntpserver"的计划任务       
        [iyunv@server ansible]# ansible all -m cron -a 'name="sync time from ntpserver" state=absent'

8、复制本机上的文件至指定主机组
        [iyunv@server ansible]# ansible websrvs -m copy -a 'src=/etc/fstab dest=/tmp/fstab.tmp mode=600'

9、在所有主机上创建指定目录       
        [iyunv@server ansible]# ansible all -m file -a 'path=/tmp/testdir state=directory'

10、对所有主机上的文件创建链接文件
        [iyunv@server ansible]# ansible all -m file -a 'path=/tmp/fstab.symlink state=link src=/tmp/fstab.tmp'

11、强制删除所有主机上的链接文件       
        [iyunv@server ansible]# ansible all -m file -a 'path=/tmp/fstab.symlink state=absent force=yes'

12、测试管理主机是否在线
        [iyunv@server ansible]# ansible all -m ping

13、在指定主机组上用yum安装nginx
        [iyunv@server ansible]# ansible websrvs -m yum -a 'name=nginx state=latest'

14、在指定主机组上启动nginx并设定开机启动
        [iyunv@server nginx]# ansible websrvs -m service -a 'name=nginx state=started enabled=yes'

15、在指定主机组上停止nginx并取消开机启动       
        [iyunv@server nginx]# ansible websrvs -m service -a 'name=nginx state=stopped enabled=no'

16、在指定主机组上添加centos用户,并设定密码为centos       
        [iyunv@server nginx]# ansible websrvs -m user -a 'name=centos state=present'
        [iyunv@server nginx]# ansible websrvs -m command -a 'echo centos | passwd --stdin centos'        #错误,这里不能使用command,应使用shell,command命令不支持管道以下面语句为准
        [iyunv@server nginx]# ansible websrvs -m shell -a 'echo centos | passwd --stdin centos'

17、在指定主机组上执行本地shell脚本
        [iyunv@server ~]# vim /tmp/test.sh
                #!/bin/bash
                #

                echo "$(hostname) ansible is good." > /tmp/ansible.txt       
        [iyunv@server ~]# ansible websrvs -m script -a '/tmp/test.sh'

18、取得指定主机组上的相关信息
        [iyunv@server ~]# ansible websrvs -m setup


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-269681-1-1.html 上篇帖子: ansible安装配置 下篇帖子: 新人菜鸟,求助大神
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表