边缘云计算架构

我陆续购买多多代 Raspberry Pi 设备,在最初构建 私有云架构 时,我采用的还是完整的 ARM架构Kubernetes 。不过,我也在思考如何能够尽可能少消耗树莓派的硬件资源来完成更多的计算。轻量级始终是ARM架构(资源有限的系统)的技术关键,类似 Akraino边缘计算 ,我逐步想要在ARM架构上构建一个轻量级的边缘计算平台。

注解

最近在部署 K3s - 轻量级Kubernetes 集群时候,偶然发现原来有人和我类似的思路,并且已经实践并分享了方案和经验,请参考 rpi4cluster.com ,方案和文档非常清晰完备。

我准备借鉴并尝试不同的应用应用迭代,构建适合自己同时能够进一步完善的解决方案。

我将树莓派组建成一个微型集群,运行 K3s - 轻量级Kubernetes 并通过 Rancher Atlas 实现一个PaaS环境。这是一个个人开发和实践环境,通过完整的CI/CD来实现个人工作室。

硬件环境

我购买过多代树莓派产品以及 Jetson Nano :

我将 3个 树莓派Raspberry Pi 4 和 3 个 树莓派Raspberry Pi 3 堆叠起来,构建一个mini的树莓派集群:

../../_images/edge_cloud_pi.jpg

ARM服务器分布

ARM边缘计算主机分配

主机IP

主机名

cpu

内存(G)

磁盘(G)

说明

192.168.10.10

a-k3s-n-0

1

0.25

16 SD

树莓派1B

192.168.10.11

a-k3s-n-1

1

0.5

16 SD

树莓派1B

192.168.10.12

a-k3s-n-2

1

0.5

16 SD

树莓派1B

192.168.7.1

x-adm

4

4

128 SD

树莓派 400

192.168.7.2

x-zero

1

0.5

128 SD

树莓派zero-w

192.168.7.11

x-k3s-m-1

4

1

64 SD

树莓派 B3 - k3s master

192.168.7.11

etcd

etcd服务DNS RoundRobin

192.168.7.11

apiserver

apiserver服务DNS RoundRobin

192.168.7.12

x-k3s-m-2

4

1

64 SD

树莓派 B3 - k3s master

192.168.7.12

etcd

etcd服务DNS RoundRobin

192.168.7.12

apiserver

apiserver服务DNS RoundRobin

192.168.7.13

x-k3s-m-3

4

1

64 SD

树莓派 B3 - k3s master

192.168.7.13

etcd

etcd服务DNS RoundRobin

192.168.7.13

apiserver

apiserver服务DNS RoundRobin

192.168.7.12

x-k3s-m-2

4

1

64 SD

树莓派 B3 - k3s master

192.168.7.20

x-k3s-n-0

4

2

512SSD

树莓派 B4 - ceph/monitor

192.168.7.21

x-k3s-n-1

4

8

512SSD

树莓派 B4 - ceph/k3s node

192.168.7.22

x-k3s-n-2

4

8

512SSD

树莓派 B4 - ceph/k3s node

192.168.7.23

x-k3s-n-3

4

4

128 SD

Jetson Nano - GPU/k3s node

192.168.7.253

x-dev

2

2

6

容器

192.168.7.254

raspberrypi

4

128 SD

树莓派 B4 - rasbian系统(升级和修复)

ARM架构的边缘计算采用了 192.168.7.x 作为网络IP段,和 私有云架构192.168.6.x 隔离,中间采用 3层 Cisco 网络 路由

虽然也可以在树莓派上实现 ARM硬件环境KVM虚拟化 ,但是考虑到边缘计算硬件性能有限,所以采用轻量级 Kubernetes Atlas 实现 K3s - 轻量级Kubernetes 来构建mini集群,目标是实现:

  • 任意调度计算资源实现服务的伸缩、高可用

  • 构建边缘计算场景: 传感器数据采集、存储、传输,以及独立的AI计算,结合 私有云计算构建 的强大算力,实现云计算的合理分布

注解

  • 服务器主机IP段位于:

    • 192.168.7.1 ~ 192.168.7.150

    • 192.168.7.200 ~ 192.168.7.254

  • 保留一段IP用于内网DHCP,提供手机等移动客户端使用:

    • 192.168.7.151 ~ 192.168.7.199

网络互联(原构想)

模拟多机房互联:

网络互联

作为边缘云计算集群,ARM设备的低功耗适合构建在无需风扇散热的角落里。我在家中采用树莓派构建一个无风扇的静音集群,安装在桌子底下的树莓派设备,完全不会影响工作生活。那么,如何实现树莓派连接外部网络,以及对外提供服务访问呢: