need help to make decision between kubeedge and k3s

777 views
Skip to first unread message

jiluo wang

unread,
Aug 5, 2019, 3:55:20 AM8/5/19
to KubeEdge
hi,all。
as a fresh bird in use container tech at edge computing, I have a hard time making a decision unless these two issues are clear:
 
  • Does really kubeedge need less resources than k3s? 
 with k3s
屏幕快照 2019-08-05 下午3.42.04.png
with kubeedge,less than k3s,absolutely. but "add new conponents to support kubelet" have two problems:1)Bring more work;2)difficult to directly use the features supported by kubelet
 
 
  • Why does kubeedge support device management, rather than let the business complete device management itself?
There are so many types of devices, and if you need to support all the devices, the workload is unimaginable. 

kevin wang

unread,
Aug 5, 2019, 10:26:52 AM8/5/19
to KubeEdge
Hi Jiluo,

Glad to hear you are taking look at KubeEdge.

What's your use case of edge computing?

KubeEdge is more a "running k8s node at edge" way solution, based on the following consideration:
1. Edge is the extention of central cloud
2. Optmize the best to fix limited resoures at edge
3. Provide general application, devices coordination mechanism across cloud and edge
4. Persistent metadata at edge to achieve local autonomy when edge get disconnected to the central cloud
5. Provide flexible framework (as well as some build-in example implementations) to integrate devices for IoT use cases


As for the details, please see my inline reply



在 2019年8月5日星期一 UTC+8下午3:55:20,jiluo wang写道:
hi,all。
as a fresh bird in use container tech at edge computing, I have a hard time making a decision unless these two issues are clear:
 
  • Does really kubeedge need less resources than k3s? 
 with k3s
屏幕快照 2019-08-05 下午3.42.04.png
with kubeedge,less than k3s,absolutely. but "add new conponents to support kubelet" have two problems:1)Bring more work;2)difficult to directly use the features supported by kubelet 

I think you are actually asking why edged instead of kubelet? The major reasons are:
  1. some of existing kubelet functionalities as well as code are not necessarily useful in edge computing senarios, e.g. static pod.
  2. some functionalities need to be reimplemented (interact with local persistant storage instead of memory) to achieve local autonomy when disconnected to the cloud, e.g. pod management, config&secret management, etc. 

We will work upstream to make kubelet more pluggable and reduce duplicated code, but before people can easily choose/disable kubelet features and the footprint can be really small, we will have to maintain edged.

And I would like to know which kubelet functionality that edged doesn't have you need at edge.

 
  • Why does kubeedge support device management, rather than let the business complete device management itself?
There are so many types of devices, and if you need to support all the devices, the workload is unimaginable. 

KubeEdge is not targeted to offer all devivce integrations, the idea is to provide a flexible framework (checkout device CRD, deviceMapper for details). We will provide limited protocal support as referential implementations, people can always implement their DeviceMapper, and create their own DeviceModel, DeviceInstance, to integrate whatever devices they want to use.


Thanks,
Kevin
Reply all
Reply to author
Forward
0 new messages