在树莓派上运行 K3s 是我在家庭实验室中尝试过的最有收获的项目之一。K3s 的轻量特性使其非常适合 树莓派集群,而且它让我可以以既可靠又易于管理的方式运行应用程序。随着时间的推移,我尝试了好几种不同的工作负载,其中一些已经成为我设置中的固定应用。以下是我部署的五个最有用的应用程序。
Uptime Kuma 用于服务监控
检查自托管应用的健康状况和状态
Uptime Kuma 非常适合我的树莓派集群。它监控我自托管服务和外部端点的可用性,并在一个干净的网页仪表板上显示所有信息。在 K3s 的管理下,我可以轻松重新部署或更新服务,完全不用担心丢失数据或破坏配置。
即使多个服务每分钟都在检查,树莓派的硬件几乎没有感受到负载。这种效率正是 Kuma 成为小型集群优秀监控解决方案的原因之一。我还使用它的通知系统,在某个服务下线的第一时间向我发送警报。有了这种可见性,我在故障排除时省了不少时间。
这个设置之所以出色,正是因为 Kubernetes 处理弹性的方式。如果一个 Kuma pod 崩溃或我重启其中一个节点,K3s 会自动启动一个替代实例。这意味着我不需要手动干预就能恢复监控,这对这么关键的服务来说真让人放心。
Pi-hole 实现 DNS 级别的广告屏蔽
在整个网络中屏蔽广告和追踪器
Pi-hole 是我现在无法想象没有的应用之一。它通过过滤 DNS 请求,在广告和追踪器到达我的设备之前就将其屏蔽。在 K3s 上部署后,我可以在集群中运行多个实例,这样即使一个节点出现故障,我的网络也能继续正常工作。
树莓派 轻松应对这个工作负载。即使家里有多个设备在进行流媒体播放或浏览,Pi-hole 也能快速响应,保持浏览体验的流畅。我还在 Kubernetes 中使用持久卷,确保我的屏蔽列表和查询日志在重启后依然保留。这使得设置既可靠又方便。
其中一个最显著的好处是我可以轻松扩展 Pi-hole。添加或更新屏蔽列表只需修改容器配置。在 K3s 的管理下,这些更改顺利传播,几乎没有停机时间。这是一种低维护、高回报的解决方案。
自托管 Git 仓库的 Gitea
管理个人和项目代码仓库
用 Gitea 自己托管 Git 仓库是一个让我很满意的项目。它是 GitHub 或 GitLab 的轻量级替代品,非常适合 Raspberry Pi 的有限资源。通过 K3s 进行编排,我在数据库容器旁边运行 Gitea,并保持一切整齐分开。
这种分离在升级时非常有帮助。这样一来,我就不用担心整个系统崩溃,可以根据需要回滚或重新部署单个容器。这种灵活性使维护变得轻松得多。虽然 Pi 的性能可能不强大,但 Gitea 运行顺畅并不需要太多资源。
我主要用它来托管个人项目和配置文件,同时它也给我提供了一个实验 CI/CD 管道的机会。虽然这些管道可能不直接在 Pi 上运行,但通过 Gitea 管理它们让我能在受控环境中测试工作流程。没想到这样一个小工具竟然这么强大。
用于访问的Nginx代理管理器
简化反向代理与SSL管理
在我的集群中,Nginx代理管理器让处理外部访问变得更简单。它提供了一个简单的Web界面,用于配置反向代理、管理SSL证书以及将流量路由到正确的服务。与K3s一起部署让我可以冗余运行,避免网络流量出现单点故障。
这个界面让我在部署新服务时变得简单明了。我不再需要手动编辑冗长的配置文件,只需填写一个表单并应用更改。这节省了时间并减少了错误,尤其是在处理多个自托管应用时。
另一个优点是它内置了对Let’s Encrypt的支持。证书会自动续订,我不需要担心它们在最糟糕的时刻过期。结合Kubernetes的编排,它为我的集群提供了一个可靠且安全的入口。
Grafana 和 Prometheus 的指标监控
可视化性能与资源使用监控
为了更深入地了解 我的集群表现,我在 Grafana 旁边运行 Prometheus。Prometheus 从我的容器和节点收集指标,Grafana 则将这些数据转化为清晰、互动的仪表盘。这比其他一些应用的工作负载要重,但 K3s 通过在集群中分担负载,使其变得可管理。
树莓派的性能可能比不上完整的服务器,但经过仔细调优,Prometheus 和 Grafana 运行得非常稳定。我不会保留几个月的历史数据,因为那样会占用太多存储空间,但对于较短的保留期,它运行得很好。仪表盘让我实时监控所有节点的 CPU、内存和网络使用情况。
这个配置在发现瓶颈和规划升级方面非常有价值。如果某个服务开始消耗超出预期的资源,我会立刻发现。这种可见性帮助我保持集群的健康,避免出现意外。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.