主要观点:作者将闲置的一加 6T 手机放入 homelab Kubernetes 集群,经历了一系列安装和调试过程,包括获取配置、安装 Kubernetes、解决网络和内核模块等问题,最终成功让手机成为集群中的节点并进行负载均衡,同时探讨了是否推荐这样做。
关键信息:
- 作者熟悉 Kubernetes 平台,有多个 workload 且集群资源未受限,闲置一加 6T 后有将其放入集群的想法。
- 从 Talos 节点获取非 Talos kubelet 配置,使用 postmarketOS 刷机并移除 GNOME 界面。
- 安装 Kubernetes 过程中遇到
flannel-contrib-cni
无 aarch64 包问题,手动设置 kubelet 命令行参数并禁用 swap。 - 发现 postmarketOS 的 nftables 防火墙规则导致 kubelet 端口被阻,且内核缺少 numgem 模块影响 kube-proxy,遂构建 Linux 内核并安装模块。
- 解决网络连接问题,使用旧的带网口的 dongle 并自动优先选择该连接,关闭手机屏幕并将其 IP 加入 HAProxy 进行负载均衡。
重要细节: - 使用 postmarketOS 网络刷写工具刷机,containerd 有自己的服务定义,Kubernetes 文档有示例。
- 构建内核时参考 postmarketOS 内核编译 wiki 页面,下载设备对应的 APKBUILD 文件并配置,运行
make
命令并添加输出目录,最后使用pmbootstrap
命令生成 apk 并安装。 - 整个过程花费约一天时间,包括调试和解决各种问题,作者不确定是否推荐这样做,取决于对 troubleshooting 的容忍度和手机对 postmarketOS 的支持。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。