使用k3s减少k8s成本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用k3s减少k8s成本相关的知识,希望对你有一定的参考价值。
参考技术A 爱飞狗后台的数据爬虫以及数据服务器资源都部署在k8s上,使用rancher搭建。在不影响太多性能的情况下尽量选择最低配置的机器。对于内存不足的情况适当的使用交换文件代替(swap)。整个集群大致结构如下:一个月的开销大概在60美元左右。分析上面的集群可以发现,rancher和etcd两个节点是浪费了钱,每个月有20美元的开销。DigitalOcean提供了k8s的托管集群,可以将这部分开销节省。但托管集群的droplet无法定制化,无法使用交换分区和bbr,造成性能瓶颈。另外托管的droplet的最低要求也是2G的内存,造成不必要的开支。
k8s有一个非常不好的地方就是最低的机器要求比较高,1G内存的worker node已经完全低于推荐配置,如果在上面部署worker node直接的内存占用就要300M左右,剩余的内存空间并不多,必须要使用交换分区。etcd节点之前也用过1G的内存,但经常会由于大量使用交换分区导致性能问题,最后集群崩溃,所以无论如何也需要使用2G的内存才行。
最近rancher公司推出了k3s,其主打就是简易的部署和极地的机器消耗。这点对于节约成本来讲非常的重要。我试了下k3s的server大概只占用200M左右的内存,agent只占用几十兆内存,非常的节约。k3s也可以完全使用kubectl来进行管理,配置文件和k8s保持一致,非常方便。
我将etcd节点和rancher主机删除,替换成了1G 1CPU的机器(5美元),节约了15美元,然后将aiflygo的服务器进行降配置到2G 2CPU (15美元),总共节约20美元。得益于更多的可用内存,目前爬虫的性能比以前更好,整体集群的性能也非常的高。
至于HA,既然都穷到了用k3s来减少开销,对于我这样的小型的集群和不是关键系统来讲都不是需要考虑的了。
以上是关于使用k3s减少k8s成本的主要内容,如果未能解决你的问题,请参考以下文章
最全实践 - Linux 安装 K8s (Local K3s、Minikube、K8s Cluster 等)