混乱的集群遇见TA 从此岁月静好

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/g2V13ah/article/details/86653689

640?wx_fmt=gif

作者简介

高敏    百度高级研发工程师

640?wx_fmt=png

负责百度智能运维(Noah)基础运维组件相关开发工作,致力于运维基础设施的建设,在分布式系统、AIOps、可用性方向有广泛经验。



背景

时间的浪潮奔流不息,科技的发展也从未停步。云计算历经多年发展,从最初的概念模型,到被大众熟知,再到现在全行业拥抱上云,取得了巨大的进步。云的主要客户已从最初的中小初创公司逐步渗透到各行各业的大型企业。可以说,企业上云已是企业发展的必由之路。部分数据敏感的企业结合自身数据的安全性、所有权和控制权等综合因素考虑,会选择搭建自己的私有云或者混合云环境

但是在上述环境中,用户的机器都需要自行管理,这就必然给云运维人员带来很多意想不到的麻烦

640?wx_fmt=png

其实我们面临的问题从来就没有什么大的变化,唯一不同的只是机器规模越来越大,人心越来越复杂

640?wx_fmt=png

Q如何在1台机器上部署基础设施?A

640?wx_fmt=png

一切都源于那个亘古不变的道理:扔一个文件到机器上,然后跑一个命令。

640?wx_fmt=png

Q如何在10台机器上部署基础设施?A

640?wx_fmt=png

写个for循环搞定。

640?wx_fmt=png

Q如何在10000台机器上部署基础设施?A

640?wx_fmt=png

这个也好办!定制操作系统镜像CUSTOM.iso装机自动化安装!

then……

640?wx_fmt=png


Q

如何快速升级所有机器上的基础设施?

Q

服务因异常挂掉,能自动重启保活吗?

Q

公司做活动,预计流量突增,能扩容吗?

Q

公司活动结束,为节约成本,能缩容吗?

Q

新开发的基础设施服务有问题,能立马回滚吗?

Q

可以做虚拟化资源限基础设施不占用过多的机器资源吗?

Q

如何先部署小批量机器,确认无误之后,再做全集群部署?简而言之,灰度发布

Q

新到位10000机器,如何高效部署最新的基础设施?使集群中所有机器环境同质化

640?wx_fmt=png

管中窥豹,我们可以发现如果在私有云或者混合云场景中还是通过人肉运维的方式管理,那么管理效率将会十分低下,并且其中重复繁杂的操作,难以保证云环境的稳定性和安全性。急人之所急,需人之所需。百度云的工程师们便展开了一场头脑风暴......

 640?wx_fmt=png

原始太初

私有云中存在大规模的机器集群,集群中一片空虚混沌,渊面黑暗,仅有字节流在其间穿梭。为有效地管控体量庞大的集群,合理分配资源,降低运维成本,保障云上服务穿越狂风暴雨,工程师们意识到:“必须要有一个优秀系统来管控这混沌的集群世界!”

第一天

工程师们说:”这个系统要代表操作系统的意志占用资源少!对外部系统零依赖装机自带!要能自升级和自保活!“。当裸机启动之后,这个系统便以root身份运行,能保活自己,还能托管维护其余基础设施,后续迭代升级也能自动完成,整个流程高度自动化,不需要人工介入,极大地降低运维成本。

第二天

工程师们说:“这个系统必须运行稳定,性能卓越,支持跨平台(Linux、Windows、ARM)安装,要做到同时管理上万台服务器,一点儿都不慌”。

第三天

工程师们说:“这个系统不能像瑞士军刀,而应该重剑无锋、大巧不工,仅支持基础设施的维护管理,要能做到快速扩缩容!出现问题能立刻回滚,保障云环境的安全和稳定。”

第四天

工程师们说:“这个系统还要做到‘麻雀虽小,五脏俱全’!要为基础设施提供虚拟化容器隔离,应用部署,应用拓扑搭建和集群控制的功能。为应用的整个生命周期保驾护航,提供一条龙服务。”

总之就是四个字,“轻”、“稳”、“专”、“全”,对于这一切,工程师们很满意。

640?wx_fmt=png

于是百度云的工程师们结合百度历年来云计算的经验与技术沉淀,潜心打磨,匠心打造,最终强势推出新一代私有云云基础设施管理引擎HALO

640?wx_fmt=png

QHALO是什么?A

HALO全称Hybrid-cloud Application Layout and Operation system,顾名思义,它是私有云或混合云环境中的基础设施部署和集群控制系统,是混乱集群中的第一束光,让无序的集群世界变得有序可控,是云最底层的基石,肩负着裸机环境配置,root域权限控制和智能托管基础设施的重任。如果没有HALO,集群机器将处于失控的状态。它屏蔽了云服务底层繁杂的管控逻辑,提供简化接口给上层系统NoahEE调用,使上层系统更好更快地释放价值。

640?wx_fmt=png

Q这么优秀的系统到底是如何实现的呢?
A

一图胜千言,HALO的架构简图如下所示。

640?wx_fmt=png

HALO系统采用主从架构,分为Master端和Agent端。

  • Master端主要做复杂的任务调度和管控逻辑,并且所有功能都是模块化设计,用户可以根据自己的需求定制安装,包括虚拟化容器管理,应用包管理、部署、扩缩容、拓扑搭建和保活,集群控制等。

  • Agent端则以简单为原则,弱化繁琐功能,仅作为任务的执行器,其中的supervisor组件,结合父子双进程原理,做到自升级和自保活,把云运维人员的工作量降到最低。

整个系统的工作流程也十分简洁优雅!Agent通过定期心跳的方式,与Master进行通信,在心跳发包中发送本机状态信息,在心跳回包中获取Master期望的本机状态plan,并把期望plan与本地实际plan进行对比,针对有差异的地方做相应修改,使二者保持一致,从而保证集群中所有机器最终状态一致

总之一句话,一朝HALO在手,从此不用发愁。所有运维需求,直接调用接口

640?wx_fmt=png

结  语

为了防止大规模集群被破坏,为了保护集群世界的安全,贯彻高效和简单的运维理念,这就是我们新一代的基础设施管理引擎HALO

亲爱的读者如果你看到这,恭喜你在有意义的事上花费不止1分钟。来都来了,不妨看个硬广再走~

640?wx_fmt=png

在全行业拥抱上云的大背景下,如果您的企业在各类云场景中存在痛点或困境,欢迎到“阅读原文”了解和联系试用我们的智能运维产品,其中除了有重磅企业级运维平台NoahEE,更有我们在智能运维领域的实践和探索!

最后的最后,如果本文能让你快乐1秒,请评论,点赞,好看,收藏,转发,打赏!祝全家不脱发!

640?wx_fmt=png

阅读推荐

  运维实践


智能运维架构 | 架构集成 | 网络判障 | 监控数据采集 | 监控报警 | 网络异常 | 分布式监控系统 | 数据可视化 | 单机房故障自愈 | TSDB数据存储 | 异常检测 | 流量异常检测 | 复杂异常检测 | 报警风暴 | 实时计算 | 故障诊断 | 日志监控

  运维产品

百度云BCM企业级运维平台 | 运维知识库 | 通告平台 | 百度名字服务 | 业务部署 | 数据配送 | 集群控制系统 | 外网监控 | 内网监控 | 部署变更 | 配置管理

  精品推荐

AIOps全解析 | AIOps中的四大金刚 | 智能运维 | AIOps时代 | 运维演进

640?wx_fmt=png

640?wx_fmt=gif

↓↓ 点击"阅读原文" 【了解更多精彩内容】 

没有更多推荐了,返回首页