±à¼ÍƼö: |
±¾ÎÄÊ×ÏȽéÉÜKubeEdge
×é¼þ¸ÅÊö¡¢Ìص㡢ÓÅÊÆ¼°¼Ü¹¹µÈ¡£
±¾ÎÄÀ´×ÔÓÚ³ÌÐòÔ±´ó±¾Óª£¬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼ÍƼö¡£ |
|
½éÉÜ
KubeEdgeÊÇÒ»¸ö¿ªÔ´ÏµÍ³£¬ÓÃÓÚ½«±¾»úÈÝÆ÷»¯µÄÓ¦ÓóÌÐò±àÅŹ¦ÄÜÀ©Õ¹µ½EdgeÉϵÄÖ÷»ú£¬
Ëü»ùÓÚkubernetes¹¹½¨£¬²¢ÎªÍøÂ磬ӦÓóÌÐòÌṩ»ù±¾µÄ»ù´¡¼Ü¹¹Ö§³Ö¡£ÔƺͱßÔµÖ®¼äµÄ²¿ÊðºÍÔªÊý¾Ýͬ²½¡£
KubeedgeÒÑ»ñµÃApache 2.0µÄÐí¿É¡£²¢ÇÒÍêÈ«Ãâ·Ñ¹©¸öÈË»òÉÌҵʹÓá£ÎÒÃÇ»¶Ó¹±Ï×Õߣ¡
ÎÒÃǵÄÄ¿±êÊǽ¨Á¢Ò»¸ö¿ª·Åƽ̨£¬ÒÔÖ§³ÖEdge¼ÆË㣬½«ÔÉúÈÝÆ÷»¯Ó¦ÓóÌÐò±àÅŹ¦ÄÜÀ©Õ¹µ½EdgeÉϵÄÖ÷»ú£¬¸ÃÖ÷»ú»ùÓÚkubernetes£¬²¢ÎªÍøÂ磬
Ó¦ÓóÌÐò²¿ÊðÒÔ¼°ÔÆÓëEdgeÖ®¼äµÄÔªÊý¾Ýͬ²½Ìṩ»ù´¡¼Ü¹¹Ö§³Ö¡£
ÌØµã
ÍêÈ«¿ª·Å - Edge CoreºÍCloud Core¶¼ÊÇ¿ªÔ´µÄ¡£
ÀëÏßģʽ - ¼´Ê¹ÓëÔÆ¶Ï¿ªÁ¬½Ó£¬EdgeÒ²¿ÉÒÔÔËÐС£
»ùÓÚKubernetes - ½Úµã£¬Èº¼¯£¬Ó¦ÓóÌÐòºÍÉ豸¹ÜÀí¡£
¿ÉÀ©Õ¹ - ÈÝÆ÷»¯£¬Î¢·þÎñ
×ÊÔ´ÓÅ»¯ - ¿ÉÒÔÔÚ×ÊÔ´²»×ãµÄÇé¿öÏÂÔËÐС£±ßÔµÔÆÉÏ×ÊÔ´µÄÓÅ»¯ÀûÓá£
¿çƽ̨ - ÎÞ¸ÐÖª£»¿ÉÒÔÔÚ˽ÓУ¬¹«¹²ºÍ»ìºÏÔÆÖй¤×÷¡£
Êý¾ÝÓë·ÖÎö - Ö§³ÖÊý¾Ý¹ÜÀí£¬Êý¾Ý·ÖÎö¹ÜµÀÒýÇæ¡£
Òì¹¹ - ¿ÉÒÔÖ§³Öx86£¬ARM¡£
¼ò»¯¿ª·¢ - »ùÓÚSDKµÄÉ豸¼Ó³É£¬Ó¦ÓóÌÐò²¿ÊðµÈ¿ª·¢
Ò×ÓÚά»¤ - Éý¼¶£¬»Ø¹ö£¬¼àÊÓ£¬¾¯±¨µÈ
ÓÅÊÆ
±ßÔµ¼ÆËã - ͨ¹ýÔÚEdgeÉÏÔËÐеÄÒµÎñÂß¼£¬¿ÉÒÔÔÚÉú³ÉÊý¾ÝµÄ±¾µØ±£»¤ºÍ´¦Àí´óÁ¿Êý¾Ý¡£Õâ¼õÉÙÁËÍøÂç´ø¿íÐèÇóÒÔ¼°±ßÔµºÍÔÆÖ®¼äµÄÏûºÄ¡£ÕâÑù¿ÉÒÔÌá¸ßÏìÓ¦ËÙ¶È£¬½µµÍ³É±¾²¢±£»¤¿Í»§µÄÊý¾ÝÒþ˽¡£
¼ò»¯¿ª·¢ - ¿ª·¢ÈËÔ±¿ÉÒÔ±àд»ùÓÚ³£¹æhttp»òmqttµÄÓ¦ÓóÌÐò£¬¶ÔÆä½øÐÐÈÝÆ÷»¯£¬È»ºóÔÚEdge»òCloudÖеÄÈκÎλÖÃÔËÐÐËüÃÇÖеĸüºÏÊʵÄÒ»¸ö¡£
KubernetesÔÉúÖ§³Ö - ½èÖúKubeEdge£¬Óû§¿ÉÒÔÔÚEdge½ÚµãÉϱàÅÅÓ¦Ó㬹ÜÀíÉ豸²¢¼àÊÓÓ¦ÓúÍÉ豸״̬£¬¾ÍÏñÔÆÖеĴ«Í³Kubernetes¼¯ÈºÒ»Ñù
´óÁ¿µÄÓ¦Óà - ¿ÉÒÔÇáËɵؽ«ÏÖÓеĸ´ÔÓ»úÆ÷ѧϰ£¬Í¼Ïñʶ±ð£¬Ê¼þ´¦ÀíºÍÆäËû¸ß¼¶Ó¦ÓóÌÐò²¿ÊðºÍ²¿Êðµ½Edge¡£
¼Ü¹¹
kubeedge·ÖΪÁ½¸ö¿ÉÖ´ÐгÌÐò£¬cloudcoreºÍedgecore,·Ö±ðÓÐÒÔÏÂÄ£¿é
cloudcore£º
CloudHub£ºÔÆÖеÄͨÐŽӿÚÄ£¿é¡£
EdgeController£º¹ÜÀíEdge½Úµã¡£
devicecontroller ¸ºÔðÉ豸¹ÜÀí¡£
edgecore£º
Edged£ºÔÚ±ßÔµ¹ÜÀíÈÝÆ÷»¯µÄÓ¦ÓóÌÐò¡£
EdgeHub£ºEdgeÉϵÄͨÐŽӿÚÄ£¿é¡£
EventBus£ºÊ¹ÓÃMQTT´¦ÀíÄÚ²¿±ßԵͨÐÅ¡£
DeviceTwin£ºËüÊÇÓÃÓÚ´¦ÀíÉ豸ԪÊý¾ÝµÄÉ豸µÄÈí¼þ¾µÏñ¡£
MetaManager£ºËü¹ÜÀí±ßÔµ½ÚµãÉϵÄÔªÊý¾Ý¡£
edged
EdgeDÊǹÜÀí½ÚµãÉúÃüÖÜÆÚµÄ±ßÔµ½ÚµãÄ£¿é¡£Ëü¿ÉÒÔ°ïÖúÓû§ÔÚ±ßÔµ½ÚµãÉϲ¿ÊðÈÝÆ÷»¯µÄ¹¤×÷¸ºÔØ»òÓ¦ÓóÌÐò¡£
ÕâЩ¹¤×÷¸ºÔØ¿ÉÒÔÖ´ÐÐÈκβÙ×÷£¬´Ó¼òµ¥µÄÒ£²âÊý¾Ý²Ù×÷µ½·ÖÎö»òMLÍÆÀíµÈ¡£Ê¹ÓÃkubectlÔÆ¶ËµÄÃüÁîÐнçÃæ£¬Óû§¿ÉÒÔ·¢³öÃüÁîÀ´Æô¶¯¹¤×÷¸ºÔØ¡£
DockerÈÝÆ÷ÔËÐÐʱµ±Ç°ÊÜÈÝÆ÷ºÍ¾µÏñ¹ÜÀíÖ§³Ö¡£½«À´Ó¦Ìí¼ÓÆäËûÔËÐÐʱ֧³Ö£¬ÀýÈçcontainerdµÈ¡£
ÓÐÐí¶àÄ£¿éÐͬ¹¤×÷ÒÔʵÏÖedgedµÄ¹¦ÄÜ¡£

pod¹ÜÀí
ÓÃÓÚpodµÄÌí¼Óɾ³ýÐÞ¸Ä,Ëü»¹Ê¹ÓÃpod status managerºÍpleg¸ú×ÙpodµÄÔËÐÐ×´¿ö¡£ÆäÖ÷Òª¹¤×÷ÈçÏ£º
´Ómetamanager½ÓÊպʹ¦ÀípodÌí¼Ó/ɾ³ý/ÐÞ¸ÄÏûÏ¢¡£
´¦Àíµ¥¶ÀµÄ¹¤×÷¶ÓÁÐÒÔÌí¼ÓºÍɾ³ýÈÝÆ÷¡£
´¦Àí¹¤×÷³ÌÐòÀý³ÌÒÔ¼ì²é¹¤×÷³ÌÐò¶ÓÁÐÒÔÖ´ÐÐpod²Ù×÷¡£
·Ö±ðΪconfig map ºÍ secrets±£Áôµ¥¶ÀµÄµÄ»º´æ¡£
¶¨ÆÚÇåÀí¹ÂÁ¢µÄpod
PodÉúÃüÖÜÆÚʼþÉú³ÉÆ÷
CRI±ßÔµ»¯
secret¹ÜÀí
Probe Management
ConfigMap Management
Container GC
Image GC
Status Manager
¾í¹ÜÀí
MetaClient
eventbus
Eventbus³äµ±ÓÃÓÚ·¢ËÍ/½ÓÊÕÓйØmqttÖ÷ÌâµÄÏûÏ¢µÄ½Ó¿Ú
ËüÖ§³ÖÈýÖÖģʽ£º
internalMqttMode
externalMqttMode
bothMqttMode
metamanager
MetaManagerÊÇedgedºÍedgehubÖ®¼äµÄÏûÏ¢´¦ÀíÆ÷¡£Ëü»¹¸ºÔð½«ÔªÊý¾Ý´æ´¢µ½ÇáÁ¿¼¶Êý¾Ý¿â£¨SQLite£©»ò´ÓÖмìË÷ÔªÊý¾Ý¡£
Metamanager¸ù¾ÝÒÔÏÂÁгöµÄ²Ù×÷½ÓÊÕ²»Í¬ÀàÐ͵ÄÏûÏ¢£º
Insert
Update
Delete
Query
Response
NodeConnection
MetaSync
Edgehub
Edge Hub¸ºÔðÓëÔÆÖдæÔÚµÄCloudHub×é¼þ½øÐн»»¥¡£Ëü¿ÉÒÔʹÓÃWebÌ×½Ó×ÖÁ¬½Ó»òQUICÐÒéÁ¬½Óµ½CloudHub
¡£ËüÖ§³Öͬ²½ÔƶË×ÊÔ´¸üУ¬±¨¸æ±ßÔµ¶ËÖ÷»úºÍÉ豸״̬¸ü¸ÄµÈ¹¦ÄÜ¡£
Ëü³äµ±±ßÔµÓëÔÆÖ®¼äµÄͨÐÅÁ´½Ó¡£Ëü½«´ÓÔÆ½ÓÊÕµÄÏûϢת·¢µ½±ßÔµµÄÏàӦģ¿é£¬·´Ö®ÒàÈ»¡£
edgehubÖ´ÐеÄÖ÷Òª¹¦ÄÜÊÇ£º
Keep Alive
Publish Client Info
Route to Cloud
Route to Edge
DeviceTwin
DeviceTwinÄ£¿é¸ºÔð´æ´¢É豸״̬£¬´¦ÀíÉ豸ÊôÐÔ£¬´¦ÀíÉ豸ÂÏÉú²Ù×÷£¬ÔÚ±ßÔµÉ豸ºÍ±ßÔµ½ÚµãÖ®¼ä´´½¨³ÉÔ±×ʸñ£¬
½«É豸״̬ͬ²½µ½ÔÆÒÔ¼°ÔÚ±ßÔµºÍÔÆÖ®¼äͬ²½É豸ÂÏÉúÐÅÏ¢¡£Ëü»¹ÎªÓ¦ÓóÌÐòÌṩ²éѯ½Ó¿Ú¡£
DeviceTwinÓÉËĸö×ÓÄ£¿é£¨¼´membership£¬communication£¬deviceºÍdevice
twin£©×é³É£¬ÒÔÖ´ÐÐdevice twinÄ£¿éµÄÖ°Ôð¡£
Edge Controller
EdgeControllerÊÇKubernetes Api·þÎñÆ÷ºÍEdgecoreÖ®¼äµÄÇÅÁº
CloudHub
CloudHubÊÇcloudcoreµÄÒ»¸öÄ£¿é£¬ÊÇControllerºÍEdge¶ËÖ®¼äµÄÖн顣Ëüͬʱ֧³Ö»ùÓÚWebÌ×½Ó×ÖµÄÁ¬½ÓÒÔ¼°QUICÐÒé·ÃÎÊ¡£Edgehub¿ÉÒÔÑ¡ÔñÒ»ÖÖÐÒéÀ´·ÃÎÊcloudhub¡£CloudHubµÄ¹¦ÄÜÊÇÆôÓñßÔµÓë¿ØÖÆÆ÷Ö®¼äµÄͨÐÅ¡£
Device Controller
ͨ¹ýk8s CRDÀ´ÃèÊöÉ豸metadata/status £¬devicecontrollerÔÚÔÆºÍ±ßÔµÖ®¼äͬ²½£¬ÓÐÁ½¸ögoroutines:
upstream controller/downstream controller
|