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

有人实现家用 NAS 全栈 k8s(k3s)?

  •  1
     
  •   xinmans · 2024-04-16 10:33:30 +08:00 via iPhone · 5805 次点击
    这是一个创建于 373 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有人实现吗?
    42 条回复    2024-06-17 14:43:37 +08:00
    iloveayu
        1
    iloveayu  
       2024-04-16 10:41:55 +08:00   ❤️ 1
    k3s 单点就可以上啊,家用 NAS 搞这干啥,这不是徒增复杂度么?
    cnightmare
        2
    cnightmare  
       2024-04-16 10:49:15 +08:00
    true nas ?
    0x663
        3
    0x663  
       2024-04-16 10:51:36 +08:00
    TrueNAS 不就有个 k3s 吗
    BeautifulSoap
        4
    BeautifulSoap  
       2024-04-16 10:51:53 +08:00
    家里一台 NAS 装 k8s/k3s?是图啥....开几个虚拟机练手吗
    zfjdif
        5
    zfjdif  
       2024-04-16 10:55:28 +08:00
    我的 pve 装了 3 结点 k3s ,但是纯粹是为了练手,k3s 结点的机器一般不开机
    whileFalse
        6
    whileFalse  
       2024-04-16 11:00:03 +08:00 via Android
    单机用 docker compose 不好吗
    bumblebeek
        7
    bumblebeek  
       2024-04-16 11:00:44 +08:00
    是不是有点太重了
    superchijinpeng
        8
    superchijinpeng  
       2024-04-16 11:14:46 +08:00
    完全没必要
    corvofeng
        9
    corvofeng  
       2024-04-16 11:30:51 +08:00
    我有的, 用 zerotier+k3s 搭了集群, 顺便把之前买的 cvm 和 ec2 也集成到了集群中, 部署的时候可以用 node selector 来指定机器. 总共跑了几十个服务, 不过你真的需要吗? 这一整套太重了
    anubu
        10
    anubu  
       2024-04-16 12:05:13 +08:00
    有在用,但的确复杂度太高,心智负担有点大。需要保持稳定和家人共用的服务还是切到 Docker 部署了。
    用 k8s 最大的需求是 IaC 、GitOps ,所谓的基础设施和部署状态管理,这 2 个方向 k8s 的生态更好一些。自己拿来学习练手的玩具,无可无不可。
    xuegy
        11
    xuegy  
       2024-04-16 12:11:37 +08:00 via iPhone
    这不就是 TrueNAS scale 吗?家庭环境简单问题复杂化。用群晖那种的直接跑 docker 镜像它不香吗?
    libook
        12
    libook  
       2024-04-16 12:21:51 +08:00
    尝试搞过,后来觉得太复杂了,家用场景收益不明显,于是换回纯 Docker 了。
    xinmans
        13
    xinmans  
    OP
       2024-04-16 12:28:44 +08:00 via iPhone
    @corvofeng 延时还好吗?还搞混合云?
    xinmans
        14
    xinmans  
    OP
       2024-04-16 12:30:11 +08:00 via iPhone
    @anubu docker 太多了,而且平时自己写的也不少,搞一些自动化。nas 设备也有好几台,有的有显卡,整个部署发布起来 k3s 更加方便,代码管理,发布流程都更好。docker-compose 管理单个 docker 没问题,但是一台机器上上百个 docker 就很麻烦了,版本管理都很麻烦
    xinmans
        15
    xinmans  
    OP
       2024-04-16 12:30:41 +08:00 via iPhone
    @xuegy 我默认把 truenas sclae 里的关闭了,不好用,他改了很多东西。
    ccde8259
        16
    ccde8259  
       2024-04-16 13:08:32 +08:00
    K8S 挺好的,从写命令行到 YAML 工程师,家用 NAS 进程管理全靠 K8S……
    rockxsj
        17
    rockxsj  
       2024-04-16 13:11:35 +08:00
    podman-compose
    lozzow
        18
    lozzow  
       2024-04-16 13:17:05 +08:00
    我也觉得 k8s 更简单,管理起来更方便(相对只用 docker 来部署服务的话),比如 ingress 这些东西
    Zzdex
        19
    Zzdex  
       2024-04-16 13:30:57 +08:00   ❤️ 2


    运行良好
    nullico
        20
    nullico  
       2024-04-16 13:50:24 +08:00   ❤️ 1
    曾经给你一样 k8s ,现在还是换回 docker 了,写几个 run.sh 来管理下 docker 就行了。为什么?

    1. 太重了,家里用不到这么复杂的架构。越复杂的东西越容易出错,一旦出错,会花费大量的时间来处理。而且跑 k8s 对设备性能要求也不低,不信你看看你 node 空载下的负载。k3s 默认是用的 sqlite ,你要是机械盘,嘿嘿,说多了都是泪。
    2. 存储问题,家里用,你搞一个 k8s/k3s, 存储是一个问题,大部分都是 nfs 吧。你试试部署一个 gitea 这种对文件系统依赖高的试试。

    至于练手啥的,单独搞几个 vm 来随便折腾也能练手。反而 nas 上搞这么一套,出问题了浪费一堆精力去弄他
    juzisang
        21
    juzisang  
       2024-04-16 13:54:54 +08:00
    在 k3s ,docker swarm 来来回回切了好几次,每次都使用了好几个月,最后还是用的 docker swarm ,配置部署都很方便,没有一堆概念,该有的功能都有,自己一个人用心智负担也很小
    corvofeng
        22
    corvofeng  
       2024-04-16 13:55:14 +08:00
    @xinmans 家用服务还会在乎延时吗, 不过用 zerotier 来做底层网络 配合 k8s 的 iptables 管理 确实没那么稳定,这种时候我用 frp 配合转发来做的
    juzisang
        23
    juzisang  
       2024-04-16 13:58:57 +08:00
    总共六个节点,都是云服务优惠的时候买的,只有一个是家里的机器,个人使用很满意
    corvofeng
        24
    corvofeng  
       2024-04-16 14:01:44 +08:00
    我之前也用 swarm 搞过一套 但是更熟悉 k8s 所以换成了 k3s 我觉得这一套东西要能做到半自动化的扩容 以及支持 intra as code 才算结束, 目前我就是自己去维护一套工具. 利用 ansible+github action 来做 IAC , 同时顺便也加入 cert 自动刷新 内外网域名分离的功能, 还有快捷的服务发布,和维护. 这一套做下来 应该一个小型团队都够用了, 我也逐步把一些功能也提供给朋友们来用
    Navee
        25
    Navee  
       2024-04-16 14:36:33 +08:00
    太浪费资源了,不如 docker stack 或者 compose
    Unboundwill
        26
    Unboundwill  
       2024-04-16 14:45:22 +08:00
    我一直是用 Portainer 管理 docker compose 的,Portainer 可以方便地用一个管理节点,管理多台服务器,复杂度在可接受的范围内。

    我也在计划切换到 kubernetes ,主要是管理 HTTPS 证书、反向代理等比较有优势。现在要手动搞反向代理、更新证书、更新 DNS 快吐了。
    xinmans
        27
    xinmans  
    OP
       2024-04-16 15:00:35 +08:00 via iPhone
    @corvofeng 我看你不是纳管 ec2 么,是作为 worker node 来管理的吗?
    xinmans
        28
    xinmans  
    OP
       2024-04-16 15:01:53 +08:00 via iPhone
    @corvofeng 我是用 terraform+gitea+gitea action 做 cicd ,基本实现了自动化发布,扩容 node 用 ansible ,可以一起交流下呀。
    xinmans
        29
    xinmans  
    OP
       2024-04-16 15:02:47 +08:00 via iPhone
    @Unboundwill 一开始是用 portainer ,他的容器搜索功能都没打通,HA 功能有限,不如 k3s 的调度方便
    xinmans
        30
    xinmans  
    OP
       2024-04-16 15:03:51 +08:00 via iPhone
    @Unboundwill 成长为 yaml 资深工程师,一切都配置化了,其实不是很复杂。问题调查确实有点麻烦。我现在出问题就一键还原到正常的备份,用 pbs 备份 pve 里的 vm node ,非常方便
    xinmans
        31
    xinmans  
    OP
       2024-04-16 15:04:17 +08:00 via iPhone
    @juzisang swarm 没用过,看起来可以解决集中管理多台 VM 的 docker 的问题,有时间研究下。
    xinmans
        32
    xinmans  
    OP
       2024-04-16 15:42:55 +08:00 via iPhone
    @juzisang volume sharing 如何解决的呀
    juzisang
        33
    juzisang  
       2024-04-16 16:01:45 +08:00
    @xinmans #32 如果是共享配置文件或者证书密钥啥的
    有 docker config ,docker secret ,对应 k8s 的 configmap 、secret 。
    volume 的话有也有 docker device ,我目前只用过 sshfs ,nfs ,其它的可以查查,跨机器共享 volume 我用得不多。
    Garasu
        34
    Garasu  
       2024-04-16 16:26:45 +08:00
    搭了一套 3 节点 kubesphere , 本来想直接用自带的 devops ,但是太重了,然后自己单独部署 jenkins 。
    现在也就是还在玩着用,没敢全上,方便是方便些,但是确实太重了,存储还是用的 nfs....
    创个群吧,看看其他佬们都怎么玩的。
    corvofeng
        35
    corvofeng  
       2024-04-16 18:34:04 +08:00
    @xinmans 是的, ec2 都是作为 k3s 节点来管理的, 跑 daemonset 跑自己服务都很方便
    corvofeng
        36
    corvofeng  
       2024-04-16 18:39:09 +08:00
    @xinmans 这个方案和我差不多吧, ansible 也是我的核心驱动, 初始化和扩容 node, 还有服务器证书刷新, 服务部署, 也是走了 ansible 的不同 role
    noclin
        37
    noclin  
       2024-04-16 21:43:09 +08:00
    提供一个基于 docker-compose 的开箱即用方案

    https://github.com/homeinfra-org/infra
    cdlnls
        38
    cdlnls  
       2024-04-16 23:21:36 +08:00
    @juzisang 现在还在用 swarm 的不多了。。以前公司生产环境项目也是跑在 swarm 集群里面的,轻度使用使用是没啥问题的,swarm 用起来也是简单好理解。
    cdlnls
        39
    cdlnls  
       2024-04-16 23:26:43 +08:00
    我感觉这个场景用 k8s 没啥必要的,但是如果是以学习使用 k8s 为目的,那怎么折腾怎么来。
    wm5d8b
        40
    wm5d8b  
       2024-04-17 07:20:40 +08:00 via Android
    k3s 莫名占用 CPU 的问题,那么多年了一直没能解决,运行几天后,就会出现一个核占用 100%的情况
    sunocean
        41
    sunocean  
       2024-04-17 11:07:24 +08:00
    smb+docker 能就足够了,没必要增加系统的复杂性。
    raynix
        42
    raynix  
       311 天前
    我几年前用几台旧笔记本和 kubeadm 搭建了一个 k8s 集群,对于学习和实验是很有帮助的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1012 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 22:29 · PVG 06:29 · LAX 15:29 · JFK 18:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.