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

个人部署小鸡服务器有什么好的选择?

  •  
  •   HangoX · 2022-10-06 16:47:20 +08:00 · 5400 次点击
    这是一个创建于 777 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前技术

    目前使用的 swarm + portainer 那一套,基本上解决配置问题。同时 swarm 可以在 512M 的小鸡服务器直接开启,占用也非常少。

    目前技术问题

    swarm 觉得比较在意的一点是,没法像 k8s 那样直接本地编写完成之后通过 helm 直接部署到服务器上,使用过程需要用很多复制粘贴地方,有时候会搞错,比较蛋疼

    想要的技术

    1. 占用资源和 swarm 差不多,能在 512M 的小鸡上跑起来
    2. 可以直接本地编写配置后 push 后部署起来

    目前预研到的技术是 k3s ,虽然占用已经算是很低了,但是在 512M 的电脑上还是很卡,不过这是主从一起的,考虑到使用,可以尝试只是在 512M 的小鸡上部署 worker 节点

    有大佬真正使用过 k3s 吗?有经验可以参考吗?

    19 条回复    2022-10-08 07:34:56 +08:00
    TabGre
        1
    TabGre  
       2022-10-06 16:51:02 +08:00 via iPhone
    k3s 可以同一机器使用吗?
    HangoX
        2
    HangoX  
    OP
       2022-10-06 17:28:40 +08:00
    @TabGre 可以吧,有 worker 节点就可以
    mritd
        3
    mritd  
       2022-10-06 19:53:15 +08:00 via iPhone
    可以单机 不过没必要…. 直接 compose 吧
    pendulum
        4
    pendulum  
       2022-10-06 20:02:40 +08:00
    还是喜欢用 compose ,玩不转 k8s 那套
    0o0O0o0O0o
        5
    0o0O0o0O0o  
       2022-10-06 20:03:02 +08:00 via iPhone
    这种小鸡我选择 ansible….
    edis0n0
        6
    edis0n0  
       2022-10-06 20:14:43 +08:00
    我们小公司十几台*独服都是 docker compose ,swarm 都没用
    zficode
        7
    zficode  
       2022-10-06 20:24:41 +08:00
    小鸡是什么
    zou8944
        8
    zou8944  
       2022-10-06 20:38:07 +08:00
    上周为了搭个东西刚弄了一台 AWS 的新用户免费服务器,1c1g ,也算是小鸡服务器了吧。
    方案选择:docker compose + gitlab actions 。
    你想要的终归是方便一键部署的解决方案吧🤔。那么第一点就没那么必要了,不一定非要这么个工具。
    K8s 、K3s 、microk8s 都玩过,k3s 倒是可以单机部署,但是否真的有必要上升到容器编排工具值得讨论。
    如果你有很多应用需要管理,又或者是有很多小鸡节点需要管理,那需要用。如果就只有自己的几个简单服务,docker compose 足矣。而且自己搭建基础设施比较浪费精力,没什么意义。
    int80
        9
    int80  
       2022-10-06 20:42:35 +08:00 via Android
    k3s+rancher 比较简单的栈点点点就可以部署了
    liuxu
        10
    liuxu  
       2022-10-06 21:07:53 +08:00
    k3s 还行,我一主一从跑了块 2 年了, 主 500MB 内存,从 100 多内存占用,512M 的小鸡就别上虚拟化了,裸奔挺好的,非要环境隔离能 freebsd 就直接 jail 一下就好了

    root@Server:~# kubectl get nodes -o wide
    NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
    agent1 Ready <none> 589d v1.21.5+k3s2 xxx <none> Debian GNU/Linux 10 (buster) 4.19.0-14-amd64 containerd://1.4.11-k3s1
    master Ready control-plane,master 608d v1.21.5+k3s2 xxx <none> Debian GNU/Linux 10 (buster) 4.19.0-21-amd64 containerd://1.4.11-k3s1
    neutrino
        11
    neutrino  
       2022-10-06 22:34:19 +08:00 via Android
    256M 的机器跑个 lnmp 问题不大,每次都是手动的。
    beginor
        12
    beginor  
       2022-10-07 11:39:39 +08:00
    小鸡直接 docker compose 就行了吧, 现在 compose 做成 docker 插件了, 方便得很。
    wenerme
        13
    wenerme  
       2022-10-07 15:16:56 +08:00
    不要在 512M 上用 k3s/k0s
    不要在 512M 上用 k3s/k0s
    不要在 512M 上用 k3s/k0s

    直接部署应用,比如我 512M 的 linode ,tailscale 跑高都能直接把 CPU 跑到 100%,根本没有额外的资源去跑 K3S/K0S 之类的。

    我都是部署 alpine ,新开一个机器,直接从现有恢复,两下( 1 分钟)就好了。
    https://www.wener.tech/notes/os/alpine/lbu#restore-from-apkvol
    需要停止,则备份到本地,需要再开。

    有需要长期跑的服务,手写一个 openrc service ,维护使用相对容易。
    wenerme
        14
    wenerme  
       2022-10-07 15:19:39 +08:00
    区分主要 server 和 edge

    edge 就像这种 510M ,还是要有一个自己的 server ,硬盘,CPU 内存管够,跑 K3S/K0S ,主要是 编排太方便了,docker compose 编排不了这么复杂的内容 https://github.com/wenerme/kube-stub-cluster
    使用 argocd 做 gitops ,其他的东西就随便跑了。

    edge 提供出入流量,跑 tailscale 、tinc 之类的,相对轻量灵活。
    HangoX
        15
    HangoX  
    OP
       2022-10-07 16:29:47 +08:00
    @liuxu 感谢大佬,你那里 500 M 可以跑主机器吗?我这里 512M 的小鸡跑 k3s 非常卡,最后部署的时候直接挂了,访问 127.0.0.1:6443 直接超时。
    HangoX
        16
    HangoX  
    OP
       2022-10-07 16:40:21 +08:00
    @wenerme 感谢大佬,大佬有什么 k3s 的使用经验吗?个人其实想试试通过 k3s 那套直接上实践切入编排部署,因为外部只能买得起跑 k3s 的机器了,k8s 那个的机器跑几个服务也是过于浪费。
    个人现在其实用 portainer 搭配 docker compose 或者 swarm 已经解决大部分问题了,实在不行,给 portainer 写个脚本也是非常容易
    HangoX
        17
    HangoX  
    OP
       2022-10-07 16:44:21 +08:00
    @beginor compose 用起来也方便,个人用 swarm 是因为 portainer 对于 swarm 支持更多功能,更好用

    @neutrino 手动对于频繁更改配置文件的时候非常容易搞错

    @0o0O0o0O0o 这个我也想过。。但是 ansible 也不容易

    @pendulum 我也是喜欢 compose 多点,但是大势所趋,没办法,docker 过度到 compose 非常简单

    @zou8944 你说的 gitlab ci 我用过,公司刚开始我就是用这套,啥都能做,就是反应有点慢,要等 ci 执行。如果想更简单点,强烈建议部署一个 portainer 搭配 gitlab ,挺好用的
    liuxu
        18
    liuxu  
       2022-10-07 18:40:18 +08:00
    @HangoX 512M 就别上了,现在还能卖 512M 的小鸡,要么石头盘,要么疯狂超售,不卡才怪,这两年正常基本 1G 起步了
    wenerme
        19
    wenerme  
       2022-10-08 07:34:56 +08:00
    @HangoX
    k0s 和 k3s 都蛮好的,但是基础设施占用的资源对于 512M 来说还是不少,如果想玩这些就搞多一点资源吧
    docker 使用也需要占用 100M 左右额外资源
    ansible 相对容易
    玩 swarm 感觉意义不大
    compose 能解决问题可以先用着

    首先是不止有这个 512 的机器,然后把多个机器网络打通,就多了很多选择。


    K3S vs K0S
    https://wener.me/story/k3s-vs-k0s
    k3s 资源使用情况 - agent 大约 200MB+,server 就更多了
    https://wener.me/notes/devops/kubernetes/distro/k3s-faq#k3s-%E9%83%A8%E7%BD%B2%E8%B5%84%E6%BA%90%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5%E5%88%86%E6%9E%90
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1299 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:38 · PVG 07:38 · LAX 15:38 · JFK 18:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.