我的开放基础设施

主页:https://info.xloypaypa.pub/

随着我的财政系统战养战的策略持续推进,目前我已经积累了一部分相对传统,但是也许还算勉强能用的一套项目基础设施。于是,我在测试环境中,分配大约十分之一的各类资源(包括cpu、内存、硬盘、带宽等),用于构建并半开放一套和我自己用的基础设施基本同构的基础设施。

能力有限,不足很多,轻喷。(尤其是主页,flutter做的,水平有限不说,财政系统给的工期也短,就将就用用。)


目的

简而言之,我非常清楚的意识到我的能力非常的有限,如果说我有什么东西能够让我自己稍微有点小骄傲,并且可以以此来赞美上帝的话,那么我可能就只有做这么一个开放的基础设施了。

但是我必须声明,我并非基督徒,甚至尚未进行认罪祷告。我仍然在努力认识上帝并且努力让上帝在我的生命中掌权。

毕竟资源有限,加上部分资源其实还是比较敏感的。比如网络资源,一方面我目前所使用的网络是0.8RMB/GB;另外一方面我几乎算是有那么点自建cdn的意思了,所以背后的风险懂的都懂。因此整个设施的性能一定是严格限制,且不可能共享给所有人。

因此此设施只开放给我主观认为可能会需要帮助的人(当然,由于我愚蠢的判断,基本上99%的人事实上都不需要)。基于这个理由,再往前推论一步就可以得到一个显然的结论,这个系统是不开放注册的。


使用介绍

简而言之,基本上涵盖了项目基础设施的方方面面,虽然实现略显老派,但能用。

登录:当我告诉你的账号密码之后,这个账号密码就可以登录主页上的所有内容了。显然,一个LDAP服务还是有的,打通个账号高低还是能做的。

网络:这个功能是需要登录之才能看到的。我非常有限的开放了我的网络,投入的总带宽只有1m。主要的目的只是在你没有一个自己的网络的时候,帮助你构建自己的网络。

dns:这个只是一个我自己写的dns工具,直接去docker hub就能拉。不算特别科学,但是能用。主作用就是可以根据配置的脚本来按照一定的逻辑混合两个上游dns的结果。

代码管理:我使用了gogs。gogs虽然功能不强,但是各方面开销都小很多。虽然我知道github已经允许私库了,但这个服务仍然继续提供。

ci:使用了drone。已经和gogs集成好了(应该)。我是不太会这个的,一方面Jenkins的开销太大,另一方面是安全性的考虑。所以最后采用了drone。可能我如果有下一个开源的东西,我会考虑使用这个踩踩坑的。

Nexus和docker registry:简而言之,打好了包或者打好了image。如果不想往公网放的话,这个会是个选择。

集群管理:rancher真的好评。rancher的各种优劣比较就不说了,但这至少是一个足够简单快捷的方式能让你把几台机器凑出一个k8s集群的方法。


最后呢,这个东西只是学习使用。要知道这一套是在我的测试环境里搭建的,而测试环境是靠3台J1900/8G内存的小机器凑起来的。还是那个话,能力有限,能做的也有限。