自动化运维工具
部署类:jenkins
环境类:ansible
监控类:ngios
ansible的使用
- 自动化 管理 IT资源 的工具
功能
- 系统环境配置
- 安装软件
- 持续集成
- 热回滚
优点
- 无客户端
- 推送式
- 丰富的module
- 基于YAML的playbook
- 商业化支持
缺点
- 效率低,易挂起
- 并发性差
Ansible配置详解
1 | defaults 默认配置项 |
1 | ask_pass & ask_sudo_pass |
1 | gather_subset |
1 | remote_port & remote_tmp & remote_user |
1 | sudo_exe & sudo_flags & sudo_user |
1 | action_plugins & callback_plugins &connection_plugins & filter_plugins & lookup_plugins & vars_plugins |
1 | forks |
1 | module_name |
1 | vault_password_file |
1 | pattern |
1 | inventory & library |
Ansible的使用
如何添加一台机器?
- 1.编辑/etc/ansible/hosts
- 2.添加本机的public SSH Key 到目标机器的authorized_keys
- 3.添加本机私钥到Ansible(可以省略)
- 运行ansible all -m ping 测试是否添加成功
Ansible命令格式-ansible all -m ping
- Ansible命令主题 ansible/Ansible-playbook
- 被操作的目标机器的正则表达式 –all
- 指定要使用的模块 -m ping
- 传入参数
1 | -a 指定传入模块的参数 |
1 | ip域名写起来太长,起一个别名 |
1 | 其他模块 |
免密登录
1 | ssh-keygen # 一直敲击回车即可 |
Ansible API
SaltStack
概念
- 一个配置管理系统,能够维护预定义状态的远程节点
- 一个分布式远程执行系统,用来在远程节点上执行命令和查询数据
特点
- 简单(相对Puppet)
- 并行执行
- 基于成熟技术(ZeroMQ,AES)
- python API
- 灵活,开源
服务架构
- Master 负责管理所有节点
- Minion 节点服务
- zeroMQ 通信方式
- AES 数据加密方法
缺点:
- 需要单独安装客户端
- 安全隐患大
ZerMQ简述
以嵌入式网络编程库的形式实现了一个并行开发框架,能够提供进程内,进程间,网络和广播方式的消息通道,并支持 发布-》订阅 ,任务分发,请求响应等通信模式
Saltstack安装配置运行
安装
1 | py2.6 ~ py3 |
配置
运行
- 运行Master节点
- 修改Minion节点配置,填入Master节点信息
- 启动Minion
- Master节点添加Minion