在你的 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 走进了奇特的计算世界,拼命想弄清楚如何在 Myspace 或 Geocities 页面上放置动画 GIF。 从基本的 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本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.