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

有没有什么好的本地集群方案?

  •  
  •   cocong ·
    hzh-cocong · 2022-05-04 23:13:05 +08:00 · 3949 次点击
    这是一个创建于 941 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人本地开发测试通常是用 Docker ,虽然 Docker 轻量,但那是在 Docker 里面装的环境轻量,Docker 本身却是个庞然大物,每次我要启动 Nginx ,都要先启动这个庞然大物,这我电脑内存不够,虽然说有虚拟内存,但是我心理就是有点膈应。

    后来用 VirtualBox ,这个后台运行其实是很省内存的,不过我也就学习 Linux 的时候用。还有,这玩意很不稳定,每次电脑升级,它总要出问题,隔段时间就得修修,浪费时间。

    所以最近就想着,能不能再买台电脑,甚至是多台电脑,来做测试机,以后要学习什么东西就不用在原有的电脑上装了,直接远程测试机,想怎么搞怎么搞,搞坏了就直接重装,不用有什么顾虑。

    其实用阿里云那些更合适,只是我觉得太贵了,我又不是天天用,浪费钱,而且我没有宽带,手机流量不多。大家有什么既便宜又省电的主机推荐吗?

    第 1 条附言  ·  2022-05-05 18:42:24 +08:00
    感谢大家的推荐,目前收集到的方法有很多,这里总结一下:

    1. 自己买零件组装(优点是灵活,缺点是体积大,丑)
    2. 购买 deskmini / nuc 等迷你主机,即不带屏幕键盘(优点是体积小,缺点是价格要一两千,我是觉得还不够便宜,另外功耗也不知道怎么样)
    3. 树莓派 等开发板(没搞过,说不出有点,缺点是价格也不便宜,现在都涨到上千了,我记得我以前搜过只要一两百的,甚至几十都有,另外性能应该不行)
    4. 使用 Virtualbox 或 Docker 等虚拟化(优点是省钱,因为不需要额外购买设备,缺点是无法真实模拟集群环境(个人看法,现在还没试过))

    因为刚刚把 Virtualbox 修好了,暂时就不打算瞎搞了。个人还是推荐使用 Virtualbox ,直接后台运行只占用几百 M 的内存,不像 Docker 一启动就吃掉几个 G 。另外推荐一个自己开发的 Virtualbox Alfred 插件,用它可以很方便的后台开启和关闭虚拟机,GitHub 地址: https://github.com/hzh-cocong/VM-Manager
    54 条回复    2022-05-06 18:10:13 +08:00
    oneisall8955
        1
    oneisall8955  
       2022-05-04 23:16:11 +08:00 via Android
    买个 E5 CPU 搞虚拟化?
    cocong
        2
    cocong  
    OP
       2022-05-04 23:18:01 +08:00
    @oneisall8955 光有 CPU 怎么跑?
    cocong
        3
    cocong  
    OP
       2022-05-04 23:19:30 +08:00
    便宜是为了能多买几台,省电是因为租房电费贵,希望可以一直开着。因为是远程使用,所以屏幕、音响、键盘什么的都不需要,但 CPU 和 内存肯定是要的。
    cocong
        4
    cocong  
    OP
       2022-05-04 23:20:50 +08:00
    有没有人这么搞过?这样学习 k8s ,Zookeeper 什么的就方便多了。
    hawei
        5
    hawei  
       2022-05-04 23:20:56 +08:00 via iPhone
    我是自己一台 Mac 有一台华硕笔记本作为堡垒机运行 ubuntu 做比较重的操作
    cocong
        6
    cocong  
    OP
       2022-05-04 23:23:10 +08:00
    @hawei 我也有一台联想的,用了十年了,现在跑不太动了,我总觉得电池要爆炸。
    lhx2008
        7
    lhx2008  
       2022-05-04 23:24:12 +08:00
    dockerd 不用多少资源吧,不至于
    hawei
        8
    hawei  
       2022-05-04 23:25:01 +08:00 via iPhone
    @hawei 基本上就当作常驻服务器 5200U 8G 内存 500g 固态 妥妥的
    oneisall8955
        9
    oneisall8955  
       2022-05-04 23:25:24 +08:00 via Android
    @cocong 是啊,光有 CPU 怎么跑,还得买内存硬盘电源机箱啊
    cocong
        10
    cocong  
    OP
       2022-05-04 23:25:52 +08:00
    @lhx2008 其实也还好,但是真的很占内存,我电脑只有 16G ,真实后悔以前为了省钱,悔不当初啊。
    xQmQ
        11
    xQmQ  
       2022-05-04 23:26:13 +08:00 via iPhone
    树莓派或者那种开发板?这样行不行
    cocong
        12
    cocong  
    OP
       2022-05-04 23:27:25 +08:00
    @oneisall8955 你的意思是自己组装?没这个经验啊,不过感觉可以试试。或者有没有像 Mac mini 那种 mini 的主机,最主要是要便宜。
    cocong
        13
    cocong  
    OP
       2022-05-04 23:28:18 +08:00
    @xQmQ 可以吗?没试过,是个不错的想法。要是一百块一个那可以买十份,那玩集群就爽了。
    xQmQ
        14
    xQmQ  
       2022-05-04 23:43:54 +08:00 via iPhone
    @cocong #13 我的想法就是,看看开发板的硬件和配置,然后用那种 tf 卡统一拷环境。估计性能上不太行,但是能玩起来
    主要是我也没玩过开发板,不知道行不行
    oneisall8955
        15
    oneisall8955  
       2022-05-04 23:58:57 +08:00 via Android
    @cocong 是的,自己组装。不过还要折腾虚拟化,pve 或 esxi 系统,还有功耗电费这方面需要考量值不值得。小白来说,学习成本比较高,毕竟连软硬件都是从头开始。如果没那么多服务,不如买个轻量云什么
    ration
        16
    ration  
       2022-05-05 00:13:20 +08:00 via Android
    docker 没占多少内存啊,16g 咋就不够用了?我以前买的服务器 1g 都能跑 docker 。你是 windows 环境吗
    musi
        17
    musi  
       2022-05-05 07:40:15 +08:00 via iPhone
    @cocong #13 树莓派现在已经炒到一千一个了吧
    ysicing
        18
    ysicing  
       2022-05-05 09:14:12 +08:00
    搞个 minipc 真香
    tqccc
        19
    tqccc  
       2022-05-05 09:21:11 +08:00 via Android
    我用 vagrant 管理本地多个虚拟机,但是需要 virtual box 或者 vmvare
    qping
        20
    qping  
       2022-05-05 09:25:13 +08:00
    配了一台 deskmini+5700g+64G 内存的主机,安装 pve ,费用大概是 4500
    zedpass
        21
    zedpass  
       2022-05-05 10:02:32 +08:00
    i5 12400 套装+64G 内存就行了
    fiveStarLaoliang
        22
    fiveStarLaoliang  
       2022-05-05 10:28:31 +08:00
    你可以看看阿里云的抢占式服务器,那个类型的价格只有普通的云服务器价格的五分之一,只要不是跑那种特别吃 CPU 和内存的应用,完全可以拿来做开发测试机
    Proxy233
        23
    Proxy233  
       2022-05-05 11:42:17 +08:00
    用 podman 代替 docker 试试呢,只是要自己监控状态,或者整个 service
    lujiaosama
        24
    lujiaosama  
       2022-05-05 12:31:43 +08:00
    deskmini 或者 nuc 可以看一下.
    libook
        25
    libook  
       2022-05-05 12:31:47 +08:00
    宿主机用的 Windows 或 MacOS 的话,因为原生不支持 Docker ,所以 Docker Desktop 方案实际上是在本地起了一个虚拟机跑了 Linux 来跑 Docker 的,性能差、bug 多、商业化私货多。

    如果你宿主机原本就是 Linux 发行版,跑 Docker 应该很快、很轻。
    Licsber
        26
    Licsber  
       2022-05-05 12:48:34 +08:00
    我是 4H4G 4Gswap 的小轻量跑了个 k3s 当测试环境用 如果需要更高配置的话估计价格够呛
    aloxaf
        27
    aloxaf  
       2022-05-05 15:16:24 +08:00
    启动 docker 很占内存?
    LZ 你该不会是在 macOS/Windows 上跑 docker 吧……
    ltkun
        28
    ltkun  
       2022-05-05 15:57:57 +08:00
    pve 试试 docker 其实本身可以集群的 只是不够智能
    caixiaomao
        29
    caixiaomao  
       2022-05-05 16:35:13 +08:00
    @tqccc vagrant 好用吗,尝试了一下,win11 下总是遇到很奇怪的问题,启动就卡很久,慢的要死,不知道是不是我使用姿势不对😭
    cocong
        30
    cocong  
    OP
       2022-05-05 17:11:44 +08:00
    @aloxaf 我是用 macOS ,难道真有人个人电脑完全用 Ubuntu ?
    defunct9
        31
    defunct9  
       2022-05-05 17:33:30 +08:00
    @cocong 我就是 Ubuntu
    defunct9
        32
    defunct9  
       2022-05-05 17:34:53 +08:00
    @cocong 鬼畜的是,我是用 CentOS 和 kvm|docker 生产虚机的,Ubuntu 下从不生产虚机。
    ykb8121
        33
    ykb8121  
       2022-05-05 17:36:59 +08:00
    推荐一下我自用的捡垃圾配置吧:
    1.主板:华南金牌 X99 + E5 2680V4 14 核 28 线程 2.4GHz +寒冰 A700 风扇 1000 块
    2.镁光内存 32G * 2 2133GHz 780 块
    3.二手 450w 电源 + 硬盘架 + NVS300 (亮机卡)+ 机箱(其实裸奔鞋盒也行) 300 块
    4.固态和硬盘看需求,个人鼓捣私有云买了比较大的容量,只是普通玩 docker 、k8s 一个 240g 固态装系统 + 一块机械足矣

    不算存储 2000 搞定,存储随便从旧电脑、垃圾机器上卸下来用就好

    然后就是搭 PVE ,虚拟化各种系统就完事了,我搭 3 台 CentOS 、一台 Ubuntu 、一台 openSUSE 、一台 win10 、一台 win11 内存还有 20 来个 G 、核数也完全够用,想怎么折腾都够了
    cocong
        34
    cocong  
    OP
       2022-05-05 17:41:31 +08:00
    @defunct9 那说明你平时还是 MacOS 用的多,不然你为啥不直接在 Ubuntu 上装 Docker 。所以这不能算是 个人电脑完全用 Ubuntu 。
    cocong
        35
    cocong  
    OP
       2022-05-05 17:42:11 +08:00
    @ykb8121 牛逼,不过我 Virtualbox 现在修好了,感觉还是不错了,暂时不瞎折腾了。
    aloxaf
        36
    aloxaf  
       2022-05-05 17:55:45 +08:00
    @cocong 那得看你怎么定义「完全用」了,至少日常开发都使用 Linux 的人应该不在少数。我个人是只有 wine 玩不了的游戏才会开 Windows 。

    其他供参考的数据:StackOverflow 2021 开发者调查中,主要使用 Linux 工作的开发者约占 1/4 ; Steam 每月调查中,Linux 份额为 1.14%( macOS 为 2.55%)
    wenwei1202k
        37
    wenwei1202k  
       2022-05-05 17:57:33 +08:00
    E3 v5 + x150 主板+ 32/64G ECC 内存,cpu 可以买不带集显的,买个亮机卡,安装完系统可以拔了显卡, 这样的配置现在成本很低,EXSI, PVE, KVM 虚拟化一下,就可以搞集群,这种搞着玩的集群实际没什么负载,虚拟化主要是内存需求大点,cpu 负载一般很低。CPU 买低功耗的,不带很多机械盘的话,功率也不高,三四十瓦左右的功率。 单机的风险就是如果搞了比较复杂的集群, 不小心搞掉电的时候,重启可能一切顺利,也可能一堆错误,不过搞集群了注定是折腾了。我现在的机子上就跑了 nas 和一个 k8s 集群用来测试用的。 其实只是测试的话,intel 的 nuc 也很方便, 搞 16G 的内存, 基本测试玩玩也够了,功率很低平常基本上小于 10W ( NUC5i5 )。
    junjie2028
        38
    junjie2028  
       2022-05-05 18:09:09 +08:00
    我有两台物理机,一台放公司,一台放家里,两台的配置都是一样的,都装的 pve 系统,虚拟化出了 5 个虚拟机,虚拟机装了 CentOS7 ,搭建了 k8s 集群,还虚拟了一个 OpenWRT ,用作旁路由,我虚拟机的网关设置成了这个 OpenWRT 系统,这样我再使用我的虚拟机时,就不用每个软件都设置一次代理了。

    安装 K8S 内部服务,我用的是 Helm ,暴露 K8S 内部网络,我使用了 Wireguard ,目前运行良好,家里的那台,一个月电费大约 100 块( 1.5 元一度)
    jabari
        39
    jabari  
       2022-05-05 18:10:10 +08:00
    准系统 thinkstation c30(支持 v2 XEON) 2000 块,CPU 2 块 E5-2690v2 1640 块, 内存三星 32G DDR3 ECC REG 4 条 微博看到的
    pepesii
        40
    pepesii  
       2022-05-05 18:18:47 +08:00
    podman 可以不
    cocong
        41
    cocong  
    OP
       2022-05-05 18:27:25 +08:00
    @aloxaf 我是见过一个个人笔记本是 Windows ,然后在里面装 Virtualbox ,再在 Virtualbox 里装 Ubuntu ,最后在 Ubuntu 上搞开发,你别说,一点也不卡。所以后来我也跟着学,结果卡的不行,不过不要界面,直接后台运行,真的很省资源,可能是我没在上面装多少东西的缘故吧。
    reorx
        42
    reorx  
       2022-05-05 20:04:01 +08:00 via iPhone
    一台 2000 左右的 NAS ,可以满足所有工作和娱乐需求
    XiLingHost
        43
    XiLingHost  
       2022-05-05 20:12:19 +08:00
    我是直接搞了台洋垃圾 DELL T620 ,E5-2680 v2*2 ,192G 的内存,9T 的 RAID6 存储,用 ESXi 6.5U3 ,基本上常见的服务都能跑
    wangyongbo
        44
    wangyongbo  
       2022-05-05 20:46:30 +08:00
    >不像 Docker 一启动就吃掉几个 G

    为什么你的 docker 需要这么多内存呀? 很奇怪。
    wuyiccc
        45
    wuyiccc  
       2022-05-05 20:52:25 +08:00
    给自己的电脑升级内存到 32G
    cocong
        46
    cocong  
    OP
       2022-05-05 21:19:08 +08:00
    @wangyongbo 你不说我还忘了,这个是可以设置的,我之前设置的是 4G ,那时为了在本地跑 Gitlab 和 Confluence ,得调大才跑得动,不过平时基本都不启动它们。我现在改成最小 1 G 了,果然现在看着就舒服多了。
    cocong
        47
    cocong  
    OP
       2022-05-05 21:22:44 +08:00
    @wuyiccc 查了一下,macOS 没法升级内存。
    cocong
        48
    cocong  
    OP
       2022-05-05 21:24:08 +08:00
    @wuyiccc 其实内存小也没什么影响,从来都不卡,只是怕影响 SSD 寿命
    wuyiccc
        49
    wuyiccc  
       2022-05-05 22:34:26 +08:00
    @cocong 怕影响 ssd 寿命的话,外挂一个移动 ssd 不就可以了
    fsdrw08
        50
    fsdrw08  
       2022-05-05 23:31:53 +08:00 via Android
    都说是集群了,堆资源肯定是跑不了的,我本地搭的集群: 基于 hyper-v ,路由器用 vyos ,内部安装 clash ,接装网络,一边接 hyper-v default switch, 一边接一个 hyper v 纯内部虚拟交换机,dns 和 dhcp 用 technitium dns 在本地电脑装, 集群节点用 alpine Linux ,装 k3s
    fsdrw08
        51
    fsdrw08  
       2022-05-05 23:33:41 +08:00 via Android
    上述 vyos 和 alpine Linux 的镜像均用 packer 用 ISO 开始构建,打包成 vagrant box
    fsdrw08
        52
    fsdrw08  
       2022-05-05 23:34:26 +08:00 via Android
    电脑内存建议 16g 以上,32g 最好
    dayeye2006199
        53
    dayeye2006199  
       2022-05-06 07:14:47 +08:00
    LZ 你的问题是需要换个系统,换到 linux 下 -- docker 容器化比 virtualbox 虚拟化还吃资源是不太现实的。

    需要即开即用和随意销毁的开发测试环境的话,用 vagrant 是很方便的,随便弄也不怕搞坏。可以配合 virtualbox 或者 docker 使用。
    需要学习一些分布式软件的话,vagrant 也支持启动多台虚拟机组网的功能。
    abbottcn
        54
    abbottcn  
       2022-05-06 18:10:13 +08:00 via iPhone
    singularity
    现在叫 apptainer

    可以当作开发用的虚拟机来用……
    不过又不是虚拟机……
    CSDN hpc4you 有一点点内容可以参考……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2537 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 06:01 · PVG 14:01 · LAX 22:01 · JFK 01:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.