在你的 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 是一种轻松驾驭大量潜在能力的方法。您对这些概念了解得越多,就越能更好地为职业发展做好准备。

云在早期最令人沮丧的方面之一是其不可访问性。如果您没有成排的服务器,就很难获得管理和维护云基础设施的经验。得益于 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 License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.