在你的 Raspberry Pi 家庭实验室上运行 Kubernetes 的 5 个理由

一本新的免费电子书提供了在家创建私有云的分步说明,包括完成后你可以用它做什么。
209 位读者喜欢这个。
Ship captain sailing the Kubernetes seas

关于云有一个说法,大概是这样的:云只是别人的电脑。 虽然云实际上比这复杂得多(它是很多电脑),但这种说法有很多道理。当你迁移到云时,你正在将数据、服务和计算能力转移到一个你不拥有或完全控制的实体。一方面,这让你从执行你不想做的管理任务中解放出来,但另一方面,这可能意味着你不再控制自己的电脑。

这就是为什么开源世界喜欢谈论开放混合云,这是一种允许你选择自己的基础设施、选择自己的操作系统并根据自己的意愿编排工作负载的模型。但是,如果你碰巧没有可用的开放混合云,你可以创建自己的云——要么帮助你了解云的工作原理,要么为你的本地网络服务。

构建你自己的云至少需要三台 Raspberry Pi 设备、一个作为操作系统的 Arm Linux 发行版,以及 Kubernetes 来帮助你管理你的云将运行的容器。Chris Collins 在我们的新电子书中解释了你需要采取的每个步骤来实现这一点。如果你曾经构建过分布式计算节点阵列,你可能会对它的简单程度感到惊讶。比你预期的要快,你将到达安装的末尾,并且你将不可避免地面临这个问题

现在怎么办?

在你的办公室里的小型计算机上运行的私有云的实际应用是什么?你到底需要 Kubernetes 干什么?我过去常常问自己同样的问题,我已经想出了足够的答案来证明对一两个备用 Raspberry Pi 的少量投资以及按照 Chris 的电子书中的说明进行操作所需的时间是合理的。这里有一些想法供你参考。

用于你家的网络附加存储

如果你是一个只是想尝试最新技术的爱好者,那么最简单的切入点之一是改进你的网络。自从 Raspberry Pi 发布以来,我从未没有过家用服务器——即使在我家只是郊区租来的房间的时候也是如此。我的家庭网络并不总是非常复杂,但它们运行着一些我喜欢可用的服务,所以它很适合我。

通过跟随 Chris 的电子书,我最近在我的网络中添加了 Kubernetes 和一些节点,这使我能够添加任意数量的服务。我终于让网络文件系统 (NFS) 运行起来了,所以我的伴侣和我有一个简单的备份计划,并且可以访问共享文件,就像它们存在于我们正在使用的任何计算机上一样。我还运行着开源的 Kodi 媒体服务器,所以我们可以在房子的任何地方观看电影、听音乐和查看照片(所有这些都存储在 NFS 共享上)。Nextcloud 的安装使协作变得容易,它还可以帮助我们与在其他国家的家庭成员保持联系,而无需求助于像 Facebook 这样的平台。

简而言之,Kubernetes 和许多可用于轻松安装的容器镜像已将我的本地网络转变为我自己的个人互联网或超级计算机。它没有为所有人提供所有服务,但它精确地为我希望访问的人员提供了我想要的服务。

如果你正在跨多个设备复制媒体或应用程序,或者正在构建家庭服务器,你应该考虑 Kubernetes 集群。它易于扩展以获得 power 和存储,易于维护,并且非常有趣。

教育和技能提升

你是否正在考虑从事 IT 行业?你是否已经在 IT 行业工作,但想作为专业人士成长?云是一个强大的模型,Kubernetes 是掌控大量潜在 power 的简单方法。你对这些概念了解得越多,你就越能为在职业生涯中晋升做好准备。

云在早期最令人沮丧的方面之一是它的不可访问性。如果你不拥有成排的服务器,就很难获得管理和维护云基础设施的经验。感谢像 KubernetesOKDLXCPodman 这样的开源项目,构建你自己的云已成为可能。感谢 Raspberry Pi 和其他基于 Arm 的片上系统 (SoC) 计算机,它也变得经济实惠。

Web 服务器

互联网是进入现代技术最容易的切入点之一。自 90 年代以来,普通人通过阅读 HTML 闯入奇异的计算世界,拼命试图理解如何将动画 GIF 放到 Myspace 或 Geocities 页面上。从基本的 HTML 和 CSS 自然过渡到运行 Web 服务器。诚然,Kubernetes 集群对于个人网站来说可能有点过分,但这是一个很好的项目,可以让你熟悉 Kubernetes pod 的工作原理以及它们为什么重要。这也是了解路由和负载均衡的好方法。

容器

Linux 容器改变了 IT 和整个计算领域。最初的 LXC 工具集启用并启发了 Docker、Flatpak、Kubernetes、Podman 等非常流行的技术。容器化是一种新的代码运行模型,它正在桌面和移动设备的操作系统上出现。

问题是,容器与大多数用户习惯的不同。传统上,二进制文件是根据操作系统编译的,它们链接到本地可用的库,并且通常可以访问硬盘驱动器上的所有内容。容器是不同的。它们是微型运行时环境,其中的二进制文件在其中运行,链接到容器中的其他库,并且所有内容都与主机系统隔离,除非它被授予特定豁免。此外,容器是短暂的。你可以创建容器并随意处置它。在容器中运行服务是学习数据如何在旨在随时结束和重新生成的环境中持久化的好方法。

尽管学习曲线可能很痛苦,但发现容器化应用程序是多么容易安装,开启了一个全新的可能性世界。你可以从预构建的容器定义或 Helm charts 运行 Grafana 仪表板、Prometheus 监控软件、Discourse、Nextcloud 和其他十几个应用程序。

Web 开发

如果你是为 Web 交付应用程序的开发人员,Kubernetes 提供了许多好处。它可以改变你的工作流程,最重要的是,它可以帮助使你的应用程序具有弹性。当你为云开发时,你可以在容器的上下文中利用 微服务的最佳原则,并且你可以使用分布式计算、文件系统和数据库的优势。

亲自尝试 Kubernetes

如果你已经学习了 Kubernetes 的基础知识,那么现在是时候使用你自己的私有云将你的知识更进一步了。下载我们的免费电子书 并立即开始使用 Kubernetes。你永远不知道它会把你带到哪里。

接下来阅读什么
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算行业工作,通常同时从事这两个行业。

7 条评论

你是否已成功安装 Nextcloud 以使数据位于 NFS 中?性能如何,你使用的是默认的 SQLite 还是外部数据库?

我还没有尝试将 Nextcloud 的存储放在 NFS 中。

我为 Nextcloud 使用过 SQLite 和 MariaDB。两者都运行良好。

回复 ,作者:Fox (未验证)

不错且有效的文章

非常有效的文章。解释得很好。

很棒的信息,我会尝试一下

不错的文章

Creative Commons 许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.