V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bmpidev2019
V2EX  ›  Kubernetes

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

  •  1
     
  •   bmpidev2019 · 2021-11-11 13:30:22 +08:00 · 10442 次点击
    这是一个创建于 1118 天前的主题,其中的信息可能已经有所发展或是发生改变。

    文章链接: 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 条回复    2021-11-29 21:21:37 +08:00
    wandehul
        1
    wandehul  
       2021-11-11 13:32:08 +08:00
    个人项目实在没有必要上 k8s
    wandehul
        2
    wandehul  
       2021-11-11 13:32:38 +08:00
    sorry ,我理解错了,我以为是一个简单的网站之类的, 既然是项目就需要考虑考虑了
    bmpidev2019
        3
    bmpidev2019  
    OP
       2021-11-11 13:37:58 +08:00
    @wandehul 还是可以试试的,个人项目如果多了用 k8s 还好管理,如果只是一个小工具,那倒没必要
    raynix
        4
    raynix  
       2021-11-11 14:38:38 +08:00   ❤️ 1
    欢迎上船!

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

    @chaleaoch 我一开始也这样想,不过实测一下发现笔记本待机时功耗在 10 ~ 15w
    Dart
        24
    Dart  
       2021-11-12 09:03:41 +08:00
    楼主厉害!
    shenlanAZ
        25
    shenlanAZ  
       2021-11-12 09:13:06 +08:00
    cloudflare 再去代理 vercel 感觉有点降速度。

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