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

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

  •  1
     
  •   bmpidev2019 · 186 天前 · 7690 次点击
    这是一个创建于 186 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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