【探索实战】Kurator边缘计算场景实战:基于KubeEdge构建云边协同分布式平台的全流程体验分享!
Kurator社区:多云多集群管理的开源实践与贡献 本文分享了作者参与Kurator开源社区的实践经验。作为企业级多云多集群管理平台的使用者,作者最初为解决监控割裂、策略不一致等问题接触Kurator,随后通过文档纠错提交首个Issue,进而完成代码阅读和PR贡献。文章重点描述了从"使用者"到"贡献者"的转变过程:包括metric插件配置问题的发现与修复、社
开篇
大家好呀!我是超级热爱边缘计算的云原生实践者,前几次分别从整体搭建、应用分发、网络治理、集群生命周期与监控策略等角度分享了Kurator体验,这次我换一个特别实用的角度——边缘计算场景下的云边协同实战。Kurator深度集成了KubeEdge,能够轻松实现云端统一管理边缘节点、边缘应用下发、设备映射、边缘自治等能力,这正是很多物联网、智能制造、智慧零售场景的刚需!
这次我将完整记录从零开始搭建Kurator + KubeEdge云边环境、注册边缘节点、下发边缘应用、实现边缘自治的全过程,包含详细步骤、代码示例、验证方式,以及对边缘场景运维价值的分析。希望能给正在探索云边协同的朋友带来启发,一起加油拥抱边缘云原生时代吧!
一、Kurator在边缘计算场景中的核心价值
随着5G和物联网爆发,边缘计算需求爆发式增长,但传统方案存在明显痛点:
- 云端难以统一管理海量边缘节点
- 应用下发复杂、网络不稳定时边缘易失控
- 设备数据上云链路冗长、安全性差
Kurator作为分布式云原生开源平台,完美集成KubeEdge(CNCF毕业项目),在Fleet机制基础上提供:
- 统一边缘节点管理:云端注册边缘节点,支持大规模边缘集群加入舰队
- 统一边缘应用分发:通过FluxCD将云原生应用可靠下发到边缘
- 边缘自治与可靠同步:网络中断时边缘可自治运行,恢复后自动同步
- 设备映射与数据上报:原生支持Device CRD,实现边缘设备统一管理
官方文档 和 GitHub仓库 强调,Kurator将KubeEdge无缝融入分布式舰队管理,让云边协同像管理普通成员集群一样简单。这对于企业实现数智化转型、降低边缘运维成本、提升系统韧性具有巨大价值。对于开发者来说,本地就能模拟真实云边场景,快速验证想法👍。和GitHub仓库(https://github.com/kurator-dev/kurator)强调,Kurator将KubeEdge无缝融入分布式舰队管理,让云边协同像管理普通成员集群一样简单。这对于企业实现数智化转型、降低边缘运维成本、提升系统韧性具有巨大价值。对于开发者来说,本地就能模拟真实云边场景,快速验证想法👍。
二、实战环境准备与Kurator基础部署
本次实战模拟真实云边环境:一台主机集群代表“云端”,两台虚拟机/容器代表“边缘节点”。
首先我们先到Kurator开源主页去,先把项目给克隆下来。

具体我们需要现在本地安装Git,才能项目代码克隆:
具体操作如下所示:

然后本地打开git,输入克隆命令:
git clone https://gitcode.com/kurator-dev/kurator.git

如上,项目源码便拉取到本地啦。

如上,我们可以到本地,已经把Kurator给克隆下来了,接下来,我们可以放手把玩了。
2.1 环境准备
- 云端(主机集群):kind创建
- 边缘节点:两台Ubuntu虚拟机(edge1、edge2),安装kubelet、containerd
- 网络:模拟边缘网络不稳定(可断开网线测试自治)
创建云端主机集群:
kind create cluster --name kurator-cloud --image kindest/node:v1.28.0
kubectl config use-context kind-kurator-cloud
如下是相关部署文档:

2.2 安装Kurator核心组件
参考官方Setup指南:
- 添加Helm仓库并安装Cluster Operator与Fleet Manager:
helm repo add kurator https://kurator-dev.github.io/charts
helm repo update
helm install cluster-operator kurator/cluster-operator \
--namespace kurator-system --create-namespace --wait
helm install fleet-manager kurator/fleet-manager \
--namespace kurator-fleet-system --create-namespace --wait
- 安装KubeEdge相关组件(官方集成方式):
Kurator支持通过Fleet插件或Application方式部署KubeEdge cloud核心。
# 安装KubeEdge cloud部分到主机集群
apiVersion: apps.kurator.dev/v1alpha1
kind: Application
metadata:
name: kubeedge-cloud
namespace: kurator-fleet-system
spec:
source:
helmRepository:
url: https://kubeedge.io/charts
syncPolicies:
- destination:
cluster: kurator-cloud # 仅云端部署
helm:
releaseName: kubeedge-cloud
chart:
spec:
chart: kubeedge
version: v1.15.0
kubectl apply -f kubeedge-cloud.yaml
验证cloudcore运行:
kubectl get pods -n kubeedge
小问题解决:
- KubeEdge版本兼容:严格使用官方支持版本。
- CRD冲突:先卸载旧版KubeEdge再安装。
如下是Kurator官方文档:

三、注册边缘节点到Kurator舰队
KubeEdge边缘节点注册是云边协同的基础。
3.1 在边缘节点安装edgecore
在edge1、edge2上执行(参考KubeEdge官方安装脚本):
# 下载并安装edgecore(以v1.15.0为例)
wget https://github.com/kubeedge/kubeedge/releases/download/v1.15.0/kubeedge-v1.15.0-linux-amd64.tar.gz
tar -xzf kubeedge-v1.15.0-linux-amd64.tar.gz
sudo cp kubeedge-v1.15.0-linux-amd64/edge/edgecore /usr/local/bin/
配置edgecore.conf(关键部分):
modules:
edged:
enable: true
eventBus:
mqttMode: 0 # 内部MQTT
twin:
enable: true
启动:
sudo edgecore
3.2 云端创建EdgeNode并加入Fleet
Kurator通过AttachedCluster或专用EdgeCluster方式管理边缘节点。
示例:创建边缘节点资源
apiVersion: cluster.kurator.dev/v1alpha1
kind: AttachedCluster
metadata:
name: edge1
namespace: kurator-fleet-system
spec:
kubeconfigSecretRef: edge1-kubeconfig # 提前创建secret
type: Edge
---
apiVersion: fleet.kurator.dev/v1alpha1
kind: Fleet
metadata:
name: edge-fleet
namespace: kurator-fleet-system
spec:
clusters:
- name: edge1
type: Attached
- name: edge2
type: Attached
使用cloudcore生成token后,在边缘节点运行加入命令(标准KubeEdge流程),节点上线后自动加入舰队。
验证:
kubectl get nodes # 看到edge1、edge2节点
kubectl get attachedcluster -n kurator-fleet-system
边缘自治验证:断开边缘节点网络,edgecore仍可管理本地Pod;恢复网络后自动同步状态。
附上相关架构图:

四、统一边缘应用分发实战
边缘应用下发是Kurator + KubeEdge的强项,支持可靠投递。
4.1 使用Application下发边缘专用应用
示例:下发一个边缘数据采集应用(nginx + device mapper模拟)
apiVersion: apps.kurator.dev/v1alpha1
kind: Application
metadata:
name: edge-nginx-app
namespace: default
spec:
source:
gitRepository:
url: https://github.com/kurator-dev/kurator
ref:
branch: main
interval: 3m
syncPolicies:
- destination:
fleet: edge-fleet
kustomization:
path: ./examples/edge/simple-nginx # 假设官方有类似示例
prune: true
interval: 5m
应用后,Deployment自动通过KubeEdge可靠下发到边缘节点,即使网络中断也会排队等待。
验证:
# 在边缘节点本地查看
ssh edge1 "crictl ps | grep nginx"
4.2 边缘自治场景测试
- 正常网络:应用秒级下发。
- 断网:云端修改Deployment副本数为3,边缘保持原状自治运行。
- 恢复网络:边缘自动同步到3副本。
作用分析:统一边缘应用分发彻底解决了传统方案“下发不可靠”的痛点,支持离线升级、可靠同步。在边缘场景中,这极大提升了应用可用性,降低了对稳定网络的依赖,特别适合偏远地区或移动边缘。
五、边缘设备映射与数据上报实战
KubeEdge原生支持Device CRD,Kurator继承并统一管理。
5.1 定义设备模型与实例
apiVersion: devices.kubeedge.io/v1alpha2
kind: DeviceModel
metadata:
name: temperature-sensor
spec:
properties:
- name: temperature
type:
int:
accessMode: ReadOnly
maximum: 100
minimum: -50
---
apiVersion: devices.kubeedge.io/v1alpha2
kind: Device
metadata:
name: sensor-01
spec:
deviceModelRef:
name: temperature-sensor
protocol:
name: mqtt
nodeSelector:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- edge1
5.2 边缘侧模拟上报数据
在边缘节点部署mapper应用(官方示例)上报模拟温度数据到云端Twin。
验证云端查看:
kubectl get device sensor-01 -o yaml | grep temperature
作用分析:统一设备管理让云端能像管理Pod一样管理物理设备,支持双向控制和数据采集。为工业IoT、智能设备管理提供了标准云原生接口,极大简化了传统网关开发。
六、综合案例:构建一个云边协同的智慧园区平台
我将以上功能组合落地:
- 云端:Kurator主机集群 + KubeEdge cloudcore
- 边缘:两个边缘节点加入edge-fleet
- 应用:下发视频分析应用 + 温度传感器设备映射
- 场景:模拟园区安防摄像头(边缘推理) + 环境监测
- 技术选型:全Kurator + KubeEdge,避免手动配置cloudcore/edgecore
- 攻坚过程:解决边缘证书信任、MQTT端口映射
- 落地效果:设备数据实时上云,应用可靠下发,断网后边缘自治运行
- 价值:系统韧性高、运维统一、扩展性强,可直接用于真实项目
所以说,如果你感兴趣,赶紧去下载吧:

七、总结与心得
这次专注边缘计算场景的Kurator实战,让我彻底感受到云边协同的魅力!KubeEdge的强大能力在Kurator舰队管理下变得更加易用,一栈统一让边缘不再是“孤岛”。官方文档对KubeEdge集成描述详尽,examples也很实用,新手也能快速上手😊。
未来,期待Kurator在更多边缘AI调度、OTA升级、5G MEC场景深化支持。感谢Kurator社区的开源精神,祝大家玩转云边协同,成为边缘云原生实战派!
Kurator分布式云原生开源社区地址:https://gitcode.com/kurator-dev
Kurator分布式云原生项目部署指南:https://kurator.dev/docs/setup/
更多推荐

所有评论(0)