摘要:单板计算机(SBC)制造商不断在每一代产品中提升其信用卡大小的设备的功能,树莓派基金会也不例外。最初作为吸引学生学习编程这门深奥技术的廉价手段,如今已演变成能够运行数千个项目的强大SBC系列。
单板计算机(SBC)制造商不断在每一代产品中提升其信用卡大小的设备的功能,树莓派基金会也不例外。最初作为吸引学生学习编程这门深奥技术的廉价手段,如今已演变成能够运行数千个项目的强大SBC系列。
说到性能,尽管虚拟机对普通树莓派来说仍然要求过高,但属于这一超热门系列的现代板卡非常适合容器化工作负载,尤其是当为板卡配备这些神奇工具后。
Docker Engine
或 Podman,具体取决于你的需求
在开始使用自托管服务之前,你需要一个能够在隔离环境中生成应用程序实例的容器运行时环境。如果你活跃于家庭实验室或树莓派论坛,你可能听说过Docker Engine。Docker Engine兼容大量容器镜像,是一个可靠的CLI平台,可让你在树莓派上托管酷炫、实用甚至疯狂的服务。
Docker Engine:
对于需要更注重安全的容器化工具且能与Docker Engine一较高下的爱折腾人士来说,你会发现Podman是树莓派工作站的可靠选择。尽管你必须处理稍逊一筹的Compose工具版本,但Podman的大部分命令语法相同,因此你可以轻松将其与Docker一起设置,并根据需要在这两者之间切换。
Portainer
终极容器管理UI
你会发现很多专家推崇Docker Engine和Podman的CLI特性,虽然我并不反对他们,但对于初学者和休闲自托管爱好者来说,基于菜单的界面几乎总是更好。作为一个因功能有限而放弃Docker Desktop的人,Portainer是我管理容器堆栈的首选工具。
如何使用 Portainer:
无论是从不同存储库中拉取镜像、在项目中利用预创建的模板、部署容器,还是修改它们的端口、卷和数据库服务,Portainer都能在各个方面满足你的需求。它在树莓派上部署也相当容易,并且在现代RPi系统上几乎不消耗任何资源。更重要的是,Portainer与Docker、Podman以及我接下来要提到的工具搭配得很好……
Kubernetes
特别是如果你有一些备用RPi板卡的话
尽管它是为高级用户设计的,但Kubernetes是该领域最好的容器编排平台之一。对于初学者来说,K8s通过其强大的自动化、自愈、负载均衡和扩展工具确保你的容器保持最佳状态。如果你计划构建一个可靠的树莓派工作站,我建议使用RPi板卡集群设置Kubernetes,不过你可以使用Minikube在投资其他SBC之前进行实验。
用 Raspberry Pi 构建了 Kubernetes 集群:
考虑到树莓派SBC的体积小和功耗低,你无需担心为你的硬核K8s集群创建额外空间或支付高额电费。或者,如果Kubernetes对你的自托管设置来说过于复杂和过度,你可以考虑Docker Swarm。
Watchtower
瞭望塔始终守望
为树莓派服务器配备所有你喜欢的服务并测试最晦涩的应用程序非常有趣。但一旦你的应用程序大军失去控制,将每个镜像更新到最新版本并使用最新镜像部署容器可能会很麻烦。
Watchtower可以为你省去很多麻烦,因为这个工具的设计初衷就是自动化你的Docker容器更新。但请记住:一定要为你的关键任务容器设置“仅监控”模式,以避免更新失败导致你喜欢的服务无法访问。
使用 Watchtower 管理家庭实验室软件的 4 个理由:
RunTiPi
自托管应用程序的最简单方式
当你刚接触家庭实验室领域时,处理容器化服务可能会很麻烦,特别是如果你采用完整的Kubernetes设置。因此,如果你正在寻找一个工具来帮助你轻松入门自托管,RunTiPi是完美的选择,因为它不需要你在microSD卡上刷入单独的发行版。
假设你的Docker/Podman容器没有占用80端口,RunTiPi可以用一个脚本进行配置。除了支持大量自托管工具外,RunTiPi还提供了一种简单的方法来为所有容器配置反向代理、身份验证和外部访问配置。
树莓派和容器项目:家庭实验室天堂的完美组合
还在寻找更多推荐吗?例如,Uptime Kuma是一个对初学者友好的监控服务,非常适合跟踪你的自托管应用程序堆栈。值得一提的是,到目前为止,我推荐的每个工具都可以与树莓派OS、Ubuntu、Debian或典型的桌面Linux发行版上的其他工具一起使用。
但如果你愿意忍受无法访问多个容器化工具的问题,当你想要一种在树莓派上部署应用程序的简单方法时,专用服务器发行版如YunoHost和UmbrelOS非常棒。最后,Rancher位于复杂性光谱的另一端,因为它是为想要为其大型Kubernetes集群提供专用管理平台的硬核树莓派爱好者而构建的。
如果觉得文章不错记得点赞,收藏,关注,转发~
来源:上海晶珩