Ansible:
运维工作: 系统安装 (物理机, 虚拟机)--> 程序包安装, 配置, 服务启动 --> 批量操作 --> 程序发布 --> 监控
OS Provisioning:
物理机: PXE,Cobbler
虚拟机: Image Templates
- Configration:
- Puppet (Ruby)
- saltstack (python)
- Chef
- cfengine
- Command and Control:
- fabric,func,Capistrano
预发布验正:
新版本的代码先发布到服务器 (跟线上环境配置完全相同, 只是未接入到调度器);
程序发布:
不能影响用户体验;
系统不能停机;
不能导致系统故障或造成系统完全不可用;
灰度发布:
发布路径:
- /webapp/tuangou-1.1
- /Web/App/tuangou
- /webapp/tuangou-1.2
在调度器上下线一批主机 (maintanance) --> 关闭服务 --> 部署新版本的应用程序 --> 启动服务 --> 在调度器上启用这一批服务器;
自动化灰度发布: 脚本, 发布平台;
运维工具的分类:
- agent: Puppet, func
- agentless: ansible, fabric
- SSH
- ansible:
模块化, 调用特定的模块, 完成特定的任务;
基于 Python 语言实现, 由 Paramiko,PyYAML 和 Jinja2 三个关键模块;
部署简单, agentless;
主从模式
支持自定义模块
支持 Playbook
幂等性:
配置文件:
- /etc/ansible/ansible.cfg
- /etc/ansible/hosts
来源: http://www.bubuko.com/infodetail-2927480.html