【课后问答】边缘计算第六课:KubeEdge 快速上手与社区贡献实践

12月19日视频直播了KubeEdge系列课程的第六课《KubeEdge 快速上手与社区贡献实践》,课程首先回顾了KubeEdge的架构特点与优势。再介绍了KubeEdge社区贡献指南与社区治理原则,最后演示了利用KubeEdge控制交通灯与空气净化器2个Demo,本次课程详情见以下回放。


image.png

回放地址:

https://huaweicloud.bugu.mudu.tv/watch/3o3k8z7v




Q :K3s是K8s的精简版,master和node之间list watch不能分开放云端和边缘,K8s为什么就可以?KubeEdge是基于K8s的,KubeEdge可以云端和边缘端分开管理,而K3s又是K8s的精简版,为什么不可以?

A :K3s和K8s一样,都不适用于在网络较差的边缘计算场景中。由于List-Wacth的消息传递机制是以数据中心稳定的网络为前提,因此没有做可靠性加固,在网络连接不稳定的云边传输场景中会存在丢包的情况。KubeEdge将K8s的List-watch机制进行增强,添加了消息可靠的校验机制,因此适用于网络不稳定的云边传输。



Q :K3s的list-watch和node、pod状态上报等就是原生K8s的机制,没有用TunnelProxy吗?

A :1. K3s中list-watch和node、pod状态上报等确实是原生K8s的机制,没有做任何可靠性增强。

       2. TunnelProxy主要用来做反向代理,主要应用于以下场景:在Master处于公网,node处于内网的情况下,Logs和Exec等接口都需要从Master端主动发起。此时需要Node先连接Master,建立通道(TunnelProxy)后,Master通过该通道主动向Node发起Logs和Exec请求。因此TunnelProxy只用于Logs和Exec请求。



Q :边缘应用部署时拉取的docker镜像需要自己构建吗?

A :边缘应用跟云上应用一样,自己的业务肯定要自己构建镜像。

 


Q :KubeEdge是否支持自定义消息路由功能?

A :目前还不支持自定义消息路由功能,会在后续版本中支持。

 


Q :如果边缘端离线超过一定时间,云端会重建pod,此时边缘端与云端pod状态会不一致,怎么解决该问题?

A :1. 对于这种情况,只能等边缘节点上线后,由云端来控制状态 

       2.也可以配置应用不迁移,对于连接了固定边缘设备的边缘节点,其上的应用都是与节点绑定的,在边缘端离线后,应该控制应用不迁移。

 


Q :KubeEdge有支持windows的计划吗?

A :短期还没有明确的计划,有兴趣的同学可以在社区发起支持windows的特性。

 


Q :Local-up安装是在一台机器上启动KubeEdge吗?

A :Local-up是在一台宿主机上运行一个KubeEdge的工具。它使用kind在宿主机的一个容器中运行K8s的控制集群,再将CloudCore、EdgeCore以进程的方式运行在宿主机,模拟了一个完整的KubeEdge集群。可以用于开发测试、CI测试中。

 


Q :边缘如果是板子而且是海思3559的话,那安装kubeedge可以吗?具体的注意细节有哪些呢?

A :可以安装作为KubeEdge的边缘节点。只要在板子上安装EdgeCore、Docker、Mqtt即可。



Q :kubeedge的组件,什么时候可以容器化部署?

A :kubeedge的云端组件(CloudCore)已支持容器化部署,见:https://github.com/kubeedge/kubeedge/tree/master/build/cloud边缘侧组件(EdgeCore)推荐使用进程的方式部署。



Q :kubeEdge Agent 最小环境要求是多少?

A :Agent(EdgeCore)本身占用内存70M左右,加其它底层Runtime、系统等消耗,256M即可。



Q :部署edge core和cloud core之前需要现在自己的电脑上装K8s吗?

A :云端需要装K8s的控制面,边缘侧不需要装Kubelet和Kube-proxy,只装EdgeCore即可。

 


Q :边端有较大数据传递时(如视频),是否可以适用云边通道?

A : 如果数据量巨大,推荐可以使用第三方的存储服务。

 


Q :把KubeEdge部署到我的环境需准备有哪些?对应的部署硬件有什么要求?如果是分别部署云端和边缘端的话,两台电脑分别模拟两个节点,一个是云节点一个是边节点是否可行?

A :需要准备的环境有:运行了K8s控制面的节点,以及一个可以运行EdgeCore的边缘节点(256M内存即可)。用两台电脑模拟云上和边缘是完全没有问题的。

 


Q :怎么用K8s部署KubeEdge的集群?

A :KubeEdge云上的主要组件为CloudCore,边缘端为EdgeCore。云端部署K8s的控制面后,将CloudCore以容器(推荐)或进程的方式部署在云端,将EdgeCore以进程的方式部署到边缘端即可。