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