> ## Content Index
> Fetch the complete content index at: https://yinguobing.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 从零开始搭建Kubernetes - 华容道
- URL: https://yinguobing.com/blog/setup-kubernetes-from-zero-the-klotski/
- Published: 2022-11-12T15:01:11.000Z
- Updated: 2026-09-08T02:07:42.000Z
- Description: 100多台虚拟机，玩出了华容道的感觉！
- Author: 尹国冰
- Tags: Kubernetes, 新手入门

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

[从零开始搭建Kubernetes - 基地明明有数十台服务器，大家却总抱怨没有机器可用。![](https://yinguobing.com/blog/content/images/size/w256h256/2019/12/Color-1.png)尹国冰的博客尹国冰![](https://yinguobing.com/blog/content/images/2022/10/960x0.jpg)](https://yinguobing.com/blog/setup-kubernetes-from-zero-the-base/)

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

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

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

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

![](https://yinguobing.com/blog/content/images/2022/11/vcsa-01.jpg)

VCSA主页

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

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

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

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

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