在你的 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、尝试性地按下 Return 键以 выяснить 你是否一切都做对了。 老实说,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

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.