正文
顺着这个思路,我也纸上推演过这样的配置:
虽然路由一样要 hack,但 webassembly 可以跑在任何系统,所以这个方案胜在可以告别专门为 container 而构筑的 VM。此外,没了 VM 的羁绊,innernet 构建的网络还可以被其它应用使用,比如,我本地起了个服务,我的小伙伴就可以通过我的 innernet 域名,访问到这个服务,很适合团队协作。不过,在稍微用 rust 尝试了一下目前 webassembly/WASI 的能力后,我就暂时将这个想法压下来。因为 WASI 连网络访问的 API 都还没稳定下来,目前可用的都是一些实验性的项目。
好了,我可以负责任地告诉你,这些废话和我那晚做的梦没关系。我究竟做了个什么样的梦呢?Kubernetes 又在里面扮演什么角色呢?
且听下回分解。
如果你再看我上文中那条朋友圈,就会发现,困扰我的其实不光是如何构建一个省钱的 staging 环境这么简单,更大的问题是:9102 年都已经过去两年了,苹果都发 M1 Pro/Max 了,
我们的工作的方式还要这么一成不变地,什么事情都放在云上做么?合着我那性能强劲的 16核,64G 内存的本子,除了稍微编译点代码什么的,就是为了上个网?就没人想过把公司几百上千人的设备,整成一个或者多个集群,跑跑公司的内部系统什么的?
这个问题一直萦绕在我的脑海中,就像诸葛亮五月渡泸,在南中遇到的瘴气一样,久久无法消散。
所以,在显意识里,我没事就在思考怎么样能更好地把员工的设备连接起来,纳入一个集群;而在潜意识里,另外一个线程在偷偷地研究:这些一个个协同起来很费劲,或者没有协同的内部系统们,怎么能够更好地 orchestrate 起来呢?
没错,我拽了一个词 orchestrate,为的就是激活你们的神经元。过去四五年,但凡在程序员的圈子里听到 orchestrate,那跟管弦乐队没有半毛钱关系,说的是:kubernetes。
你看,我的显意识和潜意识讨论的都是同一个东西:kubernetes。
如果 kubernetes 指挥的不仅有线上的业务,还有公司的内部系统,那该多好?
所以,在那个长长的梦里,我把自己放飞成一名舵手,就是大海航行靠舵手的那个舵手。
梦的起源是:一个新的船员入职后,该如何自动化整个流程?
你看看现在:对于支持 SSO 的系统,统一创建 SSO 账号;对于不支持 SSO 的系统,创建各自的账号,然后设置各种环境,打通各种内部系统以及权限。虽然 IT 有脚本能部分自动化这个工作,但脚本的运作是不牢靠的,经常出错,也经常会出现新员工入职好几周了,还有系统的权限是错乱的。这也怪不得 IT,那么多系统,总不能每个人来处理完成之后都要核对一下吧;也怪不得新员工,我也不知道这个报销系统我不能提交啊,总不能新来第一天就提个报销测试一下吧。