使用树莓派和Cloudflare Tunnel搭建k3s集群

💡 原文英文,约1700词,阅读约需7分钟。
📝

内容提要

本文介绍了使用树莓派搭建可访问的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并禁用内存交换,确保系统配置正确。

🏷️

标签

➡️

继续阅读