首页 > 解决方案 > 主节点的硬件是否应该与 Kubernetes 设置的工作节点的硬件相同?

问题描述

我是 Kubernetes 新手,正在家里建立一个树莓派集群,我想把 Kubernetes 放在上面。我有 4 个新的 raspberry pi 4s,每个 8gb 和一个旧的 raspberry pi 2+。两种型号之间存在一些硬件差异,但我认为从技术上讲,我可以让旧的 pi2 成为管理 pi4s 的主节点。我想知道这是否是个好主意。我真的不明白这样做的后果是什么。例如,如果我将来要将我的小集群扩展到 8 个或 16 个 pi4,我的一个 pi2 会不会在管理工人时超载?我真的很想了解在 Kubernetes 的主/工作节点关系中将低级硬件控制高级硬件的后果。

我对这个硬件有三个主要目标。我想重新创建一个完整的开发环境,所以一些虚拟机将托管一个测试环境、一个登台环境、一个开发环境,然后是一个用于托管一些玩具网站的小型生产环境,然后我希望能够托管一些服务对于我在 Kubernetes 中的我来说,比如 nas 存储服务、本地 github 存储库、面向外部的 plex 媒体服务器等等。我认为我可以使用 k8s 将所有这些容器化,但是将 pi2 作为 master 将如何限制我呢?提前致谢。

标签: ubuntukubernetesraspberry-pi

解决方案


通常,kubernetes master使用更多的资源,因为它们默认运行很多东西和检查。主要是因为etcdapiserver。etcd 是存储 Kubernetes 中发生的一切的数据库,apiserver接收来自集群内外的所有 api 请求,检查权限、证书等。

但这并不总是事实,有时您的节点可能有很多繁重的应用程序,比master消耗更多的资源。

总是有推荐的规范,我们的业务逻辑和企业应用程序的特定规范,以及“我们拥有什么”规范。

因为你可以在不同的机器之间移动 pod,你可以从你的 master 上减轻一些重量,没问题。


推荐阅读