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

You don't need k8s.

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

    个人项目,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 够了
    thonatos
        33
    thonatos  
       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   ·   我们的愿景   ·   实用小工具   ·   3804 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 10:20 · PVG 18:20 · LAX 03:20 · JFK 06:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.