ARM部署Kubernetes¶
概述¶
ARM架构已经得到了广泛的软件支持,包括Docker和Kubernetes。树莓派是当前应用最广泛的单板ARM计算机,廉价但性能可观的微型计算机设备,可以用来构建大量节点的分布式集群,甚至可以构建Beowulf cluster,替代了以往必须在笔记本上运行多个虚拟机来模拟集群的解决方案。
Collins撰写了一篇非常详尽的step-by-step指南,方便我们在3个或更多树莓派上构建Kubernetes集群。在此基础上,我们可以不断添加新的树莓派worker节点,也可以在Kubernetes上构建 OpenShift Atlas 以及各种 Web Atlas 基础架构。
我的设备规划¶
我在 ARM Atlas 架构下,采用以下ARM设备来构建Kubernetes集群:
- 3台 Raspberry Pi 树莓派4: 其中 1台作为master管控服务器(2G配置),另外2台是worker节点(8G配置) - 我在2021年重新思考部署架构,准备参考 How to Build a Kubernetes Cluster with ARM Raspberry Pi then run .NET Core on OpenFaas 调整成采用3台树莓派3作为管控节点,将原先的树莓派4B改造成纯工作节点,这样可以充分利用硬件性能。 - 2021年初购买的 树莓派Raspberry Pi 400 可以作为性能测试以及客户端主机,来对整个集群进行压测和管理
- 1台 NVIDIA Jetson 作为worker节点,提供GPU设备构建GPU Docker容器,支持 Machine Learning Atlas
- 1台 ThinkPad X220笔记本 运行 Arch Linux 作为模拟X86异构Kubernetes工作节点
- 若干台在远程服务器上运行 KVM Atlas 虚拟机,作为X86异构的Kubernetes工作节点,实现模拟现实数据中心Kubernetes集群异构。(这里有一个跨机房以及外网网段和内网网段问题,我在思考如何解决,或许需要采用复杂的VPC架构来解决)
部署和实践¶
通过上述ARM硬件组合 部署ARM架构Kubernetes ,并完成 Kubernetes实践
参考¶
- How Raspberry Pi and Kubernetes work together - 提供了丰富的信息汇总
- Build a Kubernetes cluster with the Raspberry Pi - 完整的部署指南
- How to Build a Kubernetes Cluster with ARM Raspberry Pi then run .NET Core on OpenFaas - 介绍了在6台树莓派3上构建完整的Kubernetes集群,对我有很大启发
- luxas/kubernetes-on-arm开源项目 是一个早期(2016)年的项目,开发者介绍了 Building a multi-platform Kubernetes cluster on bare metal with kubeadm 使用了不同的ARM设备构建了Kubernetes集群