±à¼ÍƼö: |
±¾ÎÄÖ÷ÒªÊǽéÉÜÔÆÔÉúÓë±ßÔµ¼ÆËãµÄ½áºÏ²¢¶ÔKubeEdge¼Ü¹¹ÉÏÁ½²¿·ÖÔÆ¶ËºÍ±ßÔµ²à½øÐÐÏêϸ²ûÊö£¬Ï£Íû¶ÔÄúÓÐËù°ïÖú
¡£
±¾ÎÄÀ´×ÔÓڿƼ¼Ã½ÌåDoNews£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼¡¢ÍƼö¡£ |
|
ÔÆÔÉúÓë±ßÔµ¼ÆËãµÄÍêÃÀ½áºÏ
¾¹ýÎÒÃǵ÷Ñз¢ÏÖ,´«Í³µÄǶÈëʽÉ豸¿ª·¢ÃæÁÙ×ÅÖî¶àÌôÕ½,ÑÏÖØÖÆÔ¼×űßÔµÉ豸ÉÏÔÆÒÔ¼°´ó¹æÄ£É豸ÔÚÔÆ»¯³¡¾°Ï¿ª·¢Ð§ÂÊ¡£
(1) ±ßÔÆÉú̬µÄ¸îÁÑ,ÎïÀíÉ豸·ÃÎÊÄѶȸß,ÓëIT¼¼Êõ¸îÁÑ,¿ª·¢ÄѶȸ߲úÆ·ÉÏÊÐÖÜÆÚ³¤
(2) ÈÕÇ÷¸´ÔӵıßÔµÒµÎñµÄ²¿Êð,¶Ô¸ß¶È·Ö²¼ºÍ´ó¹æÄ£¿ÉÀ©Õ¹ÐÔȱ·¦¿¼ÂÇ
(3) ȱÉÙºÍÔÆµÄÐͬÒÔ¼°±ßÔµºÍ±ßÔµµÄÐͬ,¹¹½¨·Ö²¼Ê½ÏµÍ³ÄѶȸß
(4) OTºÍITÊÀ½ç¼¼Êõ¸îÁÑ,ÐͬÃż÷¸ß
ÄÇô,ÔÆÔÉúºÍ±ßÔµ¼ÆËãÏàÓö,»á²Á³öʲôÑù¼¤Áҵġ°»ð»¨¡±?ÏÖÔÚ´ó¶àÊýµÄ±ßÔµÉ豸¶¼ÓëÔÆ¶ËÅäºÏʹÓÃ,±ÈÈ繤³ÌʦÃÇ¿ÉÒÔÔÚÔÆ¶ËѵÁ·»úÆ÷ѧϰģÐÍ,ѵÁ·ºÃÖ®ºó½«ÍÆÀíÄ£ÐÍÓ¦ÓÃÓÚ±ßÔµ½Úµã¡£ÎÞÂÛ´Ó±ßÔµÓ¦Óõķַ¢,±ßÔµÓ¦ÓõĿɿ¿ÐÔ»¹ÊDZßÔÆÐͬµÄ»úÖÆÉÏ,ÔÆÔÉú±ßÔµ¼ÆËãÓÐÀûÓÚÈñßÔµÒ²¾ß±¸ÏñÔÆÒ»ÑùµÄ¡°µ¯ÐÔ¡±,ÈÃÓ¦ÓÿÉÒÔ¡°Ë³»¬¡±µÄ²¿Êðµ½±ßÔµ,±£³ÖÓ¦ÓÃÔÚ±ßÔµÓëÔÆ¶ËµÄÒ»ÖÂÐÔ¡£
KubeEdgeͨ¹ý¸üÓŵļܹ¹ºÍ¼¼ÊõʵÏÖ,ÄÜÍêÃÀÓ¦¶Ôµ±Ç°Óöµ½µÄÌôÕ½,°ïÖú¹¤³Ìʦ´Óµ×²ã¼¼ÊõÉèÊ©µÄ¹ÜÀíÖнâ·Å³öÀ´,½«×¢ÒâÁ¦¼¯Öе½¸ü¸ß³éÏó²ã´ÎµÄÓ¦Óÿª·¢Ö®ÖС£ÕâÑù,¡°ÔÆ-±ß-¶Ë¡±¾ÍÏñÊÇÒ»¸öÍêÃÀµÄÕûÌå,×îÖÕÓû§ÎÞÐè¸ÐÖª±ßÔµÉ豸µÄ¸´ÔÓ·Ö²¼¡£
¡¤ ͨ¹ý½«AIÄÜÁ¦¡¢´óÊý¾ÝÄÜÁ¦µÈÑÓÉìµ½±ßÔµ,½â¾öÓëÔÆÉÏ·þÎñµÄÊý¾ÝÐͬ¡¢ÈÎÎñÐͬ¡¢¹ÜÀíÐͬ¡¢°²È«ÐͬËßÇó
¡¤ ͨ¹ýÊý¾Ý±¾µØ»¯´¦Àí¡¢±ßÔµ½ÚµãÀëÏß×ÔÖÎ,½â¾öÁËÔÆºÍ±ßÔµÖ®¼äµÄÍøÂç¿É¿¿ÐԺʹø¿íÏÞÖÆµÄÎÊÌâ
¡¤ ͨ¹ý´ó·ùÓÅ»¯±ßÔµ×é¼þµÄ×ÊÔ´Õ¼ÓÃ(¶þ½øÖÆ´óСԼ46MB,ÔËÐÐʱÄÚ´æÕ¼ÓÃÔ¼10MB),½â¾öÁ˱ßÔµ×ÊÔ´µÄÔ¼ÊøÎÊÌâ
¡¤ ͨ¹ýÔÚÔÆ±ßÖ®¼ä¹¹½¨µÄË«Ïò¶à·¸´ÓÃÍøÂçͨµÀ,½â¾öÁË´ÓÔÆ¶Ë¹ÜÀí¸ß¶È·Ö²¼µÄº£Á¿½ÚµãºÍÉ豸ÄѵÄÎÊÌâ
¡¤ ÄÏÏòÖ§³Ö¶Ô½ÓÎïÁªÍøÖ÷Á÷µÄͨÐÅÐÒé(MQTT,Bluetooth,Zigbee,BACnetµÈ),½â¾öÁËÒì¹¹Ó²¼þ½ÓÈëÄѵÄÎÊÌâ
×ÛºÏÆðÀ´¿´,´«Í³µÄǶÈëʽ±¾µØ¼ÆËãºÍÔÆÔÉú±ßÔµ¼ÆËãµÄ²îÒì¿ÉÒÔ¹éÄÉÈçÏÂ:

KubeEdge¼Ü¹¹
KubeEdge¼´Kube+Edge,¹ËÃû˼Òå¾ÍÊÇÒÀÍÐK8SµÄÈÝÆ÷±àÅź͵÷¶ÈÄÜÁ¦,ʵÏÖÔÆ±ßÐͬ¡¢¼ÆËãϳÁ¡¢º£Á¿É豸µÄƽ»¬½ÓÈë¡£KubeEdge¼Ü¹¹Éϰüº¬Á½²¿·Ö,·Ö±ðÊÇÔÆ¶ËºÍ±ßÔµ²à¡£Ôƶ˸ºÔðÓ¦ÓúÍÅäÖõÄÏ·¢,±ßÔµ²àÔò¸ºÔðÔËÐбßÔµÓ¦Óú͹ÜÀí½ÓÈëÉ豸¡£

Edged:¹ÜÀí±ßÔµµÄÈÝÆ÷»¯Ó¦ÓóÌÐò¡£
EdgeHub:±ßÔµµÄͨÐŽӿÚÄ£¿é¡£ÕâÊÇÒ»¸ö Web Ì×½Ó×Ö¿Í»§¶Ë,¸ºÔð±ßÔµ¼ÆËãÓëÔÆ·þÎñµÄ½»»¥¡£
CloudHub:ÔÆ¶ËͨѶ½Ó¿ÚÄ£¿é¡£Ò»¸ö Web Ì×½Ó×Ö·þÎñÆ÷,¸ºÔð¼àÊÓÔÆ¶ËµÄ¸ü¸Ä¡¢»º´æÒÔ¼°Ïò EdgeHub
·¢ËÍÏûÏ¢¡£
EdgeController:¹ÜÀí±ßÔµ½Úµã¡£ËüÊÇÒ»¸öÀ©Õ¹µÄ Kubernetes ¿ØÖÆÆ÷,¹ÜÀí±ßÔµ½ÚµãºÍ
pod ÔªÊý¾Ý,ÒÔ±ãÊý¾Ý¿ÉÒÔÃæÏòÌØ¶¨µÄ±ßÔµ½Úµã¡£
EventBus:ʹÓà MQTT ´¦ÀíÄÚ²¿±ßԵͨÐÅ¡£ËüÊÇÒ»¸ö MQTT ¿Í»§»ú,¿ÉÒÔÓë MQTT
·þÎñÆ÷(mosquitto)½»»¥,ΪÆäËû×é¼þÌṩ·¢²¼ºÍ¶©ÔŦÄÜ¡£
DeviceTwin:ËüÊÇ´¦ÀíÉ豸ԪÊý¾ÝµÄÉ豸Èí¼þ¾µÏñ¡£¸ÃÄ£¿éÓÐÖúÓÚ´¦ÀíÉ豸״̬²¢½«Æäͬ²½µ½ÔÆÉÏ¡£Ëü»¹ÎªÓ¦ÓóÌÐòÌṩ²éѯ½Ó¿Ú,ÒòΪËüÁ¬½Óµ½Ò»¸öÇáÁ¿¼¶Êý¾Ý¿â(SQLite)¡£
MetaManager:Ëü¹ÜÀí±ßÔµ½ÚµãÉϵÄÔªÊý¾Ý¡£ÕâÊÇ Edged ºÍ Edgehub Ö®¼äµÄÏûÏ¢´¦ÀíÆ÷¡£Ëü»¹¸ºÔðÔÚÇáÁ¿¼¶Êý¾Ý¿â(SQLite)Öд洢
/ ¼ìË÷ÔªÊý¾Ý¡£
¼«ÖÂÓÅ»¯
ÈÝÆ÷ÌìÈ»µÄÇáÁ¿»¯ºÍ¿ÉÒÆÖ²ÐÔ,·Ç³£ÊʺϱßÔµ¼ÆËãµÄ³¡¾°,¼øÓÚK8SÒѾ³ÉÎªÔÆÔÉú±àÅŵÄÊÂʵ±ê×¼,Òò´ËЯÊÖK8S½øÈë±ßÔµ½«ºÜÓпÉÄܽáÊø±ßÔµ¼ÆË㵱ǰ»ìãçµÄ״̬,²¢¶¨ÒåÔÆ¶ËºÍ±ßԵͳһµÄÓ¦Óò¿ÊðºÍ¹ÜÀíµÄ±ê×¼¡£
È»¶ø,ÓÉÓÚ±ßÔµ³¡¾°Í¨ÐŵIJ»Îȶ¨ÐÔºÍÑÏ¿ÁµÄ×ÊÔ´ÏûºÄÏÞÖÆ,µ¼ÖÂÔÉúµÄK8S×é¼þÎÞ·¨Ö±½ÓÔËÐÐÔÚ±ßÔµ½ÚµãÉÏ,ÀýÈç:¹¤ÒµÍø¹ØµÈ¡£¶øÊÜÏÞÓÚK8S±¾Éílist/watch»úÖÆ´øÀ´µÄdisconnectÎÊÌâ,Êý¾ÝÃæºÍ¹ÜÀíÃæ¶ÏÁ¬ºó,ÎÞ·¨×öµ½±¾µØ×ÔÖΡ£
KubeEdgeÑ¡ÔñµÄÊÇ¡°Çá±ßÔµ¡±¼Ü¹¹,¼´±ßÔµ²àµÄÈÝÆ÷ÒýÇæºÍÉ豸¹ÜÀíagent¾¡Á¿ÇáÁ¿»¯,¹ÜÀíÃæÔËÐÐÔÚÔÆ¶Ë,ÇÒ¹¹½¨ÔÚK8SµÄµ÷¶ÈÄÜÁ¦Ö®ÉÏ,100%¼æÈÝK8SÔÉúAPI¡£KubeEdge
all in K8SµÄÉè¼ÆÀíÄîʹµÃÓû§¿ÉÒÔÎ§ÈÆK8SµÄ±ê×¼API¶¨ÖÆÐèÇó»òÕßÇáËɼ¯³ÉÔÆÔÉúÉú̬ÖеijÉÊìÏîÄ¿¡£
´ÓServiceMeshµ½EdgeMesh
ÔÚ¹ýÈ¥µÄÒ»ÄêÖÐ,·þÎñÍø¸ñ(Service Mesh)ÒѾÑݱä³ÉÎªÔÆÔÉú¶ÑÕ»µÄÖØÒª×é³É²¿·Ö¡£Ïñ Paypal,Lyft,Ticketmaster
ºÍ CreditKarma ÕâÑùµÄ¸ßÁ÷Á¿¹«Ë¾¶¼ÒѾΪÆäÉú²úÓ¦ÓÃÌí¼ÓÁË ServiceMesh¡£ServiceMeshÓëÔÆÔÉúÓ¦ÓõÄÐËÆðÓйء£ÔÚÔÆÔÉúÄ£ÐÍÖÐ,µ¥¸öÓ¦ÓóÌÐò¿ÉÄܰüº¬Êý°Ù¸ö·þÎñ,ÿ¸ö·þÎñ¿ÉÄÜÓÐÊýǧ¸öʵÀý,²¢ÇÒÕâЩʵÀýÖеÄÿһ¸ö¶¼¿ÉÄÜ´¦ÓÚ²»¶Ï±ä»¯µÄ״̬,ºÏÀí¹ÜÀíʹÓÃ
ServiceMesh,¶ÔÓÚÈ·±£¶Ëµ½¶ËµÄÐÔÄܺͿɿ¿ÐÔÖÁ¹ØÖØÒª¡£
Ëæ×ÅÐÅͨԺ¡¶ÔƼÆËãÓë±ßÔµ¼ÆËãÐͬ¾Å´óÓ¦Óó¡¾°(2019Äê)¡·µÄ·¢²¼,¡°ÔƱßÐͬÊDZßÔµ¼ÆËã·¢Õ¹µÄÖØÒªÇý¶¯Á¦ºÍ²»¿É·Ö¸îµÄÐèÇó¡±ÒѾÖð½¥³ÉΪҵ½ç¹²Ê¶¡£µ±´¿´âµÄ¼ÆËãÔÚ±ßԵתÏòÔÆ±ßÐͬ,ÈçºÎÒÔÔÆÔÉúµÄ·½Ê½¹¹½¨Ò»¸ö¿çÔ½Á˱ßÔµºÍÔÆ¶ËµÄ·Ö²¼Ê½ÏµÍ³¾Í³ÉΪÁËÒ»¸öÖÁ¹ØÖØÒªµÄÎÊÌâ:
(1)±ßÔµÓ¦ÓÃÐèÒªÓÐÍêÉÆµÄ΢·þÎñÖÎÀíÄÜÁ¦,ÒÔÂú×ãÈÕÇ÷¸´ÔӵıßÔµÒµÎñÄ£ÐÍ;
(2)±ßÔÆ¡¢±ß±ßµÄÐͬ³ÉΪ±ßÔµÓ¦ÓõĻù±¾ÒªÇó,ÒÔÂú×㺣Á¿±ßÔµÊý¾ÝµÄ´¦Àí¡£
ʹÓÃEdgeMesh¿ÉÒÔÖ§³Ö¿çÔ½±ß½çµÄ΢·þÎñ·ÃÎÊ,EdgeMeshÌØÐÔ»ùÓÚ±ê×¼µÄistio½øÐзþÎñÖÎÀí¿ØÖÆ,ÒýÈëEdgeMesh-proxy¸ºÔð±ßÔµ²àÁ÷Á¿×ª·¢ÒÔ¼°P2P¼¼Êõ¿ç×ÓÍøÍ¨ÐÅ,Ìá¹©ÔÆ-±ß¡¢±ß-±ßͨÐÅ,×îÖÕʵÏÖ¿çÔ½±ßÔÆµÄÒ»ÖµķþÎñ·¢ÏֺͷÃÎÊÌåÑé¡£
a)±ß±ßÐͬ

b) ±ßÔÆÐͬ

±ßÔµÉ豸¹ÜÀí:É豸·ÃÎÊ΢·þÎñ»¯
KubernetesÌṩµÄÉ豸²å¼þ(device plugin)¿ò¼Ü, Ö¼ÔÚͨ¹ýKubelet¹ÜÀí¡°°ó¶¨¡±ÔÚ½ÚµãÉϵÄÓ²¼þ(¼ÓËÙÆ÷),ÀýÈç:GPU¡¢FPGAs¡¢InfiniBandµÈ,ΪPodÖеÄÈÝÆ÷Ó¦ÓÃÌṩ¸üÇ¿µÄ¼ÆËãºÍÍøÂçÐÔÄÜ¡£
¶øKubeEdgeµÄÉ豸¹ÜÀí¹Ø×¢µÄÊÇÓë±ßԵͨÐŵÄÍⲿÉ豸,ÀýÈç:À¶ÑÀÖÕ¶Ë¡¢ÖÇÄÜ´«¸ÐÆ÷¡¢¹¤ÒµÉ豸µÈ¡£KubeEdge¶ÔÉ豸¹ÜÀíµÄʵÏÖ²ÉÓõÄÊÇKubernetes¹Ù·½ÍƼöµÄOperator·½Ê½,²¢ÊµÏÖÁËÉ豸ÂÏÉú(device
twin)¡£É豸¹ÜÀíOperatorµÄºËÐÄÊÇDevice CRDºÍDevice Controller,ÆäÖÐDevice
CRDÓÃÀ´ÃèÊöÉ豸µÄ״̬µÈÔªÊý¾Ý,Device ControllerÔËÐÐÔÚÔÆÉÏ,¸ºÔðÔÚÔÆºÍ±ßÖ®¼äͬ²½É豸״̬µÄ¸üÐÂ(°üÀ¨É豸ʵ¼Ê״̬ºÍÓû§É趨µÄÆÚÍû״̬)¡£
KubeEdgeÉ豸¹ÜÀíµÄ¹¤×÷Á÷³ÌÈçÏÂͼËùʾ:

Device Controller»á°ÑÓû§É趨µÄÉ豸ÂÏÉúÆÚÍû״̬ºÍÅäÖÃÏ·¢µ½±ßÔµ,¶øÔÚ±ßÔµµÄ×é¼þÔòÒª½ÓÊÕ²¢´¦ÀíÕâЩÐÅÏ¢¡£ÎªÁ˱ÜÃâedge_coreÒýÈëÁ¿´¦Àí±ßÔµÉ豸ͨÐŵĴúÂë,ͬʱ±£³ÖÕû¸öÏîÄ¿Á¼ºÃµÄÒ×¶¨ÖÆÐÔ,KubeEdgeÉè¼ÆÁËÒ»¸ö±ßÔµÉ豸Çý¶¯Í³Ò»¹ÜÀíÒýÇæMapper¡£
MapperÖ®ÓÚKubeEdgeµÄ×÷ÓÃÈçͬCRIÖ®ÓÚKubernetes,Ö»ÊÇCRI×÷ΪKubernetes¶¨ÒåµÄÈÝÆ÷½Ó¿ÚÓëµ×²ãÈÝÆ÷ÒýÇæ´ò½»µÀ,¶øMapper×÷Ϊһ¸ö¿ª·Å½Ó¿Ú·½±ã²»Í¬µÄÉ豸ÐÒé½ÓÈëKubeEdgeÕâ¸ö±ßÔµ¼ÆËãÆ½Ì¨¡£
KubeEdge v1.0ÖÐÄÚÖÃÖ§³ÖµÄÉ豸ÐÒéÊÇÀ¶ÑÀ,ºóÐø°æ±¾½«Öð²½Ôö¼Ó¶ÔOPC-UAºÍModbusµÄÖ§³Ö¡£ÓÐÁËMapperµÄ½âñî²ã,Óû§¿ÉÒÔ·½±ãµØ¸ù¾Ýʵ¼ÊÐèÒª¿ª·¢×Ô¼ºµÄMapperÀ´ÊµÏÖÓëÌØ¶¨É豸µÄͨÐÅ,ͬʱÉçÇøÒ²»¶Ó¹ã´ó¿ª·¢Õß¹±Ï׸ü¶àµÄÐÒéʵÏÖ¡£
MapperµÄ¼Ü¹¹ÈçÏÂͼËùʾ:

|