博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
集群工具ansible使用方法
阅读量:6703 次
发布时间:2019-06-25

本文共 1680 字,大约阅读时间需要 5 分钟。

ansible简介

ansible是与puppet、saltstack类似的集群管理工具,其优点是仅需要ssh和Python即可使用,而不像puppet、saltstack那样都需要客户端。与puppet类似,ansible也支持丰富的功能:

  • 批量执行
  • 支持模块化,支持playbook(相比puppet还是弱些)
  • 上手容易(puppet上手有门槛)
  • 权限控制

安装方法为:yum -y install ansiblepip install ansible

使用方法

在管理集群时,ansible需要先配置集群hosts列表以方便集群操作

$ cat /etc/ansible/hosts[local]# 配置密码登陆,需要ansible本机安装sshpass192.168.213.135 ansible_ssh_user=root ansible_ssh_pass=root[zabbix]# 密钥登陆172.17.0.2:49154 ansible_ssh_user=root172.17.0.4:49155 ansible_ssh_user=root[vpn]172.17.0.10

测试连接登陆是否OK

$ ansible local -m ping192.168.213.135 | success >> {    "changed": false,    "ping": "pong"}

ansible常见用法为ansible host-pattern -m 模块 -a 命令,host-pattern类似于简化的正则表达式,而模块可以通过ansible-doc -l命令来查询。下面是一些常用模块的使用方法:

  • 安装软件:ansible local -m apt -a ‘name=gcc state=present’或者ansible local -m yum -a “name=nmap state=installed”
  • 执行命令:ansible local -m shell -a ‘uptime’
  • 拷贝文件:ansible local -m copy -a “src=/tmp/server dest=/tmp/server”
  • 文件属性:ansible local -m file -a “dest=/tmp/server mode=755 owner=root group=root”
    *

playbook

playbook是由一个或多个“play”组成的列表。play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。 

一个简单的playbook配置如下:

- hosts: local  remote_user: root  tasks:  - name: echo hi    shell: echo "hi"

ansible还支持设置handlers,handlers是在执行tasks之后服务器发生变化之后可供调用的handler,使用起来如下:

# playbook.yml---- hosts: local  # hosts中指定  remote_user: root  # 如果和当前用户一样,则无需指定  tasks:      - name: whoami        copy: src=~/hosts dest=~/hosts.dest  #  本地拷贝到远端        notify:  # 如果copy执行完之后~/hosts.dest文件发送了变化,则执行            - clear copy  # 调用handler  handlers:      - name: clear copy        shell: 'mv ~/hosts.dest hosts.del'  # 假装删除本文转自feisky博客园博客,原文链接:http://www.cnblogs.com/feisky/p/4102613.html,如需转载请自行联系原作者
你可能感兴趣的文章
游戏安全资讯精选 2017年 第七期:游戏账号窃取日益猖獗,Struts2 REST插件远程执行命令漏洞全面分析,2017世界物联网博览会IoT安全观点...
查看>>
项立刚:FDD牌照发放 难改行业大格局
查看>>
移动广告作弊流量超过30%?你中招了吗
查看>>
CentOS 6.5环境 MongoDB 3.2.8 单实例安装部署
查看>>
基于阿里云MaxCompute实现复杂事件检测
查看>>
一键部署自动感知服务的Docker集群(一)
查看>>
【D3.js 学习总结】17、D3布局-分区图(矩形)
查看>>
《C语言及程序设计》实践项目——数组与指针
查看>>
MySQL中char和varchar有啥区别?优缺点是啥?
查看>>
PostgreSQL的函数安全定义解说
查看>>
pageinspect介绍
查看>>
C++语言基础 例程 类声明和成员函数定义的分离
查看>>
剑指offer学习笔记2
查看>>
面向对象
查看>>
动态分配的顺序线性表的十五种操作—C语言实现
查看>>
解决海量数据计算、降低企业成本的利器——MaxCompute
查看>>
JPEG编码
查看>>
github push403错误的处理
查看>>
正确理解ThreadLocal
查看>>
C# 文件流压缩解压
查看>>