本文根据大量真实故事糅合改编,如有雷同,可能说的就是......
【文末有彩蛋】
善守者,藏于九地之下
善攻者,动于九天之上
运维人员平时总是默默躲在设计、产品和工程师们的背后,成为无名英雄。一旦出现故障,他们就开始浮出水面,应对危机。
大家好,我是一只立志成为的运维界老王的的“背锅侠”—运维小王。
我的工作就是背锅、背锅、背锅…
“小王,你这技术能力不行啊,服务器故障数据为什么不能恢复?”
“小王,你这业务能力不行啊,这点活儿你打算掰扯到什么时候?”
“小王,你这沟通能力不行啊,运营小姑娘这是第几次被你搞哭了?”
…
企业级数据中心都要求:
公司的业务不能中断,
数据不能丢失,
对时间紧迫性要求特别高,
所以无论遭遇断电、
中病毒、各种自然灾害、
...
管你啥问题了,
只要数据丢了,
老板就要暴走了!
我也就要背锅了!
比如:
服务器故障,
数据丢失…
我只能够吭哧吭哧地
进行手动备份恢复
这手动备份恢复耗时耗力
就算命好,备份恢复后能用
但是那么多台服务器手动恢复下来
体力活啊
啊啊啊...
~
额滴肾啊
啊啊啊...
~
受够了
不要再当背锅侠了
我要当老王,我要去飙车!
直到有一天,我遇到了Ansible
Ansible :自动化运维界的一颗璀璨的新星
1. 默认基于ssh进行批量管理 无需安装客户端
2. 使得还是背锅小王的我也能快速上手
3. 分分钟将手上的各种重复机械的任务实现了自动化
近百台服务器的配置变更 于我而言 也只不过是一行Ansible命令而已:
ansible webserver -m copy -a "src=/local/path/to/newsite.conf dest=/path/to/apache/conf.d/ owner=www group=www mode=640"
什么?web集群又新增了几十台服务器?
之前的我听到这个消息定会扶墙、吐血,这得多大的工作量啊
然而现在,So easy, 给我5分钟写一个Playbook,就叫它temp.yml吧:
---
- hosts: new-web-server
sudo: yes
tasks:
- name: 安装Apache
yum: name={{ item }} state=present
with_items:
- httpd
- httpd-devel
- name: 复制配置文件
copy:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: root
group: root
mode: 0644
with_items:
- {
src: "/tmp/httpd.conf",
dest: "/etc/httpd/conf/httpd.conf" }
- {
src: "/tmp/httpd-vhosts.conf",
dest: "/etc/httpd/conf/httpd-vhosts.conf"}
- name: 检查Apache运行状态,并设置开机启动
service: name=httpd state=startedenabled=yes
单词Playbook是剧本的意思,是Ansible中一个重要的概念,而事实上对Ansible而言,Playbook就像一个真正的剧本一样,指挥着Ansible去完成一系列的自动化任务,而且与此同时,它就像一相真正的剧本一样易读、易懂。
Playbook 编写完成,怎么去实现它呢?
很简单,一条耿直如我的命令ansible-playbook:
ansible-playbook temp.yml
运行结果同样清晰明了:
转眼间,数十台web服务器便被成功创建并运行
一开始提到的数据库故障恢复问题,你就告诉我有几台服务器吧
小王我再也不要干体力活儿了
我的眼角不禁湿润了
感觉离成为老王越来越近了
但我依然清醒地知道 前路依旧漫漫
但是有了《Ansible权威指南》
运维背锅之路到此为止 我将带头学习
《Ansible权威指南》在京东、亚马逊、当当等各大电商均已上架,敬请关注:
京东:https://item.jd.com/12070020.html
福利
分享文章至朋友圈点赞数满15,截图发消息于“高效运维”公众号将免费赠书一本,数量不多,先到先得。
友情链接