文章链接: https://www.bmpi.dev/dev/guide-to-k8s-cloud-native/
我选择了最便宜的 DigitalOcean 云平台,Master 控制平面基础版(对 SLA 没有高的要求就可以用)是免费的,Worker 节点是新加坡区域的 2 核 4GB 内存的机器($20/月),还有一个 $10/月 的 Load Balancer 费用。一个月总成本是 $30/月。
由于 Worker 节点需要安装一些 K8S 本身的服务如 kube-proxy 、core-dns 等共计 12 个 pod ,占用 Worker 节点一半的内存。这样供应用调用的资源还剩 2GB 。
1
wandehul 2021-11-11 13:32:08 +08:00
个人项目实在没有必要上 k8s
|
2
wandehul 2021-11-11 13:32:38 +08:00
sorry ,我理解错了,我以为是一个简单的网站之类的, 既然是项目就需要考虑考虑了
|
3
bmpidev2019 OP @wandehul 还是可以试试的,个人项目如果多了用 k8s 还好管理,如果只是一个小工具,那倒没必要
|
4
raynix 2021-11-11 14:38:38 +08:00 1
欢迎上船!
两年前开始我在家建了一个 k8s 集群,用了自己的和朋友的一共 5 个旧笔记本电脑,对于个人项目和实验学习非常有帮助 |
5
Nitroethane 2021-11-11 14:49:55 +08:00 via iPhone
借楼问图使用什么工具画的呀
|
6
Chad0000 2021-11-11 14:49:55 +08:00 via iPhone
小规模的可以使用 K3S ,我就在用,很爽。不过楼主的方案也不错,托管的更稳定
|
7
huangmingyou 2021-11-11 14:52:00 +08:00
minikube 也够用,也能跑 istio 这样的架构
|
8
littlewey 2021-11-11 14:52:02 +08:00
很赞,👍🏻,可以把自己的 node 添加到这个免费控制平面的集群么?
|
9
hemingway 2021-11-11 14:52:20 +08:00
@Nitroethane 目测 draw.io
|
10
bmpidev2019 OP |
11
bmpidev2019 OP @littlewey 没试过,可以看看 digitalocean 的文档
|
12
locoz 2021-11-11 15:10:49 +08:00
@Chad0000 #6 K3S 我家里用了几个月下来发现有些小问题很坑人,如果不是资源非常少,最好还是直接 K8S 了,省事省心免得找问题找半天还找不到解决方案。目前我的 K8S 集群跑了也快一个月了,之前会在 K3S 上出问题的应用现在啥事都没有。
|
13
locoz 2021-11-11 15:13:50 +08:00
@littlewey #8 你这个需求可以看看腾讯云的那个“边缘集群”,也是控制平面免费,就是有点小问题,差不多半年前反馈上去的到目前为止也没见修复,可能因为不是主要业务所以不太重视。
|
14
makelove 2021-11-11 15:40:00 +08:00
没用过 k8s ,问一下这个 worker 是指每一个工作节点都要被 k8s 占去一半内存吗?就是说如果我的 app 需要 10 台 4G VPS 支撑,然后用 k8s 就需要 20 台?
|
15
Nitroethane 2021-11-11 16:02:32 +08:00 via iPhone
@bmpidev2019 难道我用的是假的?那图里面那些图例是自己画的还是自带的啊?
|
16
arischow 2021-11-11 16:05:13 +08:00
@Nitroethane #14
社区有这些云资源的图标,可以一键加载到 web app |
17
defunct9 2021-11-11 16:05:17 +08:00
30$ 一个月,可怜我的老破小 vps ,才 10$一年
|
18
bmpidev2019 OP @Nitroethane 有些是 library 里加载的,k8s 图标都是自己画的
@makelove 应该是这样的,k8s 本身的资源要在每个 node 里安装,根据 digitalocean 官方配置提示,2g 的内存会占用 1g ,单个 node 内存越大性价比越高 |
19
Skmgo 2021-11-11 20:08:56 +08:00
@defunct9 说下什么 VPS ,最近上项目,测试 K8S 中,Vultr 也有了 K8S, 看起来比楼主的 OC 要贵。。。
|
22
Chad0000 2021-11-12 01:27:54 +08:00 via iPhone
@locoz #12 我那个 K3S 跑了快一年了,上面还有一个 elastic search 给电商网站用,比较吃内存和 CPU ,没有出现过问题。
|
23
raynix 2021-11-12 03:48:12 +08:00
|
24
Dart 2021-11-12 09:03:41 +08:00
楼主厉害!
|
25
shenlanAZ 2021-11-12 09:13:06 +08:00
cloudflare 再去代理 vercel 感觉有点降速度。
另外一条路 k3s 可以节省点资源,尤其是 CPU 配额不是很多的这种场景。 |
26
WildCat 2021-11-12 09:14:15 +08:00
k3s 挺不错的,我单机 k3s 把很多东西都服务化了感觉很舒服。
|
27
bmpidev2019 OP @shenlanAZ cloudflare 托管的 DNS 。K3S 需要自己配置 master ,digitalOcean 的 master 是免费的,只需要 worker 的资源就可以了啊
|
28
defunct9 2021-11-12 10:03:47 +08:00
@Skmgo justhost 老毛子的 vps ,话说自己的 k8s 和朋友公司的阿里云 ack ,感觉都重。systemted + go 是现在的最爱。
|
29
sy20030260 2021-11-12 10:43:29 +08:00 via Android
很棒的文章!最近刚好也在搞个人项目的 infra ,很受用。另外想问下楼主有尝试过用 AWS lambda 之类的来托管后端吗?目前打算 all in lambda
|
30
bmpidev2019 OP @sy20030260 https://www.bmpi.dev/dev/guide-to-serverless/ 这是我尝试的 serverless ,它们适合的产品形态和场景还是不一样的,我全都在用
|
31
bmpidev2019 OP @defunct9 k8s 的扩展性和可用性是单机没法给的啊,除非简单的服务,而且每次 provison 新的服务器也麻烦,还得做 IaC ,k8s 一条龙解决方案给你了
|
32
defunct9 2021-11-12 11:12:43 +08:00
@bmpidev2019 你说的很有道理。作为一名运维,我的做法是 k8s 自建从头搭起,那么操心的问题就更深一步,要解决掉 DigitalOcean 或者 aws 要处理的问题,我要用什么做 ELB ,要用什么搞 network overlay ,要怎么实现卷的持久化。一套东西弄下来,命没了半条。所以干脆 systemd+go
|
33
bmpidev2019 OP @defunct9 是啊,自己搞 master 很难达到那么高的 SLA ,所以我选择 managed k8s service ,而且还是免费的。
|
34
defunct9 2021-11-12 11:18:23 +08:00
@bmpidev2019 托管的也很鬼畜啊,阿里的 ACK 你是用不了他 k8s 的 ETCD 的,只能又跑了个单副本的 ETCD ,持久化到 OSS 去,避免用它的配置管理还得交钱。用到 logstore 和 logtail ,又得交钱。
|
35
bmpidev2019 OP @defunct9 阿里这么鬼畜啊,digitalocean 我没发现这些问题呢,aws/azure 之流都太贵了,有钱可以用
|
36
mogging 2021-11-12 12:39:34 +08:00 via Android
笔记本用 vagrant 加 kubeadm 搭建 k8s 集群,总感觉是玩玩而已,云上才是真集群不过成本真的高,现在域名都很贵了
|
37
jingslunt 2021-11-12 14:26:22 +08:00 1
可以做成 helm 迭代比较简单,再搞 istio 管理流量、灰度发布,再搞成 knative 做成 faas
|
38
raysmond 2021-11-12 15:46:34 +08:00
有点意思
|
39
Dogtler 2021-11-12 20:39:23 +08:00
有实操步骤之类的 记录么,好奇。要是可以分享出来 那就太感谢了。。
|
41
littlewey 2021-11-12 21:31:50 +08:00
@locoz 感谢,请问这个 “脚本增加节点” 就是您说的这个对不?
https://cloud.tencent.com/document/product/457/42890#.E8.84.9A.E6.9C.AC.E6.B7.BB.E5.8A.A0.E8.8A.82.E7.82.B9 |
43
locoz 2021-11-13 09:08:08 +08:00
@Chad0000 #22 是不是没有用 CRD 之类的高级功能,而是只单纯用来做容器部署?我这出问题的地方都是在一些利用 CRD 做的高级操作上,比如 kasten 的快照、kubevirt 的虚拟机镜像之类的。
|
45
xth12138 2021-11-14 01:01:59 +08:00
很棒的方案,已经开始抄 lz 作业了
|
46
liuxu 2021-11-16 10:35:53 +08:00
巧了,差不多,不过我的 ssl 是 cf 的,http 回源,而且不是 DO 的 k8s ,是自建 k3s
|
47
liuxu 2021-11-16 10:37:28 +08:00
我一年的成本$30 ,hosthatch 的 2H8G 配置,洛杉矶的服务器
|
48
lancelock 2021-11-16 11:04:54 +08:00
太贵了
|
52
liuxu 2021-11-16 23:12:28 +08:00 1
@timothyye 做活动的时候有特定购买链接,hosthatch 有 2 个比较香的节点,一个是瑞典,一个是香港,其他的能用,但是加价转卖比较难
|
56
liuxu 2021-11-29 21:19:52 +08:00 1
@timothyye hosthatch 出活动了,2 年 120 刀,3C16G80GNVME ,10T 流量,平均一个月 5 刀,https://cloud.hosthatch.com/sale/cherry-jam
|