slan's blog

有梦就去追,累了就休息

将个人数据中心搬到了do

date: 2019-03-10 00:02:27

之前为了跑自己的博客,代码库,小项目等,自己搭建了一个k8s容器环境.因为人比较穷,所有没有采取大厂的托管集群方案,自己用最便宜的3台2核4G vps机器,手工搭了个环境。介绍下方案选型的心得。方案两个阶段,之前用3台vps自己搭了一个,最近看到do出了托管k8s,于是今天换了下方案。

vps厂商选择

知道比较靠谱的几家有digitalocean,vultr,linode。

厂商 优点 缺点 价格/月
digitalocean 之前没有托管k8s,现在有了,存储多20GB 访问速度,性能比不上vlutr 3x20美元
vultr 性能好,访问速度好 存储少20GB 3x20美元
linode 没试过 控制台不友好

综合对比,之前选了vultr,跑了一年多,挂过几次,总体还算稳定,但是digitalocean后面出了托管k8s,支持单节点容器,有负载均衡,有对象存储,而且价格感人,3台机器一年720美元,还是一笔非常大的开支的,所以就在今天迁移到了digitalocean,因为自己折腾的相对安全性还是不够高。如果服务器挂了就永久丢数据了,do现在支持挂永久存储,简单而且可靠性高。目前do七七八八大概25美元一个月,比之前60美元少多了。

如何自己从vps上搭建k8s,我之前参考的这里: https://github.com/hobby-kube/guide 穷人的k8s教程

自建个人数据中心的基础服务

个人的需求,博客,代码库,有时候跑一些乱七八糟的服务等,从开发到部署线上的一整套环境都有需求。

git代码库

git一开始用的比较熟悉和强大的gitlab,简直要把自己坑死了,耗费资源较大,4核8G都跑得不是很顺畅,如果用这个巨无霸,那么我的小破群就要彻底歇菜了。

后面去找了下,发现gogs好像不错,用go写的自托管git服务,功能也比较强大,后面翻了下,发现好像不怎么更新了,了解了下原委,原来gogs主要是一个人开发,后面社区实在受不了了,就分叉了一个项目gitea,gitea相对迭代速度,功能完善程度更高,于是就使用gitea作为代码服务。

gitea越用越顺,性能占用极其的低,基本功能都有(不,是要用的功能都有,不要用的也有一堆),强烈推荐自己搭建git服务的同学。

ci工具

ci对gitea支持比较好的就是drone了,虽然之前连重试功能都没有,但是短小精悍深的我心,现在有重试功能了,安装比较折腾,花了我一天一夜的时间,主要是文档不清晰,互相矛盾,要各种猜测尝试。对k8s还要比较熟,理解drone是怎么在里面跑runner的,这里就不展开了,有疑问可以email我。

对象存储

对象存储因为是穷人嘛,最好的办法是直接对接s3,但是服务器上有空闲不用挺肉疼,所以装了minio,do有对象存储storage,5美元250G存储,1T流量,支持cdn分发,还是不错的。

网站证书自动签发

k8s穷人教程里有,就是nginx ingress controller,安装certmanager

docker仓库

在容器里自己弄一个docker仓库,不用推到其他地方,速度非常快,docker仓库很简单,直接用helm安装就行了。

现状

经过今天一天的折腾,从vultr迁移到了do,因为do访问慢的原因,博客可能稍微有点慢,不过都是静态页,也没啥人访问,就不在乎了。

后面再折腾下多节点访问,提升国内访问速度,慢慢玩啦。