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

目前 2023 年,小公司 5 台内服务器用什么部署方式

  •  
  •   zhangfeiwudi · 2023-10-26 11:13:42 +08:00 · 4930 次点击
    这是一个创建于 395 天前的主题,其中的信息可能已经有所发展或是发生改变。

    中小型公司聚焦做垂直类目,每天小程序几千到几万。 就 1 个开发(前端、后端、运维都包了)部署方式怎么部署呢

    后端采用 golang web 机器 3-5 台左右

    前端有 pc + 小程序

    1. k8s 我感觉貌似没必要上 k8s 太重了
    2. nginx + 反向代理 然后挂个自动续费 https 的 sh
    3. traefk + docker-swarm 纯 docker 镜像模式 ,方便迁移 扩容

    还有其他方案吗 各位老哥

    42 条回复    2023-10-30 16:40:04 +08:00
    sunjiayao
        1
    sunjiayao  
       2023-10-26 11:17:44 +08:00
    装个 jenkins 自动编译然后把程序传上去重启下就好了吧。用不用 docker 感觉意义不大
    anubu
        2
    anubu  
       2023-10-26 11:27:13 +08:00
    不知道是线下机房还是云,OneManTeam 应该上云吧。云厂商托管 k8s 集群,不需要太多精力维护,也提供了一定的弹性和容灾。
    ospider
        3
    ospider  
       2023-10-26 11:28:42 +08:00
    简单点话,就用 ansible ,连 docker-compose 也不用。
    想试验点新东西,就用 k3s ,反正也就一个二进制文件,拉起个集群来很快的。
    Fooooo0
        4
    Fooooo0  
       2023-10-26 11:30:14 +08:00
    省事就直接用云商的 serverless K8S ,
    想要经常上服务器处理各种问题就自己部署。
    28Sv0ngQfIE7Yloe
        5
    28Sv0ngQfIE7Yloe  
       2023-10-26 11:32:52 +08:00
    K3S 够了吧
    version
        6
    version  
       2023-10-26 11:33:35 +08:00
    traefk + docker-compose 基本够用.
    搞个 Portainer 看看监控...其它服务器操作..就 1 个人.这不天天干到死...整太复杂.留坑自己天天加班.
    1 个人.真的勇士
    meiguozhiguang
        7
    meiguozhiguang  
       2023-10-26 11:36:35 +08:00
    要是我就一台测试机,以及安装各种工具,一台前端机包括 nginx 反向代理。剩下三台做 k8s 集群,一台 master ,两个 node 。两个 node 还可以安装数据库 一主一从,master 买个低配 4c8g
    meiguozhiguang
        8
    meiguozhiguang  
       2023-10-26 11:39:40 +08:00
    补充,测试机用 docker-compose modd 自动编译,做好 devops ,一键发版 ,直接使用 k8s 负载均衡滚动更新等特性 ,稳得很。
    chuck1in
        9
    chuck1in  
       2023-10-26 11:50:36 +08:00
    op 一个人拿了 3 份工资吗?
    enchilada2020
        10
    enchilada2020  
       2023-10-26 11:51:36 +08:00 via Android
    @chuck1in 我也好奇。。这种全栈大概给多少哦
    meiguozhiguang
        11
    meiguozhiguang  
       2023-10-26 11:51:54 +08:00
    @chuck1in 这种就一份 好处是不失业
    zhangfeiwudi
        12
    zhangfeiwudi  
    OP
       2023-10-26 11:55:57 +08:00
    @anubu 是阿里云 不是自建云
    zhangfeiwudi
        13
    zhangfeiwudi  
    OP
       2023-10-26 11:56:27 +08:00   ❤️ 1
    @enchilada2020 纯免费,用爱发电 几个志同道合的朋友一起搞的
    GooMS
        14
    GooMS  
       2023-10-26 12:17:13 +08:00 via Android
    手动部署
    anubu
        15
    anubu  
       2023-10-26 12:51:54 +08:00
    @zhangfeiwudi 阿里云环境、三五台机器、一人全栈(干)、业务流量负载应该也不重。这个组合建议尽量考虑云服务,节省维护人力人本,额外的费用也不会多太多。首选就是 ACK ,三五台服务器当做工作节点,根据负载调整。如果业务弹性波动大,想进一步节省成本,也可以考虑 ASK ,需要留意 ASK 不一定比 ACK 节省。
    OceanBreeze
        16
    OceanBreeze  
       2023-10-26 12:55:08 +08:00
    建议楼主用弹性伸缩 auto scaling group 足够了
    XyIsMy
        17
    XyIsMy  
       2023-10-26 14:07:31 +08:00
    每天小程序几千到几万,这个是 api 访问量?
    draguo
        18
    draguo  
       2023-10-26 14:11:49 +08:00
    阿里云直接用云效加 sae ,全自动,体验还不错
    kidult
        19
    kidult  
       2023-10-26 14:15:55 +08:00
    这么多的机器,一年少说也要赚上千万了
    vincentxue
        20
    vincentxue  
       2023-10-26 14:16:22 +08:00
    整套打包成一个服务,用 Docker Swarm 配合个简单的 CD 就行了,代码推到 Github ,GitHub Action 自动打包镜像推到你仓库,比如 Docker Hub 或者别的都行,然后去主节点一句命令更新一下就完事了。
    shalk
        21
    shalk  
       2023-10-26 14:16:38 +08:00
    手动部署,做成水平伸缩无状态的
    guguji5
        22
    guguji5  
       2023-10-26 14:18:48 +08:00
    运维的知识好麻烦,op 好厉害
    vincentxue
        23
    vincentxue  
       2023-10-26 14:19:29 +08:00
    @vincentxue DNS 指到 master 上。这样的话你可以不停机更新+随时扩(缩)容+随时回滚到某个版本。你们这当前体量足矣了,然后如果以后量非常大了,迁移也比较容易从容。
    cheng6563
        24
    cheng6563  
       2023-10-26 14:21:21 +08:00
    用 docker-swarm 干啥,要容器编排直接上 k3s ,或者退而其次用传统的 docker-compose
    waltcow
        25
    waltcow  
       2023-10-26 14:21:37 +08:00
    portainer + traefik
    dkerss
        26
    dkerss  
       2023-10-26 14:23:27 +08:00
    需要高可用吗? 需要热部署吗? 需要的话还是上个 k8s ,不建议自己搭,上云上买一个半托管的能省很多事
    chiuan
        27
    chiuan  
       2023-10-26 14:26:02 +08:00
    jenkins 随便编译一下启动就好了吧?
    struggle001
        28
    struggle001  
       2023-10-26 14:27:15 +08:00
    @GooMS 我也是 手动部署 自己上运维脚本
    tomczhen
        29
    tomczhen  
       2023-10-26 14:28:36 +08:00 via Android
    直接用最基本的云平台功能就好,之前试过阿里云的那个套皮 Jenkins 集成到云服务器部署,流程跑通没啥问题。

    目前的架构尽量简化才是,动不动就全套 k8s 出张嘴的就算了。
    defunct9
        30
    defunct9  
       2023-10-26 14:29:34 +08:00
    用什么也用不到 swarm
    devopsdogdog
        31
    devopsdogdog  
       2023-10-26 14:41:29 +08:00
    说 k8s 的,k8s 真的这么香? 并不觉得,整个阿里云效 实现自动部署就行了。nginx 反代+ ssl 就 acme.sh ,自动更新证书。
    小项目就这样吧,别整复杂了,没有成本 就用最简单 最熟悉 方便的来干。
    lululau
        32
    lululau  
       2023-10-26 14:48:29 +08:00
    dolphintwo
        33
    dolphintwo  
       2023-10-26 16:41:57 +08:00
    真就 1 个人的话,我推荐 shell 一把梭,别再引入新工具了,浪费时间
    DamonLin
        34
    DamonLin  
       2023-10-26 16:56:02 +08:00
    中小型完全没必要上 k8s ,给自己添麻烦
    vevlins
        35
    vevlins  
       2023-10-26 17:33:11 +08:00
    k3s 或者 caprover (基于 docker-swarm )。

    caprover 还是挺有意思的,可以了解了解,有点 k8s 的好处,又没有那么复杂。
    dw2693734d
        36
    dw2693734d  
       2023-10-26 21:47:06 +08:00 via iPhone
    直接 rsync 一把梭
    JingKeWu
        37
    JingKeWu  
       2023-10-26 22:58:43 +08:00
    k8s
    xingxing09
        38
    xingxing09  
       2023-10-27 01:27:31 +08:00 via iPad
    shell + scp 简单好用
    everyx
        39
    everyx  
       2023-10-27 08:40:15 +08:00
    我也在用 traefik + docker swarm 的方案,就几个服务几台机器,用不着 k8s ,太重了
    tinyint00
        40
    tinyint00  
       2023-10-27 08:44:08 +08:00
    jenkins(打包机) + k3s (服务器) k3s 内置 traefik 怪好用的
    r00tt
        41
    r00tt  
       2023-10-27 10:59:13 +08:00
    kamal(原名 mrsk)
    chinalibra492
        42
    chinalibra492  
       2023-10-30 16:40:04 +08:00
    阿里云很简单,用云效(免费),里面有流水线,可以打包,推送,运行就用 docker ,不用 k8s 或者 swarm 。直接让云效调用阿里云服务器的脚本,可以几台机器同时升级。非常好用,我们就这么用的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2686 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 15:19 · PVG 23:19 · LAX 07:19 · JFK 10:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.