使用树莓派和Cloudflare Tunnel搭建k3s集群
内容提要
本文介绍了使用树莓派搭建可访问的k3s集群,包括树莓派设置、SSH连接、Cloudflare Tunnel和Nginx服务器的运行测试,DNS配置和Cloudflare Tunnel创建,以及k3s集群中Nginx容器的设置和测试。
延伸解读
Cloudflare Tunnel 的免费与高可用特性
文章提到 Cloudflare Tunnel 可以免费使用,并且支持多个 cloudflared 实例连接到同一个隧道,从而避免单点故障。这意味着即使一个实例宕机,其他实例仍能维持服务,提高了可靠性。对于个人项目,这提供了低成本且具备一定容错能力的公网暴露方案。
有线连接对 k3s 集群稳定性的影响
作者建议使用有线连接而非 WiFi,因为 WiFi 可能导致意外断开,尤其是在运行 MetalLB 时曾遇到问题。虽然本项目未使用 MetalLB,但稳定的网络连接对 k3s 集群的持续运行至关重要。有线连接能提供更可靠和快速的网络,减少因网络波动导致的服务中断。
树莓派上安装 k3s 的前置配置
在树莓派上安装 k3s 前,需要启用 cgroup 并禁用内存交换。具体操作包括修改 /boot/firmware/cmdline.txt 添加 cgroup 参数,以及停止并禁用 dphys-swapfile 服务。这些步骤确保 k3s 能正常运行,因为 Kubernetes 依赖 cgroup 进行资源隔离,而交换内存可能影响性能。
从本地 PC 管理 k3s 集群的配置要点
为了从本地 PC 使用 kubectl 管理 k3s 集群,需要将 master 节点上的 /etc/rancher/k3s/k3s.yaml 复制到本地,并将文件中的回环地址替换为树莓派的 IP 地址。这样本地 kubectl 就能远程访问集群,方便日常管理和调试。
Q&A
如何使用树莓派搭建k3s集群?
首先,设置树莓派并启用SSH连接,然后安装k3s并配置Cloudflare Tunnel以实现远程访问。
k3s是什么?
k3s是适合物联网和边缘设备的轻量级Kubernetes版本,易于安装和运行。
为什么建议使用有线连接而非WiFi?
有线连接更可靠且速度更快,可以避免意外断线的问题。
如何配置Cloudflare Tunnel?
在Cloudflare仪表板中创建新隧道,安装cloudflared并配置公共主机名和服务。
如何从本地PC访问k3s集群?
需要安装kubectl并将k3s的配置文件复制到本地PC,然后使用kubectl命令访问集群。
在树莓派上安装k3s前需要做哪些准备?
需要启用cgroup并禁用内存交换,确保系统配置正确。