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

有多少人在 NAS 上跑 K8S,比如 k3s,或者 minikube 或者 kind 来跑 k8s?

  •  
  •   xinmans · 325 天前 via iPhone · 4211 次点击
    这是一个创建于 325 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在 turenas sacle 里默认带的 k3s ,动不动消耗一大部分资源,我的 i3-8100b 带起来很吃力。
    所以想看看大家都是如何在 homelab 里跑 k8s ,用什么版本,都跑了什么应用。

    目前我用 portainer 管理了几百个 docker ,分布在 unraid ,ubuntu20.04 ( unraid VM ),turenas ,还有一台蜗牛星际上装了 ubuntu 跑 qb docker 做 pt 下载
    管理起来不是很方便,来回切换,而且没有高可用。

    如果用 k8s 方案,几个问题:
    1 ,什么方案比较轻量级,消耗资源少,比较 homelab 配置不会很高
    2 ,能实现高可用,比如做不同服务器 node 之间的自动 failure over
    3 ,能实现停机快速恢复,停机不损害数据(之前发生过 k8s 开机后挂了,要重新 deploy )
    29 条回复    2023-08-20 18:21:39 +08:00
    winson030
        1
    winson030  
       325 天前 via iPhone
    试试 docker swarm ,用起来还可以,就是要注意 leader 重启
    Masoud2023
        2
    Masoud2023  
       325 天前
    我印象里 k3s 应该已经是最小的了,非要搞这种高可用,要么 docker 那套方案能轻一点?或者 podman 搞 deployment ?
    Hieast
        3
    Hieast  
       325 天前
    nas 里跑 docker 就够了,k3s/k8s 在这种场景下不适用
    Hieast
        4
    Hieast  
       324 天前
    1. 不知道
    2. 这个高可用我理解不是主从、副本的高可用,而是挂了能重启。这样的话你得定义好 livenessprobe ,集群才能感知到重新调度,重新调度就不一定还在原来的 node 上了
    3. 停机快速恢复见 2 ,k8s 开机后挂了可能是资源不足,k8s 的 worker node 最好能占用所有机器资源
    ryan4yin
        5
    ryan4yin  
       324 天前   ❤️ 3
    我出于学习的目的,在 homelab 里跑了四个集群,一个主集群用来跑各种零散应用,另外三个用来测试一些跨集群的高可用、网络架构。

    再回答下这几个问题:

    1. k3s 已经是非常轻量的方案了,我用的是三台 mini 主机跑的,性能很够用。具体可见: https://github.com/ryan4yin/knowledge/tree/master/homelab

    2. 你说的自动 fail over 这不是 k8s 原生的功能么,pod 会自动调度到其他节点。如果是希望内网的域名解析或 IP 也能自动 failover 的话,可以看看 kube-vip ,它提供了链路层的 fail over 能力,这个在局域网用起来很简单也很方便。
    3. 我 homelab 中所有的 VM 都每日晚上自动备份,确保环境被我搞坏也能快速恢复。比如你说的启动后 k8s 挂了,对我而言直接在 PVE 页面点两下,就能恢复到上一个可用环境了。
    thet
        6
    thet  
       324 天前 via iPhone
    我跑 k3s 内存占用还好,不到 1g
    xinmans
        7
    xinmans  
    OP
       324 天前 via iPhone
    @ryan4yin #3 是指打了 VM 的快照? 4 个 VM 1 个 master+3 个 work ?然后快速恢复?那如果是突然掉点 down 了,如何恢复呀。

    3 台 mini 主机是指 mac mini ?
    xinmans
        8
    xinmans  
    OP
       324 天前 via iPhone
    @thet chart 是渣渣,如果是命令行感觉也是比较耗资源的,而且重启 truenas scale 经常恢复不到正常状态,很坑爹
    ryan4yin
        9
    ryan4yin  
       324 天前
    @xinmans 我给的链接里有详细的描述啊,你点进去看看就明白了
    RRyo
        10
    RRyo  
       324 天前
    2 节点
    - i5-6500T 189m
    - i5-5300U 17m
    主要是隔离网络, 5300U 那台的子网的路由是直通没科技的, 用来下载和 BT
    一共跑了二十来个 pod, CPU 总负载 200m, 很低,不过内存比较多,总计 7G
    zhouu
        11
    zhouu  
       324 天前
    @xinmans 重启恢复不到正常状态是不是因为 openebs 用了 gcr 的镜像,整个网络有科学上网吗?
    v2wtf
        12
    v2wtf  
       324 天前
    k3s 只是相对轻量,但是对低配置机器来说仍然是重量级,空载就已经经常占 30%以上 CPU 了。

    microk8s 稍微好一点,可以试试看,不过这货只支持 Ubuntu 。
    ccde8259
        13
    ccde8259  
       324 天前 via iPhone
    2666v3 + 64G 配置带 K8S 基本没什么压力,日常 CPU 占用率约 16%,RAM 用了 50%左右……i3 8100 确实不适合带 K3S
    mythabc
        14
    mythabc  
       324 天前
    已经把 homelab 堆到 13700+96G 内存的配置了。
    asuraa
        15
    asuraa  
       324 天前
    我都不用 K3s k8s 这种重量级的

    我用的是 docker swarm 这玩意适合资源少的环境 管理也方便 就用 docker compose 管理 不用像 k8s 一样 写一堆 yml
    jackge0323
        16
    jackge0323  
       324 天前
    10400 + 32G 内存,unraid 起了三个虚拟机跑 k3s 集群,资源占用倒是还行,就是磁盘写入有点恐怖,平均每天 50G 的写入,磁盘不能放在机械上,慢不说,全天 24 小时磁盘那个响声真是受不了,为此买了块 3.84T 的企业固态。整体来说还是很舒服,有域名和外网服务器的话,frp 服务穿透到家里集群上,省很多钱。
    ltkun
        17
    ltkun  
       324 天前 via Android
    目前 9900t 128g 没有 k3s 这种 直接 pve 的 lxc 容器嵌套 docker 用 portainer 管理 几十个容器 再加十几个 lxc 和 vm
    0987363
        18
    0987363  
       324 天前 via iPhone
    家用我都 docker shell 或者 compose
    fox233
        19
    fox233  
       324 天前
    大佬推荐个 k8s 教程好嘛
    fox233
        20
    fox233  
       324 天前
    k3s 的也行
    fegait2
        21
    fegait2  
       324 天前
    k3s 还行
    xinmans
        22
    xinmans  
    OP
       323 天前 via iPhone
    @ryan4yin 宝藏啊,正在看。
    xinmans
        23
    xinmans  
    OP
       323 天前 via iPhone
    @mythabc 日常功耗也很喜人吧,电费每月多少?
    xinmans
        24
    xinmans  
    OP
       323 天前 via iPhone
    @ccde8259 噪音咋样?
    xinmans
        25
    xinmans  
    OP
       323 天前 via iPhone
    docker-compose+portainer 玩腻了,如果只是跑 homelab 服务,确实够用,而且玩起来也不复杂
    主要是学习用途,k8s 的 failover ,scale out 和 up 都可以测试下
    yaml 工程师是未来的 ops 主力,所以必须要刷新下技能树了。
    ccde8259
        26
    ccde8259  
       323 天前 via iPhone
    @xinmans ML110Gen9 塔式声音不大 日常主要是硬盘的炒豆子声
    phx1
        27
    phx1  
       316 天前
    投 k3s 一票
    ri0day
        28
    ri0day  
       279 天前
    hashicorp nomad + traefik + tailscale 试一下吧.
    kid1412621
        29
    kid1412621  
       241 天前
    @xinmans #25 同想法,后续呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4834 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 04:01 · PVG 12:01 · LAX 21:01 · JFK 00:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.