一个邪恶的想法
哪个男孩子可以抵御服务器集群的诱惑呢?
我有几台性能偏弱的机器,并且分散在不同的地方,我就想着如何利用起来这些废旧设备。
我学习了一下 docker swarm 和 kubernetes,并半成功的使用 docker swarm 部署了一些服务,但是遇到了一些无法处理的难题,部署 php 服务时不知道为什么,只能在 manager 节点才能访问数据库,即使两个服务都在同一个节点上工作,这个问题困扰我了很久,一度以为是 docker 集群的网络不太行。
kubernetes 由于太过复杂,我目前还处于学习的状态,想要部署一些服务用作练习,但是我的机器都太垃圾了,想要使用 kubernetes 有点太困难,我就需要寻求其他人的帮助(白嫖),最终,我遇到了我的好朋友 Github。
Github 是一位非常热心的好朋友,它的家底雄厚,愿意给我一些房间,让我运行一些小的任务,但是它也规定了,每次只能使用六个小时,很多情况下我只是用它来启动一些检查或者编译任务,时间也不会很长,但是它提供的房间实在是太好了,以至于我动了歪脑筋(
一个邪恶的计划在我的脑海中逐渐成型。
首先,作为计划的第一步,我需要提供一个 VPN 服务,将所有的机器都联合进一个网络。
第二步,我需要想办法将 Github action 纳入我的管理。
第三步,自动更换房间,利用集群的自动迁移达到服务永不停的目的。
我有一台香港阿里云的轻量应用服务器,它的性能非常的弱,甚至坚持不了一个 go build,但是跑 VPN 和 kubernetes 还是足够了。
我需要写一个小的服务,提供 VPN 配置池,每个 action 启动时都会请求配置文件,从而加入集群网络。
启动的 action 会先请求 VPN 配置,加入集群网络后,初始化 kubernetes。作为 node 的 action 在启动后会加入到集群中,接受集群的管理。如果某个 action 即将过期,那么 master 会提前启动新的 node,并等待 node 被销毁,触发集群的 service 自动转移。
最终,我就拥有了一套性能非常强劲的集群,可以在上面部署各种服务。
当然,我这个邪恶的想法,也一定会伤了我好朋友的心。