作者介绍
罗川,中国移动苏州研发中心工程师,曾负责数个集团大数据分析类项目的设计与研发,有多年大数据领域相关技术开发经验。近期对边缘计算领域开始进行研究,参与开发的中国移动云边缘平台获得了“5G MEC边缘云服务能力”可信云认证。
概要:本文首先简单介绍了什么是KubeEdge,然后基于最新的1.7.1版本,详细阐述了如何一步一步部署KubeEdge边缘计算平台。纯半自动化离线部署,简单易上手,快来试试吧~
KubeEdge是什么
KubeEdge是一个开源的边缘计算平台,基于Go语言开发,由华为主导,是CNCF的第一个边缘计算领域的官方项目,目前还处在孵化阶段。其核心功能是提供将云原生应用编排到边缘节点的能力,各类命令可以在云端统一下发。另外,提供了一些开箱即用的IoT设备通信协议,支持边缘节点和端设备通信。整个框架基于Kubernetes构建和改造,可将云端和边缘节点视为一个完整的Kubernetes集群。
由于其改造了Kubelet,且支持containerd等其他容器运行时,使得它的运行时占用的资源很少,因此其可以跑在配置较差的边缘设备上,比如一个树莓派。
KubeEdge部署
前置条件
- Kubernetes集群,至少有一个master节点
- 边缘节点部署容器运行时,比如Docker
- 边缘节点可访问Kubernetes Master节点的10000和10002两个端口(可修改)
我的环境
- 之前无锡研发区虚拟机搭建的Kubernetes集群,1.18.5版本
- 台式机安装的Ubutun虚拟机作为边缘节点,KubeEdge版本为最新1.7.1
- 单向网络,本机虚机可访问研发区虚机,反之则不行
本文省略掉Docker和Kubernetes的部署环节
下面开始部署KubeEdge
首先,官方文档提供了两种部署方式,keadm命令(KubeEdge提供的,非kubeadm)自动化安装和二进制文件手动安装
考虑到自动化安装过程肯定会遇到各类网络问题,我首先尝试了手动安装,但失败了,所以选择了半自动化安装...
部署KubeEdge需要分别在云端和边端部署,云端部署cloudcore及一些Kubernetes资源,边端部署edgecore,cloudcore和edgecore从本质上来讲,是两个Go语言编译的二进制文件
之所有说是半自动化安装,是因为我提前下好了需要用到的文件,并放到指定位置,这样keadm自动安装的时候就可以直接拿到,不用再去下载,当然,如果你的环境可以畅通的访问github就可完全自动化了
正式开始
先是云