bmpidev2019

分享我用 K8S 在个人项目上的应用

  •  1
     
  •   bmpidev2019 ·
    PRO
    · Nov 11, 2021 · 12125 views
    This topic created in 1824 days ago, the information mentioned may be changed or developed.

    文章链接: 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 。

    57 replies  •  2021-11-29 21:21:37 +08:00
    wandehul
    wandehul
    Nov 11, 2021
    1
    个人项目实在没有必要上 k8s
    wandehul
    wandehul
    Nov 11, 2021
    2
    sorry ,我理解错了,我以为是一个简单的网站之类的, 既然是项目就需要考虑考虑了
    bmpidev2019
    bmpidev2019
    OP
    PRO
    Nov 11, 2021
    3
    @wandehul 还是可以试试的,个人项目如果多了用 k8s 还好管理,如果只是一个小工具,那倒没必要
    raynix
    raynix
    Nov 11, 2021❤️1
    4
    欢迎上船!

    两年前开始我在家建了一个 k8s 集群,用了自己的和朋友的一共 5 个旧笔记本电脑,对于个人项目和实验学习非常有帮助
    Nitroethane
    Nitroethane
    Nov 11, 2021 via iPhone
    5
    借楼问图使用什么工具画的呀
    ktqFDx9m2Bvfq3y4
    ktqFDx9m2Bvfq3y4
    Nov 11, 2021 via iPhone
    6
    小规模的可以使用 K3S ,我就在用,很爽。不过楼主的方案也不错,托管的更稳定
    huangmingyou
    huangmingyou
    Nov 11, 2021
    7
    minikube 也够用,也能跑 istio 这样的架构
    littlewey
    littlewey
    Nov 11, 2021
    8
    很赞,👍🏻,可以把自己的 node 添加到这个免费控制平面的集群么?
    hemingway
    hemingway
    Nov 11, 2021
    9
    bmpidev2019
    bmpidev2019
    OP
    PRO
    Nov 11, 2021
    11
    @littlewey 没试过,可以看看 digitalocean 的文档
    locoz
    locoz
    Nov 11, 2021
    12
    @Chad0000 #6 K3S 我家里用了几个月下来发现有些小问题很坑人,如果不是资源非常少,最好还是直接 K8S 了,省事省心免得找问题找半天还找不到解决方案。目前我的 K8S 集群跑了也快一个月了,之前会在 K3S 上出问题的应用现在啥事都没有。
    locoz
    locoz
    Nov 11, 2021
    13
    @littlewey #8 你这个需求可以看看腾讯云的那个“边缘集群”,也是控制平面免费,就是有点小问题,差不多半年前反馈上去的到目前为止也没见修复,可能因为不是主要业务所以不太重视。
    makelove
    makelove
    Nov 11, 2021
    14
    没用过 k8s ,问一下这个 worker 是指每一个工作节点都要被 k8s 占去一半内存吗?就是说如果我的 app 需要 10 台 4G VPS 支撑,然后用 k8s 就需要 20 台?
    Nitroethane
    Nitroethane
    Nov 11, 2021 via iPhone
    15
    @bmpidev2019 难道我用的是假的?那图里面那些图例是自己画的还是自带的啊?
    arischow
    arischow
    Nov 11, 2021
    16
    @Nitroethane #14
    社区有这些云资源的图标,可以一键加载到 web app
    defunct9
    defunct9
    Nov 11, 2021
    17
    30$ 一个月,可怜我的老破小 vps ,才 10$一年
    bmpidev2019
    bmpidev2019
    OP
    PRO
    Nov 11, 2021 via iPhone❤️1
    18
    @Nitroethane 有些是 library 里加载的,k8s 图标都是自己画的
    @makelove 应该是这样的,k8s 本身的资源要在每个 node 里安装,根据 digitalocean 官方配置提示,2g 的内存会占用 1g ,单个 node 内存越大性价比越高
    Skmgo
    Skmgo
    Nov 11, 2021
    19
    @defunct9 说下什么 VPS ,最近上项目,测试 K8S 中,Vultr 也有了 K8S, 看起来比楼主的 OC 要贵。。。
    Skmgo
    Skmgo
    Nov 11, 2021
    20
    @raynix 看了你的站点,真是佩服你,薅羊毛技术太牛。。。 能不能加下您的微信,请教下 K8S 之类的问题?
    chaleaoch
    chaleaoch
    Nov 11, 2021
    21
    @raynix 挺费电的吧...
    ktqFDx9m2Bvfq3y4
    ktqFDx9m2Bvfq3y4
    Nov 12, 2021 via iPhone
    22
    @locoz #12 我那个 K3S 跑了快一年了,上面还有一个 elastic search 给电商网站用,比较吃内存和 CPU ,没有出现过问题。
    raynix
    raynix
    Nov 12, 2021
    23
    @Skmgo k8s 问题发在这里更好吧,因为不仅我一个人可以解答。另一方面,解决方案也可以分享给更多人。

    @chaleaoch 我一开始也这样想,不过实测一下发现笔记本待机时功耗在 10 ~ 15w
    Dart
    Dart
    Nov 12, 2021
    24
    楼主厉害!
    WayneCmd
    WayneCmd
    Nov 12, 2021
    25
    cloudflare 再去代理 vercel 感觉有点降速度。

    另外一条路 k3s 可以节省点资源,尤其是 CPU 配额不是很多的这种场景。
    WildCat
    WildCat
    Nov 12, 2021
    26
    k3s 挺不错的,我单机 k3s 把很多东西都服务化了感觉很舒服。
    bmpidev2019
    bmpidev2019
    OP
    PRO
    Nov 12, 2021 via iPhone
    27
    @shenlanAZ cloudflare 托管的 DNS 。K3S 需要自己配置 master ,digitalOcean 的 master 是免费的,只需要 worker 的资源就可以了啊
    defunct9
    defunct9
    Nov 12, 2021
    28
    @Skmgo justhost 老毛子的 vps ,话说自己的 k8s 和朋友公司的阿里云 ack ,感觉都重。systemted + go 是现在的最爱。
    sy20030260
    sy20030260
    Nov 12, 2021 via Android
    29
    很棒的文章!最近刚好也在搞个人项目的 infra ,很受用。另外想问下楼主有尝试过用 AWS lambda 之类的来托管后端吗?目前打算 all in lambda
    bmpidev2019
    bmpidev2019
    OP
    PRO
    Nov 12, 2021 via iPhone❤️2
    30
    @sy20030260 https://www.bmpi.dev/dev/guide-to-serverless/ 这是我尝试的 serverless ,它们适合的产品形态和场景还是不一样的,我全都在用
    bmpidev2019
    bmpidev2019
    OP
    PRO
    Nov 12, 2021 via iPhone
    31
    @defunct9 k8s 的扩展性和可用性是单机没法给的啊,除非简单的服务,而且每次 provison 新的服务器也麻烦,还得做 IaC ,k8s 一条龙解决方案给你了
    defunct9
    defunct9
    Nov 12, 2021
    32
    @bmpidev2019 你说的很有道理。作为一名运维,我的做法是 k8s 自建从头搭起,那么操心的问题就更深一步,要解决掉 DigitalOcean 或者 aws 要处理的问题,我要用什么做 ELB ,要用什么搞 network overlay ,要怎么实现卷的持久化。一套东西弄下来,命没了半条。所以干脆 systemd+go
    bmpidev2019
    bmpidev2019
    OP
    PRO
    Nov 12, 2021 via iPhone
    33
    @defunct9 是啊,自己搞 master 很难达到那么高的 SLA ,所以我选择 managed k8s service ,而且还是免费的。
    defunct9
    defunct9
    Nov 12, 2021
    34
    @bmpidev2019 托管的也很鬼畜啊,阿里的 ACK 你是用不了他 k8s 的 ETCD 的,只能又跑了个单副本的 ETCD ,持久化到 OSS 去,避免用它的配置管理还得交钱。用到 logstore 和 logtail ,又得交钱。
    bmpidev2019
    bmpidev2019
    OP
    PRO
    Nov 12, 2021 via iPhone
    35
    @defunct9 阿里这么鬼畜啊,digitalocean 我没发现这些问题呢,aws/azure 之流都太贵了,有钱可以用
    mogging
    mogging
    Nov 12, 2021 via Android
    36
    笔记本用 vagrant 加 kubeadm 搭建 k8s 集群,总感觉是玩玩而已,云上才是真集群不过成本真的高,现在域名都很贵了
    jingslunt
    jingslunt
    Nov 12, 2021❤️1
    37
    可以做成 helm 迭代比较简单,再搞 istio 管理流量、灰度发布,再搞成 knative 做成 faas
    raysmond
    raysmond
    Nov 12, 2021
    38
    有点意思
    Dogtler
    Dogtler
    Nov 12, 2021
    39
    有实操步骤之类的 记录么,好奇。要是可以分享出来 那就太感谢了。。
    Dogtler
    Dogtler
    Nov 12, 2021
    40
    @Dogtler 不好意思 ,刚刚又看了一遍 有文章链接的。
    littlewey
    littlewey
    Nov 12, 2021
    41
    @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
    locoz
    locoz
    Nov 13, 2021❤️1
    42
    @littlewey #41 对的,是这个
    locoz
    locoz
    Nov 13, 2021
    43
    @Chad0000 #22 是不是没有用 CRD 之类的高级功能,而是只单纯用来做容器部署?我这出问题的地方都是在一些利用 CRD 做的高级操作上,比如 kasten 的快照、kubevirt 的虚拟机镜像之类的。
    ktqFDx9m2Bvfq3y4
    ktqFDx9m2Bvfq3y4
    Nov 13, 2021 via iPhone
    44
    @locoz #43 对,没有使用什么高级功能。我的目的就是尽量保持容器化,方便部署和以后上云。
    xth12138
    xth12138
    Nov 14, 2021
    45
    很棒的方案,已经开始抄 lz 作业了
    liuxu
    liuxu
    Nov 16, 2021
    46
    巧了,差不多,不过我的 ssl 是 cf 的,http 回源,而且不是 DO 的 k8s ,是自建 k3s
    liuxu
    liuxu
    Nov 16, 2021
    47
    我一年的成本$30 ,hosthatch 的 2H8G 配置,洛杉矶的服务器
    lancelock
    lancelock
    Nov 16, 2021
    48
    太贵了
    timothyye
    timothyye
    Nov 16, 2021 via Android
    49
    @liuxu 现在 hosthatch 还有这种配置吗
    liuxu
    liuxu
    Nov 16, 2021
    50
    @timothyye 看看黑五吧,应该有
    timothyye
    timothyye
    Nov 16, 2021
    51
    @liuxu Hosthatch ,我看网上的推广文章都在推他们的新加坡机房,不过官网上看不到新加坡的机房
    liuxu
    liuxu
    Nov 16, 2021❤️1
    52
    @timothyye 做活动的时候有特定购买链接,hosthatch 有 2 个比较香的节点,一个是瑞典,一个是香港,其他的能用,但是加价转卖比较难
    timothyye
    timothyye
    Nov 17, 2021
    53
    @liuxu 谢谢老司机推荐
    Skmgo
    Skmgo
    Nov 21, 2021
    54
    @liuxu hosthatch 的 1 个节点还是 3 个 node 30/年? 方便留个联系方式请教问题吗?
    liuxu
    liuxu
    Nov 21, 2021
    55
    @Skmgo 1 个,直接问
    liuxu
    liuxu
    Nov 29, 2021❤️1
    56
    @timothyye hosthatch 出活动了,2 年 120 刀,3C16G80GNVME ,10T 流量,平均一个月 5 刀,https://cloud.hosthatch.com/sale/cherry-jam
    timothyye
    timothyye
    Nov 29, 2021 via Android
    57
    @liuxu 感谢感谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1589 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 00:04 · PVG 08:04 · LAX 16:04 · JFK 19:04
    ♥ Do have faith in what you're doing.