本文发表于一年多前。旧文章可能包含过时内容。请检查页面中的信息自发布以来是否已变得不正确。
创建一个运行 Kubernetes 的树莓派集群,购物清单(第 1 部分)
在 Devoxx Belgium 和 Devoxx Morocco 大会上,Ray Tsang 和我展示了我们在 Quintor 公司构建的一个运行 HypriotOS、Docker 和 Kubernetes 的树莓派集群。对于那些没有看到演讲的人,您可以查看演示的简略版本或 Ray 关于在 Kubernetes 中开发和部署基于 Java 的微服务的完整演讲。虽然我们的演讲得到了很多赞扬,但最常见的问题是如何自己构建一个 Pi 集群!我们将分两部分完成这项工作。这第一篇文章将涵盖集群的购物清单,第二篇将向您展示如何使其启动并运行……
等等!为什么要费劲构建一个运行 Kubernetes 的树莓派集群?
我们在 Quintor 构建 Pi 集群有两个主要原因。首先,我们想在真实硬件上大规模试验容器技术。您可以使用虚拟机尝试容器技术,但 Kubernetes 在裸机上运行得也很好。为了探索那会是怎样的体验,我们构建了一个树莓派集群,就像我们会在生产数据中心构建一个机器集群一样。这使我们能够理解和模拟 Kubernetes 迁移到我们的数据中心后将如何工作。
其次,我们不想为这项探索而耗费巨额预算。还有什么比树莓派更便宜呢!如果你想构建一个包含许多节点的集群,每个节点都应该有一个良好的成本效益比。我们的 Pi 集群有 20 个 CPU 内核,这比许多服务器都多,但成本不到 400 美元。此外,总功耗低,外形小巧,这对于这类演示系统来说非常棒。
所以,闲话少说,让我们来看看硬件。
购物清单
5 | 树莓派 2 Model 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 多层树莓派堆叠式外壳 | ~$60 |
1 | ModMyPi 多层树莓派堆叠式外壳 - 螺栓包 | ~$7 |
5 | Micro USB 线缆(白色)1 英尺长 | ~ $10 |
5 | UTP cat5 线缆(白色)1 英尺长 | ~ $10 |
总计约 380 美元,您将拥有一套构建我们所创建的树莓派集群的套装
我们的一些考量
我们集群中使用的是树莓派 2 Model B 开发板,而不是树莓派 1 开发板,因为 Pi 2 具有更强的 CPU 性能(四核 900MHz,而 Pi 1 是双核 700MHz)和更多的可用内存(1GB,而 Pi 1 是 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 端口的。