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本机安装sshpass
192.168.213.135 ansible_ssh_user=root ansible_ssh_pass=root
[zabbix]
# 密钥登陆
172.17.0.2:49154 ansible_ssh_user=root
172.17.0.4:49155 ansible_ssh_user=root
[vpn]
172.17.0.10

测试连接登陆是否OK

$ ansible local -m ping
192.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' # 假装删除

参考文档

集群工具ansible使用方法的更多相关文章

  1. 高可用Kubernetes集群-16. ansible快速部署

    说明 本文档指导采用二进制包的方式快速部署高可用kubernetes集群. 脚本托管:k8s-ansible(持续更新) 参考:高可用kubernetes集群 组件版本 组件 版本 备注 centos ...

  2. Hadoop入门 集群崩溃的处理方法

    目录 集群崩溃的处理方法 搞崩集群 错误示范 正确处理方法 1 回到hadoop的家目录 2 杀死进程 3 删除每个集群的data和logs 4 格式化 5 启动集群 总结 原因分析 集群崩溃的处理方 ...

  3. 【elasticsearch】(2)centos7 超简单安装elasticsearch 的监控、测试的集群工具elasticsearch head

    elasticsearch-head是elasticsearch(下面称ES)比较普遍使用的可监控.测试等功能的集群管理工具,是由H5编写的单独的网页程序.使用方法网上很多,这里教大家一个超简单安装h ...

  4. elasticsearch安装与使用(2)-- centos7 安装测试的集群工具elasticsearch head

    elasticsearch-head是elasticsearch(下面称ES)比较普遍使用的可监控.测试等功能的集群管理工具,是由H5编写的单独的网页程序.使用方法网上很多,这里教大家一个超简单安装h ...

  5. apache与tomcat负载集群的3种方法

    花了两天时间学习apache与tomcat的集成方法,现在把学习成果记录下来. apache与tomcat负载集群集成方法有3种jk.jk_proxy.http_proxy 本次集成使用的软件版本: ...

  6. Hadoop集群nodes unhealthy解决方法

    在搭建好Hadoop集群之后,所有服务均可正常启动,但是在运行MapReduce程序的时候,发现任务卡在7/09/07 22:28:14 INFO mapreduce.Job: Running job ...

  7. redis 集群目标、集群查看、配置方法及过程、哨兵配置启动

    集群目标 主从复制,读写分离:故障切换(通过哨兵实现) 查看集群状态 info replication 配置方法 只设置从数据库就可以了:最佳实践,在主数据库配置masterauth <mast ...

  8. 一种简单实现Redis集群Pipeline功能的方法及性能测试

    上一篇文章<redis pipeline批量处理提高性能>中我们讲到redis pipeline模式在批量数据处理上带来了很大的性能提升,我们先来回顾一下pipeline的原理,redis ...

  9. Redis 超详细自动管理Cluster集群工具上手 redis-trib.rb (多图,手把手)

    安装介绍 ​ redis-trib.rb是一款由Redis官方提供的集群管理工具,能够大量减少集群搭建的时间. ​ 除此之外,还能够简化集群的检查.槽迁徙.负载均衡等常见的运维操作,但是使用前必须要安 ...

随机推荐

  1. AC自动机及trie图 pascal

    ; type data=record sum,failed:longint; son:array ['a'..'z'] of longint; end; ..maxn] of data; que:.. ...

  2. 开源一个silverlight上的文本编辑器:SlEditor

    控件设置三个状态:编辑.设计.查看. 控件的内容可以打包保存为zip格式,内容可以包含图片等元素(解决了silverlight RichTextBox控件xaml属性无法获取InlineUIConta ...

  3. 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版) SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式, ...

  4. Unity使用protobuf-net进行二进制序列化与反序列化

    Protobuf-net提供的一种易于使用的数据序列化方案,可序列化带有[ProtoContract]特性的类实例,并可支持Unity各个发布平台,且效率高.易用性强. public static c ...

  5. Memcache学习笔记

    以下内容大部分来自网络,小部分是本人遇到的问题融合后的记录. 先贴一段涨姿势~ Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全 ...

  6. 图片上传安全性问题,根据ContentType (MIME) 判断其实不准确、不安全

    图片上传常用的类型判断方法有这么几种---截取扩展名.获取文件ContentType (MIME) .读取byte来判断(这个什么叫法来着?).前两种都有安全问题.容易被上传不安全的文件,如木马什么的 ...

  7. (原创)MongoDB之NoSQL简介

    Nosql简介1.1系统对数据的需求        Nosql[Nosql主要用途大数据处理]的全称为”not only sql”,为非关系型数据库[非关系型数据库就是关系型数据库的所有特点都没有了, ...

  8. 使用MySQL制作SNP146数据库

    SNP数据(txt)文件可以在此下载:http://hgdownload.cse.ucsc.edu/goldenPath/hg19/database/ 下载.解压data之后,启动MySQL serv ...

  9. Notes of 大数据智能

    资料 刘知远 等. 大数据智能:互联网时代的机器学习和自然语言处理技术. 北京:电子工业出版社. 2016. 1 深度学习--机器大脑的结构 深度学习(Deep Learning)的两个方面: 神经网 ...

  10. web安全之sql注入布尔注入

    条件: 当一个页面,存在注入,没显示位,没有数据库出错信息,只能通过页面返回正常不正常进行判断进行sql注入. 了解的函数 exists()                    用于检查  子查询是 ...