本文发布时间已超过一年。较旧的文章可能包含过时的内容。请检查页面中的信息自发布以来是否仍然正确。
创建一个运行 Kubernetes 的树莓派集群,购物清单篇(第一部分)
在 Devoxx 比利时和 Devoxx 摩洛哥,Ray Tsang 和我展示了我们在 Quintor 构建的一个运行 HypriotOS、Docker 和 Kubernetes 的树莓派集群。对于那些没有看到演讲的人,您可以查看演示的简短版本或 Ray 关于在 Kubernetes 中开发和部署基于 Java 的微服务的完整演讲。虽然我们收到了很多关于演讲的赞美,但最常见的问题是如何自己构建一个 Pi 集群!我们将分两部分来介绍。第一篇文章将介绍集群的购物清单,第二篇文章将向您展示如何启动并运行它。。。
等等!为什么要构建一个运行 Kubernetes 的树莓派集群?
我们在 Quintor 构建 Pi 集群有两个主要原因。首先,我们想在真实硬件上大规模试验容器技术。您可以使用虚拟机试用容器技术,但 Kubernetes 在裸金属上也能出色运行。为了探索这会是什么样子,我们构建了一个树莓派集群,就像我们在生产数据中心构建机器集群一样。这使我们能够理解和模拟 Kubernetes 在迁移到我们的数据中心时将如何工作。
其次,我们不想为了进行这项探索而超出预算。还有什么比树莓派更便宜的呢!如果您想构建一个包含许多节点的集群,每个节点都应该具有良好的性价比。我们的 Pi 集群有 20 个 CPU 内核,比许多服务器都多,但成本却不到 400 美元。此外,总功耗低,外形尺寸小,非常适合这类演示系统。
所以,事不宜迟,让我们来看看硬件。
购物清单
5 | 树莓派 2 型号 B | ~$200 |
5 | 16 GB micro SD 卡,10 级 | ~ $45 |
1 | D-Link 交换机 GO-SW-8E 8 端口 | ~$15 |
1 | Anker 60W 6 端口 PowerPort USB 充电器(白色) | ~$35 |
3 | ModMyPi 多层可堆叠树莓派外壳 | ~$60 |
1 | ModMyPi 多层可堆叠树莓派外壳 - 螺栓包 | ~$7 |
5 | Micro USB 数据线(白色)1 英尺长 | ~ $10 |
5 | UTP cat5 网线(白色)1 英尺长 | ~ $10 |
总共大约 380 美元,您将拥有一套构建树莓派集群的组件,就像我们构建的那样
我们的一些考虑因素
我们在集群中使用树莓派 2 型号 B 板而不是 Pi 1 板,是因为其 CPU 功率(四核 @ 900MHz,而不是双核 @ 700MHz)和可用内存(1 GB,而不是 512MB)。这些规格允许我们在每个 Pi 上运行多个容器,以正确地试验 Kubernetes。
我们选择在每个 Pi 中使用 16GB 的 SD 卡,以便在文件系统存储方面更安全。事后看来,8GB 似乎就足够了。
请注意,GeauxRobot 可堆叠外壳看起来像是 ModMyPi 可堆叠外壳的替代品,但它更小,这可能会导致 Anker USB 适配器和 D-Link 网络交换机的放置出现问题。因此,我们坚持使用 ModMyPi 外壳。
组装
构建树莓派集群非常简单。大部分工作是组装可堆叠外壳并将 Pi 板安装在有机玻璃板上。我们使用双面泡沫胶带安装了网络交换机和 USB 适配器,这在大多数情况下感觉足够牢固。最后,我们连接了 USB 和 UTP 电缆。接下来,我们在每个 Pi 上安装了 HypriotOS。HypriotOS 是一个基于 Raspbian 的树莓派 Linux 操作系统,扩展了 Docker 支持。Hypriot 团队有一个关于在树莓派上开始使用 Docker的优秀教程。按照本教程在所有 Pi 上运行 Linux 和 Docker。
这样,您就准备好了!接下来将在树莓派集群上运行 Kubernetes。我们将在下一篇文章中介绍这一点,敬请期待!
** ## [1] ## ** **[1] ** 通过构建一个由四个 Pi(而不是五个)组成的堆栈来节省约 90 美元。这也意味着您可以使用 5 端口 Anker USB 充电器而不是 6 端口充电器。