在 GCP 上跑 Kubernetes 简直痴心妄想?

发生了什么?

博客最近挂了好几天,原因是某种神秘力量一直长期的占用和消耗着博客服务器的资源。导致服务器开机没几分钟就基本“卡死了”,甚至连 SSH 都连接不上只能进入后台重启。

开始我还以为是操作系统上中了什么恶意程序,例如挖矿程序之类的呢。反复重启也不是办法,于是今天我特意花了点时间把原因找出来了,问题出在 lxd 上。我想单纯安装 lxd 是不会导致这种情况的,肯定是我几天前尝试在服务器部署 Kubernetes,而 conjure-up 做了一些不可告人的步骤。早知如此我就不用这玩意了,步骤完全透明不说,卸载还不干净,最主要的是我还压根没装上,真是日了狗了。

反正它在 lxd 中挂载了许多的文件块设备,那些设备里边储存了什么以及 lxd 进程挂载了它们以后在干嘛我不清楚。总之卸载 lxd 的时候它们 umount 不掉,费了我一番功夫才手动将那些伪设备卸载掉,并且删除文件。
而且 lxd 进程死活杀不掉,反正连 apt 拿它们都没办法。我手动删除了一些东西,才勉强将它卸载掉了,但是残留了一些内容(而且我还找不出来)。

它究竟导致了什么现象呢?

在 Linux 中,文件块设备是由循环设备(/dev/loop)帮忙挂载和使用的。那些不正常的块设备导致 loop 进程占用了大量 CPU,长期趋近于 100%。只要 lxd 进程还在工作,那些块设备没被卸载掉,loop 进程就癫狂了,十几分钟就能导致我的服务器卡死。

具体原因是什么?

具体原因我还不知道,但是有可能是 Google 那边的问题。因为同样的操作系统版本同样的步骤,在我本机是未出现这种反常现象的。
对了,Google 还频繁提示我升级这个 VM 实例的性能。我他么的跑个博客而已!主要就是一个 Go 程序一个 Ruby 程序加上一个 Mysql 和 Nginx 四个玩意,你要我升级到多高!!?

结论是?

妈的千万别作死在 GCP 上安装 Kubernetes,就是装也别用 conjure-up 装。也许我这个是个特例,但是真的怕了,既麻烦又导致了坏结果。反正也只是个博客服务器,Kubernetes 不用也罢。