集群工具ansible简单使用
来源:互联网 发布:mac搜狗 工具箱 编辑:程序博客网 时间:2024/04/23 18:01
ansible简介
ansible是与puppet、saltstack类似的集群管理工具,其优点是仅需要ssh和Python即可使用,而不像puppet、saltstack那样都需要客户端。与puppet类似,ansible也支持丰富的功能:
- 批量执行
- 支持模块化,支持playbook(相比puppet还是弱些)
- 上手容易(puppet上手有门槛)
- 权限控制
安装方法为:yum -y install ansible
或pip 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' # 假装删除
参考文档
- http://www.tuicool.com/articles/AZVJ3qQ
- http://ju.outofmemory.cn/entry/67581
0 0
- 集群工具ansible简单使用
- 集群工具ansible简单使用
- ansible简单使用
- ANSIBLE的简单使用
- 集群运维自动化工具ansible之使用playbook安装zabbix客户端
- Ansible学习笔记--使用ansible管理windows集群
- Ansible 安装与简单使用
- 使用Docker模拟ansible集群环境
- ansible小结(八)ansible-playbook简单使用
- python、psutil、ansible实现集群环境系统巡检工具
- ansible自动化运维工具使用详解
- Ansible自动化运维工具使用
- Ansible部署TiDB集群
- ansible使用
- ansible使用
- 自动化运维工具ansible学习+使用ansible批量推送公钥到远程主机
- ansible自动化运维工具的安装与使用
- 在 CentOS 7 中安装并使用自动化工具 Ansible
- FieldTypes 元素(字段类型)
- List<?>不能直接被类型转换
- 清理收缩VMware虚拟机中MacOS系统的vmdk文件的大小
- 第十二周项目一——程序阅读(5)
- 【Android】神奇的android:clipChildren属性
- 集群工具ansible简单使用
- java之XML
- RRDTool 详解
- 快排
- WP8.1的Flyout控件
- ubuntu 安装jsoncpp 与 libevent
- 第十二周项目一——程序阅读(6)
- snmp详解
- Android 中Intents和Intent Filters区别