You don't need k8s. - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lnanddj
V2EX    Kubernetes

You don't need k8s.

  •  5
     
  •   lnanddj 2019-12-24 10:07:33 +08:00 14074 次点击
    这是一个创建于 2119 天前的主题,其中的信息可能已经有所发展或是发生改变。

    个人项目,k8s 简直是杀鸡焉用牛刀。

    Docker swarm + traefik + let's encrypt 足够啦

    如果喜欢 UI,[Swarmit] ( https://swarmpit.io/) 挺不错的

    具体部署配置参见: https://github.com/lndj/traefik-with-swarm

    第 1 条附言    2019-12-24 10:55:00 +08:00
    你们太狠了,没有一个 star 哈哈哈哈
    第 2 条附言    2019-12-24 12:57:14 +08:00
    1. 是的是的,几个东西只有 swarm 是容器编排;
    2. 是的是的,他是个在众多编排工具竞争中失败的产品;
    3. 是的是的,单论[轻量级],docker-compose 是更轻量的(万一,万一...这台机器挂了呢,万一万一...用户多了一点要加个机器呢)
    4. 是的是的,感谢评论的某位同学,k3s 最近更新挺大的,大家也可以去踩踩坑试试 https://k3s.io/
    5. 是的是的,nginx 也有 auto loadbalance 和 let's encrypt 的方案
    55 条回复    2020-01-05 22:34:58 +08:00
    WildCat
        1
    WildCat  
       2019-12-24 10:11:06 +08:00
    UI 的话,Portainer 也不错。

    k8s 确实对于个人来说太重了。
    lnanddj
        2
    lnanddj  
    OP
       2019-12-24 10:12:25 +08:00
    @WildCat hahah Swarmit 颜值还是可以的。。。 对 configs secrets 这些特性的支持也 ok
    lhx2008
        3
    lhx2008  
       2019-12-24 10:14:09 +08:00
    Docker swarm 也要装呀,Docker Stack 都不用装,直接就 docker xxx
    wangxiaoaer
        4
    wangxiaoaer  
       2019-12-24 10:14:24 +08:00
    docker swarm + nginx + Portainer
    lnanddj
        5
    lnanddj  
    OP
       2019-12-24 10:16:36 +08:00
    @lhx2008 稍微复杂一点的项目,多个服务交叉,外加 job 等项目 docker xxx 就太难维护了。
    sonxzjw
        6
    sonxzjw  
       2019-12-24 10:17:32 +08:00
    想法不谋而合,k8s 连想找真实模练手的资源都没有
    赞 & mark
    askfilm
        7
    askfilm  
       2019-12-24 10:17:55 +08:00
    个人项目 , I also don't need Docker.
    lnanddj
        8
    lnanddj  
    OP
       2019-12-24 10:18:19 +08:00
    @wangxiaoaer 小项目不用考虑太多性能,( ps. traefik 现在看官方的 benchmark 数据很 ok ), 又要 https,又要 根据容器的生命周期自动 load balance , nginx 的方案不是方便,也不优雅
    lnanddj
        9
    lnanddj  
    OP
       2019-12-24 10:19:09 +08:00
    @askfilm 哈哈。 可以尝试尝试,挺不错的
    optional
        10
    optional  
       2019-12-24 10:20:05 +08:00
    单机,,还不如 docker-compose up -d
    wangxiaoaer
        11
    wangxiaoaer  
       2019-12-24 10:20:50 +08:00
    @lnanddj #8 我们的 nginx 也是放到 swarm 中的,只需要映射一个配置文件,up-stream 设置为其他 service 名称,相当于用了 docker dns 层面的负载均衡,我觉得很方便。
    lhx2008
        12
    lhx2008  
       2019-12-24 10:21:51 +08:00
    @lnanddj #5 docker stack xxx 现在好像已经合并掉了,好吧 https://docs.docker.com/get-started/part4/
    sagaxu
        13
    sagaxu  
       2019-12-24 10:24:21 +08:00 via Android
    个人项目要啥 docker,一个 exe 或者一个 jar 搞定
    WildCat
        14
    WildCat  
       2019-12-24 10:31:21 +08:00
    配合 swarmpit / Portainer 还有个好处就是持续部署。
    这是其他手动方案无法比较的。
    lnanddj
        15
    lnanddj  
    OP
       2019-12-24 10:52:48 +08:00
    @optional 要保留多个机器的扩展性
    lnanddj
        16
    lnanddj  
    OP
       2019-12-24 10:53:52 +08:00
    @WildCat 确实如此
    Navee
        17
    Navee  
       2019-12-24 10:56:11 +08:00
    个人玩玩还行,docker 官方 stack 功能“实验性功能”标签还没移除
    lnanddj
        18
    lnanddj  
    OP
       2019-12-24 10:56:31 +08:00
    @lhx2008 哦哦 刚才没看明白你说的。是的,现在的 swarm mode 是内置的 feature
    lnanddj
        19
    lnanddj  
    OP
       2019-12-24 10:57:43 +08:00
    @Navee swarm 不是哟。 所以在编排领域输给了 k8s
    lnanddj
        20
    lnanddj  
    OP
       2019-12-24 10:57:58 +08:00
    @lnanddj [虽然]
    optional
        21
    optional  
       2019-12-24 10:59:46 +08:00
    @lnanddj docker-compose.yml 改成 deployment.yml 又不难。。
    JJstyle
        22
    JJstyle  
       2019-12-24 11:01:39 +08:00
    单机我用 docker-compose,线上已经在用 k8s 了,蟹蟹。
    lnanddj
        23
    lnanddj  
    OP
       2019-12-24 11:03:22 +08:00
    @optional emmmmm... 你可以看下 https://github.com/lndj/traefik-with-swarm

    我说的是一个相对整体一点的方案

    还是基于 docker swarm ( https://docs.docker.com/get-started/part4/)
    traefik 负责 proxy / https / auto loadbalance ...
    lnanddj
        24
    lnanddj  
    OP
       2019-12-24 11:04:48 +08:00
    @JJstyle 嗯嗯,每个人的需要不一样,对于某些 [个人项目] ,单独的一台机器是不行的,还是需要一个轻量级的 [集群方案]
    lnanddj
        25
    lnanddj  
    OP
       2019-12-24 11:07:33 +08:00
    optional
        26
    optional  
       2019-12-24 11:27:17 +08:00
    @lnanddj docker swam 我在生产环境用了 2 年,后来还是换了 k8s,,其实坑蛮多的
    optional
        27
    optional  
       2019-12-24 11:30:02 +08:00
    @lnanddj 至于 proxy, 单机的 jwilder/nginx-proxy,k8s 有 ingress 和 cert-manager
    liuzhaowei55
        28
    liuzhaowei55  
       2019-12-24 11:34:17 +08:00
    我的部署思路和楼主的差不多
    技术栈:Docker swarm,traefik,portainer,cloudflare,GitHub,GitHub Actions,Aliyun 镜像服务。
    有想交流的可以来这里: https://www.yuque.com/where/dib969/bg1cff
    lnanddj
        29
    lnanddj  
    OP
       2019-12-24 11:35:05 +08:00
    @optional 我也遇到一些。。。但还好

    jwilder/nginx-proxy 这个用过。。。坑 。。还是有一些的。本次讨论的是 k8s 对个人项目 太重。。想想 一个弱鸡机器,跑 master api server / etcd / dns / ci / ingress / minio .... 再自己是个 worker ... 机器太难了
    lnanddj
        30
    lnanddj  
    OP
       2019-12-24 11:38:17 +08:00
    @liuzhaowei55 认真 仔细啊
    liuzhaowei55
        31
    liuzhaowei55  
       2019-12-24 11:41:48 +08:00
    @liuzhaowei55 再补充一个:Ansible
    IsaacYoung
        32
    IsaacYoung  
       2019-12-24 11:44:41 +08:00
    compose 够了
    SuYia
        33
    SuYia  
       2019-12-24 11:44:47 +08:00
    我以为你要安利 k3s
    lnanddj
        34
    lnanddj  
    OP
       2019-12-24 11:49:44 +08:00
    @thonatos emmm... k3s 其实也还不错,就在不久之前,k3s 还需要消耗比较大的系统资源,刚刚 check 了一下,近来更新挺大的,armv7 貌似都可以跑起来了
    anubu
        35
    anubu  
       2019-12-24 11:55:16 +08:00
    1. 根据不同场景选择合适技术栈
    2. 任何技术栈都有自己的坑,所谓的投入成本

    已经使用 swarm 的用户,可以根据自己的场景继续使用。还未用过的用户,这个时间点就不建议入坑了。个人建议,个人小项目就使用 compose 就够了,研究集群技术也是研究 k8s。当然,时间充裕的话也可以看看 swarm。按照当前的趋势,如果想折腾相关方面的东西,k8s 基本是绕不过去的。
    xrr2016
        36
    xrr2016  
       2019-12-24 11:56:04 +08:00 via Android
    收藏一波
    thet
        37
    thet  
       2019-12-24 12:00:06 +08:00 via iPhone
    个人 docker-compose 不更轻量?
    sampeng
        38
    sampeng  
       2019-12-24 12:43:56 +08:00 via iPhone
    玩不动就不要光面堂皇说轻量级如何如何…k8s 也可以轻量级。
    个人项目 docker-composr 足矣。
    线上项目超过两个项目的;我觉得没有 k8s 我活不下去…实在懒得重复配一堆东西。一个 helm install。该有的都自动有了
    sampeng
        39
    sampeng  
       2019-12-24 12:46:50 +08:00 via iPhone
    另外楼主说的三样东西只有 Docker swarm 是个容器编排的…其他在哪不能用?而且 swarm 还是个残废,功能被 k8s 甩一万条街。
    lnanddj
        40
    lnanddj  
    OP
       2019-12-24 12:48:05 +08:00
    @anubu 1 和 2 非常同意

    这个方案看情况,很多人的个人项目,应该相对比较简单的,但是按照目前的大多数技术栈,稍稍为复杂的需求,考虑到一点扩展性,或者 2 -3 台机器部署的场景下,swarm 其实是比较好的方案了。

    至于学习 /踩坑成本,swarm 几乎是有容易使用经验的用户几乎没啥障碍。。。
    securityCoding
        41
    securityCoding  
       2019-12-24 12:50:26 +08:00
    @sampeng 是啊,看阿里云公告 swarm 集群要下线了,k8s 成为事实标准了
    lnanddj
        42
    lnanddj  
    OP
       2019-12-24 12:50:55 +08:00
    @sampeng 讨论方案不要极端。

    [我觉得没有 k8s 我活不下去…实在懒得重复配一堆东西。一个 helm install。该有的都自动有了]
    ------
    这个很多都可以做到,(ps: 我个人工作是这个方案)

    [另外楼主说的三样东西只有 Docker swarm 是个容器编排的…其他在哪不能用?而且 swarm 还是个残废,功能被 k8s 甩一万条街。]
    ----
    功能这东西,看个人需求,不是足够多就好。swarm 确实是个竞争中输掉的失败产品,但是某些场景下有其价值
    lnanddj
        43
    lnanddj  
    OP
       2019-12-24 12:52:28 +08:00
    @securityCoding 对于云厂商而言,swarm 必然没必要维护了。

    但很多个人开发着的产品:1-3 台配置较低的机器
    lnanddj
        44
    lnanddj  
    OP
       2019-12-24 12:58:04 +08:00
    @securityCoding [k8s 成为事实标准了] 这个业界公认,没有啥可讨论滴....
    xfriday
        45
    xfriday  
       2019-12-24 13:34:51 +08:00
    难道没听过 k3s?哪里重了?哪里麻烦了?
    lnanddj
        46
    lnanddj  
    OP
       2019-12-24 13:38:23 +08:00
    @xfriday
    1. k3s is not k8s.
    2. 注意看下主题的 append 啊... 应该是挺明显的呀。。。难道我写错了。我去查查
    sonxzjw
        47
    sonxzjw  
       2019-12-24 14:05:37 +08:00
    @lnanddj 首先谢谢你提供的资源。其实这些我都试过,但我想表达的意思是,想要的是有几台性能比 mbp 高几倍的物理机由 0 开始让我捣鼓。
    lnanddj
        48
    lnanddj  
    OP
       2019-12-24 14:07:50 +08:00
    @sonxzjw 喔...那成本似乎比较高...哈哈
    dolphintwo
        49
    dolphintwo  
       2019-12-24 14:31:27 +08:00
    docker...不就够了
    不够我再加个 compose
    you dont need swarm + traefik + balabala
    hst001
        50
    hst001  
       2019-12-24 18:43:31 +08:00
    swarmpit 挺好看的,看 github 上面两三个人维护还算勤快,有前途
    gesse
        51
    gesse  
       2019-12-24 18:52:05 +08:00
    github star 设计初衷不是表彰“你很努力”、“你的 repo 看着好像不错”、“同一个社区抬头不见低头见”的,是用了觉得好才 star 的。
    gesse
        52
    gesse  
       2019-12-24 18:53:15 +08:00
    而且楼主你这一连串“是的是的”,说的好像自己什么都懂,别人说的东西你都把八百年前懂了一样,沟通态度有点讨厌。star 当然少
    mritd
        53
    mritd  
       2019-12-24 18:53:31 +08:00 via iPhone
    事实上,个人项目我只需要 compose
    lnanddj
        54
    lnanddj  
    OP
       2019-12-24 21:33:02 +08:00
    @gesse

    [github star 设计初衷] 没仔细想过,估计他们老板或者产品比较清楚。
    我个人把 star 当成收藏夹来着... 目的太主观,针对个人没有讨论的意义。

    ----
    [而且楼主你这一连串“是的是的”,说的好像自己什么都懂,别人说的东西你都把八百年前懂了一样,沟通态度有点讨厌。star 当然少]
    我也觉得自己讨厌,不过看看评论列表,讨厌的人可不止我一个。看淡点,这个世界就是这样子。
    WildCat
        55
    WildCat  
       2020-01-05 22:34:58 +08:00
    然后竟然还有。。。microk8s
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3767 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 00:52 PVG 08:52 LAX 17:52 JFK 20:52
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86