在你的 Linux 家庭实验室中运行 Kubernetes 的 5 个更多理由

Kubernetes 的优势不仅仅在于它能做什么,还在于了解它能为你做什么。
99 位读者喜欢这个。
Working from home at a laptop

Opensource.com

在你的 Raspberry Pi 家庭实验室中运行 Kubernetes 的 5 个理由 中,我解释了你可能想在家中使用 Kubernetes 的原因。这些理由相对随意,并且主要关注结果。除了 Kubernetes 可以做什么之外,还有其他几个很好的理由将 Kubernetes 视为你的个人计算体验中重要的下一步。

1. 它建立在 Linux 的基础上

Kubernetes 有一定的声誉。更准确地说,它有几种声誉。对于某些人来说,它是一种名称难以发音的神秘技术。对于另一些人来说,它是一个牧羊犬,帮助他们管理过多的容器。对于其他人来说,它是云的一种操作系统,是有效云开发的有用接口。对于大多数人来说,可能它只是他们从未听说过的后端软件。正如你可能期望的那样,它是所有这些以及更多。

并非每个人都以相同的方式与 Kubernetes 交互,但如果你有系统管理的倾向,你会发现 Kubernetes 只是另一个 Linux 命令

我有一件 T 恤,上面写着“容器就是 Linux”,这说明了一个显而易见的事实。容器技术使用 cgroups 运行包含应用程序或一组应用程序的最小 Linux 操作系统镜像。从开始到结束,当你选择运行容器时,你就是在选择运行 Linux。虽然 Kubernetes 命令可以在许多平台上运行,但它管理的是 Linux 容器,当你通过终端与 Kubernetes 交互时,这与通常的 Linux 操作一样:命令、选项、参数、语法。运行 kubeadm 或(在 OKD 或 OpenShift 上)oc 命令感觉很熟悉,因为它们的工作方式与你习惯运行的任何其他 Linux 命令一样。最初看起来很陌生的东西很快就会变得自然,任何对在终端花费时间感兴趣的 Linux 用户都可以在 Kubernetes 中找到很多有趣的东西去探索。

2. 灵活

Kubernetes 曾经有点僵化。它基本上只支持一种容器运行时——事实上,至今仍有一个硬编码的 shim 来绕过这种遗留问题。幸运的是,今天的 Kubernetes 已经变得足够灵活,可以满足管理员的各种需求。有 PodmanCRI-O 可用作容器引擎,两者都可以与 systemd 集成。(当我告诉你这一切都在 Linux 底层运行时,我是认真的。)你可以选择文件系统、集群大小和结构、监控工具、镜像、编程语言等等。坦率地说,有些人说选择太多了,我通常怀疑再过几年,它就会有足够我需要的选择了。

3. 个人发展

容器是一项有利可图的业务,它们有快速繁殖的习惯。这是设计使然。容器旨在扩展,它们通过生成克隆来扩展。将容器放入组中(称它们为pod),并自动化 pod 生命周期管理的方式。这就是 Kubernetes 的全部,它正在改变服务器的运行方式。

你可能不需要无限可扩展的容器集合,你也可能不需要任何东西来帮助你管理你运行的一个或两个容器。但是,如果你希望从你管理 pod 的能力中获利,那么 Kubernetes 正是你想要的工具。随着越来越多的公司和组织走向全球并拥抱 数字化转型,Kubernetes 正在成为 IT 领域的一项必备技能。如果这是你要走的路,那么现在学习它并熟悉常见问题及其解决方案是一个很好的投资。

4. 让容器变得有意义

你可能还记得几年前,开源项目开始以 容器镜像 的形式分发他们的代码。对于许多人来说,当时这令人费解。没有多少管理员真正 理解容器是什么,或者想象中的容器的边界在哪里,或者如何进入容器,或者为什么数据不能存在于容器内部。

现在,包括开发人员在内的 IT 世界已经习惯了容器的概念。交付到容器对于现代 CI/CD 工作流程 来说是有意义的。然而,对于系统管理员来说,容器的优势是双重的:安装(理论上)比等待发行版更新其软件包更容易,并且容器可以扩展。然而,在你使用 Kubernetes 之前,这两种好处很可能都不会真正显现出来。一旦你开始使用 Kubernetes 和相关工具管理容器,持续交付和扩展能力的好处可能仅仅是你读到过的想法。将容器集成到你管理服务器的方式中,你就会突然明白兴奋点在哪里。

最基本的测试使其非常清楚。只需在容器中启动你最喜欢的 Web 服务器,创建一个 pod,然后使用来自 Apache JMeter 的流量冲击你的服务器,并观察容器的响应。

5. 云原生

如果你从事的开发工作多于系统管理,Kubernetes 为最容易成为所有目标的应用提供了出色的平台:Web 应用程序。我们现在都使用 Web 应用程序,即使大多数人只是将它们视为“网站”。Web 拥有庞大的用户群(至少可以这么说),因此通过浏览器提供开源应用程序是有意义的。有一些很棒的开源应用程序可以通过网络运行,其中许多应用程序以容器的形式交付,以提供简单的安装和一致的用户体验。

奖励:它很有趣

还记得你刚接触 Linux 的时候吗?对于某些人来说,那可能已经是几十年前的事了,而对于另一些人来说,它仍然即将到来。然而,对于我们所有人来说,学习新事物可能是一个有趣的挑战。如果你已经到了安装 Linux 更多的是麻烦而不是挑战的地步,你可能想尝试在你的杂物间里构建一个 Kubernetes 集群。它将重新向你介绍你已经忘记的各种概念。破解纯文本(特别是 YAML)配置文件,配置网络接口和网络,路由流量,仔细研究一个后端优于另一个后端的优点和缺点,在 --dry-run 测试之后运行 --dry-run,试探性地按下回车键,看看你是否一切都正确。老实说,Kubernetes 真的很有趣。

如果你想构建自己的基础设施,没有什么比构建自己的 Kubernetes 集群更让人兴奋的了。一个全新的世界将向你敞开。你很快就会成为一名云架构师,完善你的开放云,在容器中安装令人惊叹的开源 Web 应用程序,甚至可能向你的家人和朋友提供访问权限。

你成为了解决方案。这非常令人满意。

探索 Kubernetes

Kubernetes 最初可能看起来遥不可及。它是新的,有点可怕,更糟糕的是,它显然需要云。但是,有一些入门方法。

首先,安装 MinikubeMinishift。这两者都允许你在你的个人计算机上运行 Kubernetes 的本地实例。它不如构建一个集群并向你的朋友开放那样令人满意,但它是熟悉环境、命令和工具包的好方法,而且很安全。

一旦你为真正的集群做好了准备,请阅读 Chris Collins 的文章 用 Raspberry Pi 构建 Kubernetes 集群。之后,下载我们的免费电子书 在你的 Raspberry Pi 家庭实验室上运行 Kubernetes。在你意识到之前,你也会发现自己穿着 Kubernetes T 恤。

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

2 条评论

#!让容器变得有意义

它们既复杂又不像看起来那么复杂。如果你是在问自己,那么你应该仔细阅读这篇文章

https://open-source.net.cn/article/18/11/behind-scenes-linux-containers

它通过查看一个相当简单的示例(独立于任何周围的技术)来帮助解释容器。

仔细想想,一篇关于从头开始构建容器的文章可能也会有所帮助。我已经把它添加到我的列表中了...

回复 ,作者 heap

© . All rights reserved.