从零开始搭建Kubernetes - 华容道

100多台虚拟机,玩出了华容道的感觉!

从零开始搭建Kubernetes - 华容道

这是系列文章的第二篇。前情提要可以参考该系列的第一篇文章:

从零开始搭建Kubernetes - 基地
明明有数十台服务器,大家却总抱怨没有机器可用。

在经过一番梳理之后,全部物理服务器的现状基本掌握清楚。需要解决的问题也暴露了出来。主要问题包括:

  1. 一些与部门运营业务相关的虚拟机运行在老旧的机器上。从安全性和稳定性的角度考虑,需要将他们迁移到更新、更稳定一点的物理机上。
  2. 虚拟机的分配不合理。高频使用的虚拟机挤在6核心的物理机上。另一边24核心的物理机被僵尸虚拟机占据睡大觉。
  3. 物理机的存放位置、IP分配、布线随意性很大。机柜后蜘蛛网一样的线缆让人血压飙升。

要解决这些问题,就需要先统计虚拟机的现状,然后按照业务需求重新排布物理机上的虚拟机。等虚拟机排布妥当后,再集中停机重新排布物理机的位置,并重新布线。

按照梳理后的结果,部署了虚拟机的物理机个数一共是22台。即便每个物理机部署4台虚拟机,其总数也近百台。这种情况下,需要使用虚拟机管理系统去完成这部分工作。对于ESXi来说,自家的VMware vCenter Server Appliance正是该任务的不二之选。它可以将全部物理机综合起来,并实现物理机资源与虚拟机的统计。

VCSA主页

待全部物理机纳入管理后,统计发现的虚拟机数量达到232台。细想也不奇怪,毕竟是这么多年累积下来的虚拟机。不过,要想把这些虚拟机梳理清楚可就没那么容易了。由于缺乏有效的记录,好些虚拟机用途不明,所属人不明。这些无主的虚拟机占用了需要分配给关键业务的物理机,却又不能删除——无人可以确认它们的身份,反而成了它们的免死金牌。

这种情况下,不得不放弃一开始的想法:明确每一个虚拟机的用途并分配到合适的位置。从实际出发,不得不将目标变更为:保证关键业务虚拟机以及当前正在使用中的虚拟机正常运行。这样,就可以只关注正在运行中的虚拟机,而它们只有不到40个。于是,逐个明确运行中虚拟机的用途与使用者,然后按照业务性质为其重新分配物理机。我这里使用的分配原则如下:

  1. 涉及部门运行业务的虚拟机统一管理,保证运行在较新的物理机上,确保安全稳定。
  2. 将一些较旧的,但是配置较好的机器,按实际需求分配给部门内小组自行管理使用。
  3. 明确IP地址的分配规则,物理机集中使用一段、每个小组虚拟机使用不同段,避免冲突。

由于之前的虚拟机分配较为随意,所以这时候需要用到VCSA的虚拟机迁移功能。由于物理机被抽象,虚拟机完全可以无感更换底层运行的物理机,这也是虚拟化的一大好处。趁着周六日休息时间,将每个虚拟机按照规划迁移到目标机器上。这个过程非常简单,只是有些耗时。同时,对于那些用途不明的机器,则统一迁移到其它较少使用的物理机上。虚拟机有大有小,这个过程经常要考虑迁移顺序的问题,还真有点像游戏华容道。

待虚拟机迁移完成后,挑一个下午的时间,将物理机全部停机,拔掉全部线缆,然后按照型号规格重新集中摆放。最后再重新连接线缆,同时完成理线。经过三个小时,一切终于井井有条了。

转发至

微信扫一扫分享

WeChat QR Code

有AI相关的想法,但不知道怎么落地?

我是国冰,独立AI开发者。十多年技术一线——半导体显示、智慧城市到自动驾驶;现在一个人+AI,接AI落地项目,从梳理需求到系统落地,陪你走通。

微信聊聊 微信二维码 看我能做什么