在KubeEdge上部署Shifu
如今十分流行的开源项目 KubeEdge
给开发者提供了一个基于 Kubernetes
的云边协同方案。它成功地将 Kubernetes
的集群编排能力融合到了物联网的边缘场景之中,使得对边缘算力的调度和管理更加轻量、也更加高效。
Shifu 作为同样基于 Kubernetes
的开源物联网开发框架,它对于多种设备的兼容和虚拟化将为 KubeEdge
在边缘端的应用提供助力。事实上,二者在能力上拥有非常好的互补性,在多设备兼容的同时,运行在 KubeEdge
上的 Shifu
可以轻松管理边缘端运行的轻量 Pod
。
有了 KubeEdge
+ Shifu 的强强联手,我们就可以把IoT设备抽象成 API
,把原本复杂的传统物联网开发模式转化为简单的Web开发模式!
下面就让我们来看一下如何让 Shifu 运行在 KubeEdge
上,并且给开发者们提供价值吧!
简介
本文将简单介绍在 KubeEdge
上部署 Shifu 的步骤,并接入一个海康威视的摄像头(使用 RTSP
进行视频流传输)的实例,为 KubeEdge
的架构加入海康威视摄像头支持。
本文使用的架构如下:

准备
本文使用了如下服务和工具:
Kubernetes
: 1.21.5kubectl
kubeadm
kubelet
Golang
: 1.16.10Docker
: 19.03.9KubeEdge
: 1.7.2
同时,KubeEdge
的 Cloud端
和 Edge端
分别运行在不同的 Linux
实例上,环境均为 Ubuntu Server 20.04
。
上述服务和工具中,Cloud端
需要安装全部上述服务和工具,而 Edge端
只需要安装 Docker
和 KubeEdge
。
第一步 在Cloud端部署Kubernetes
本步可以参考Kubernetes的官方教程进行部署。
在部署完成后我们应当看到终端打印出如下信息:

第二步 在Cloud端部署Shifu
将 Shifu 的 Github
仓库克隆到本地:
git clone https://github.com/Edgenesis/shifu.git
然后可以通过下列命令部署 Shifu:
kubectl apply -f shifu/pkg/k8s/crd/install/shifu_install.yml
部署完成后我们应当看到 Shifu 的 CRD controller
已经完成部署:
