将一加 6T 回收利用为 Kubernetes 节点

主要观点:作者将闲置的一加 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 的支持。
阅读 7
0 条评论