±à¼ÍƼö: |
ÎÄÕÂÖ÷Òª½éÉÜÁËÈÝÆ÷ÊÇÈçºÎ½â¾ö¸ôÀëÎÊÌâµÄ¡¢Ê²Ã´ÊÇ¡°°²È«ÈÝÆ÷¡±¡¢Google
gVisor¡¢IBM nabla¡¢AWS Firecracker¡¢VMware
CRX¡¢kata containersµÈÏà¹ØÄÚÈÝ¡£
±¾ÎÄÀ´×ÔÓÚ²©¿ÍÔ°£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£ |
|
ÈÝÆ÷ÊÇÈçºÎ½â¾ö¸ôÀëÎÊÌâµÄ
ÖÚËùÖÜÖª£¬ÈÝÆ÷¼¼ÊõµÄ³öÏÖÓÐÁ½¸ö¹Ø¼üÔÒò£º
1. Èí¼þÔËÐйý³ÌÖеÄ×ÊÔ´ºÍ»·¾³µÄ¸ôÀë¡£
2. Èí¼þÒòΪÔËÐл·¾³¶àÑù´øÀ´µÄ´ò°üºÍÅäÖõĸ´ÔÓÐÔ¡£
¶ø¶ÔÓÚÈí¼þÔËÐл·¾³µÄ¸ôÀëÐèÇ󣬴ӼÆËã»ú³öÏÖÖ®³õ¾ÍÒѾ¿ªÊ¼ÁË£¬¶àÈÎÎñ·Öʱ²Ù×÷ϵͳºÍÐéÄâµØÖ·µÄÒýÈ룬¶¼ÊÇΪÁ˽â¾ö¶à¸öÈÎÎñÔÚͬһÖ÷»úÉÏÔËÐУ¬²¢ÇÒÈÃÈÎÎñ±¾ÉíÈÏΪ×Ô¼º¶ÀÕ¼»úÆ÷¡£µ±È»ÕâÑùµÄ¸ôÀëÊÇÔ¶Ô¶²»¹»µÄ£¬µ±½ñÈí¼þ£¬¸ù¾Ý²»Í¬µÄ²ã¼¶£¬¿ÉÒÔ½«¸ôÀë¼¼Êõ·ÖΪÒÔÏÂÈýÀࣺ
1. ½ø³Ì¼¶±ðµÄ¸ôÀë
2. ²Ù×÷ϵͳ¼¶±ðµÄ¸ôÀë
3. ÐéÄ⻯¼¶±ðµÄ¸ôÀë
²Ù×÷ϵͳÒÔ½ø³Ì×÷Ϊ³ÌÐòÔËÐйý³ÌµÄ³éÏ󣬽ø³ÌÓµÓжÀÁ¢µÄµØÖ·¿Õ¼ä£¬½ø³ÌµÄÖ´ÐÐÒÀ¿¿²Ù×÷ϵͳµÄµ÷¶È¡£µ«Êǽø³Ì¹²ÏíÁËÎļþϵͳ£¬º¯Êý¿âµÈ×ÊÔ´£¬³ÌÐòÖ®¼ä³öÏÖ»¥Ïà¸ÉÈŵĿÉÄÜÐԺܴó¡£Õâ¸ö²ã¼¶µÄ¸ôÀëÊʺÏÔÚÏàͬÖ÷»úÉÏÔËÐе¥¸öÓû§µÄ²»Í¬³ÌÐò£¬ÓÉÓû§×Ô¼º±£Ö¤³ÌÐòÖ®¼äµÄ×ÊÔ´·ÖÅä¡£
ÉÏÊÀ¼Í70Äê´ú³öÏÖÁËchroot£¬½øÐÐÎļþϵͳµÄ¸ôÀ룬21ÊÀ¼Í³õ¿ªÊ¼£¬Ëæ×żÆËãÓ²¼þµÄÐÔÄÜÌáÉý£¬Èí¼þ¸ôÀëµÄÐèÇó¸ü¼ÓÇ¿ÁÒ£¬Õâʱºò¿ªÊ¼³öÏÖÈçjail£¬cgroup£¬namespaceµÈ¸÷ÖÖ²»Í¬×ÊÔ´µÄ¸ôÀë¼¼Êõ¡£ÎÒÃǽ«ÕâЩ¼¼Êõͳһ»®·Öµ½²Ù×÷ϵͳµÄ¸ôÀë¼¼Êõ£¬ÕâÀà¸ôÀë¼¼Êõ¿ÉÒÔʵÏÖÈí¼þÔÚÖîÈçÓ²¼þ×ÊÔ´¡¢Îļþϵͳ¡¢ÍøÂç¡¢½ø³ÌºÅµÈ·½ÃæµÄ¸ôÀ룬µ«ÊDz»Í¬µÄÓ¦ÓÃÒÀÈ»ÊÇÔËÐÐÔÚÏàͬµÄ²Ù×÷ϵͳÄÚºËÉÏ£¬¶ÔÓÚ¶ñÒâµÄÀûÓé¶´¹¥»÷µÄ³¡¾°£¬ÕâÖÖ¸ôÀë¼¼ÊõÒÀÈ»»á×½½ó¼ûÖâ¡£µ«ÊÇÕâÖÖ¼¶±ðµÄ¸ôÀë´øÀ´µÄ¶îÍâ×ÊÔ´ÏûºÄ½ÏС£¬ÊʺÏÏàͬµÄ×éÖ¯ÄÚ²»Í¬Óû§µÄÓ¦ÓÃÔÚÏàͬÖ÷»úÉÏÔËÐС£
ÐéÄ⻯¼¼ÊõµÄ³öÏÖ£¬ÈÃÏàͬµÄÎïÀí»úÉÏÒ²ÄÜÔËÐжà¸ö²»Í¬µÄ²Ù×÷ϵͳ¡£²Ù×÷ϵͳ¶ÔÓ²¼þµÄ½Ó¿Ú£¬ÓÉÐéÄâ»ú¹ÜÀí³ÌÐò(VMM)¸ºÔðÄ£Äâ¡£ÔËÐÐÔÚ²»Í¬ÏµÍ³ÖеijÌÐò£¬ÄÚºËÒ²ÊǸôÀëµÄ¡£Ó²¼þ×ÊÔ´Ôòͨ¹ý¸÷ÖÖÓ²¼þ¸¨ÖúÊֶνøÐл®·Ö£¬ÐéÄâ»úÉϵijÌÐòºÜÄÑÍ»ÆÆÐéÄ⻯²ã¼ÓÉϵÄ×ÊÔ´ÏÞÖÆ¡£²¢ÇÒÒòΪÄں˵ĸôÀ룬×ÊÔ´µÄ¿É¼ûÐÔÒ²×öµ½Á˺ÜÇ¿µÄ¸ôÀëÐÔ¡£¼´Ê¹ÊǶñÒâµÄÓû§£¬Ò²ºÜÄÑÍ»ÆÆÕâ²ãÐéÄ⻯µÄÏÞÖÆ£¬ÒÑ´ïµ½¹¥»÷ÎïÀí»ú£¬»òÕßÏàͬÖ÷»úÉÏÆäËûÐéÄâ»úµÄÄ¿µÄ¡£
ÒÔÉÏÈýÖÖ¸ôÀëÊǰ´Õղ㼶һ²½Ò»²½¼ÓÇ¿µÄ£¬Í¬Ê±´øÀ´µÄÀíÂÛËðºÄÒ²ÊÇÖ𲽵ݽøµÄ¡£ÐéÄ⻯ÓÉÓÚÐèҪģÄâ¸÷ÖÖÉ豸£¬´øÀ´µÄ×ÊÔ´ËðºÄ±ÈÆäËûÁ½ÖÖ¸ôÀ뷽ʽҪ´óºÜ¶à¡£

ʲôÊÇ¡°°²È«ÈÝÆ÷¡±
ÈÝÆ÷¸ÅÄî³öÀ´µÄʱºò£¬×î³õ´ó¼Ò×ö¸ôÀëµÄ˼·£¬¼¸ºõ¶¼ÊDzÙ×÷ϵͳ¼¶µÄ¸ôÀ룬Ҳ¾ÍÊÇ»ùÓÚÄÚºËÌṩµÄnamespace¡¢cgroup¡¢seccompµÈ»úÖÆ£¬ÊµÏÖÈÝÆ÷ÄÚµÄ×ÊÔ´¡¢Îļþ¡¢ÏµÍ³µ÷ÓõÈÏÞÖÆºÍ¸ôÀë¡£ÕâÖÖ¸ôÀ뷽ʽ¸ü¼Ó¸ßЧ£¬ËðºÄ¸üС¡£µ«ÊÇËæ×ÅÈÝÆ÷µÄ´ó¹æÄ£Ê¹Óã¬ÓÈÆäÊǸ÷ÖÖÈÝÆ÷±àÅÅϵͳ£¬Èçk8sµÄÉîÈëʹÓã¬ÈËÃÇÖð½¥·¢ÏÖÕâÑùµÄ¸ôÀë¼¶±ðÍùÍù²»ÄÜÂú×ãÒªÇó¡£ÔÚ¹«ÓÐÔÆ³¡¾°Ï£¬ÏàͬÖ÷»úÈç¹ûÐèÒªÔËÐв»Í¬×â»§µÄÓ¦Óã¬ÒòΪÕâÖÖ¸ôÀë¼¶±ðÒÀÈ»²ÉÓÃÁ˹²Äں˵ĻúÖÆ£¬´æÔÚÕâ¹ã·ºµÄ¹¥»÷Ãæ£¬ÈÝÆ÷µÄ¸ôÀë¼¶±ðÍêÈ«²»ÄÜÂú×ãÒªÇó¡£ËùÒÔ×î³õµÄ¹«ÓÐÔÆÉϵÄÈÝÆ÷·þÎñ£¬¶¼ÊÇÅäºÏÐéÄâ»úµÄʹÓÃÀ´Íê³ÉµÄ£¬Ê×ÏÈÊÇÓû§ÐèÒª´´½¨Ò»ÅúÐéÄâ»ú×÷ΪÔËÐÐÈÝÆ÷µÄ½Úµã£¬ÐγÉÒ»¸ö˽Óеļ¯Èº£¬È»ºó²ÅÄÜÔÚÆäÉÏ´´½¨ÈÝÆ÷Ó¦Óá£ÐéÄ⻯¼¶±ðµÄ¸ôÀëÒѾ±»¸÷ÖÖ¹«ÓÐÔÆµÄʵ¼ùÖ¤Ã÷£¬ÊÇÒ»ÖÖ°²È«µÄ¸ôÀë¼¼Êõ¡£

×Ô´ÓÔÆ¼ÆËãµÄ¸ÅÄîÌá³ö¿ªÊ¼£¬ÐéÄâ»úÒ»Ö±ÊÇÔÆÆ½Ì¨µÄ»ù´¡£¬ÎÞÂÛÊÇÆ½Ì¨±¾Éí·þÎñ»¹ÊÇÓû§µÄʹÓ㬶¼ÊÇ´ÓIaaSƽ̨´´½¨Í¨ÓÃÐéÄâ»ú¿ªÊ¼µÄ¡£Ò»°ã¶¼ÊÇ´´½¨ÏàÓ¦µÄ¹æ¸ñµÄÐéÄâ»ú£¬Ê¹ÓÃÒ»¸öÍê³É²Ù×÷ϵͳ¾µÏñÆô¶¯Ò»¸öÍêÕûµÄ²Ù×÷ϵͳ£¬ËæºóÔÚÆä°²×°£¬ÅäÖã¬ÔËÐÐÈí¼þºÍ·þÎñ¡£°üÀ¨ÎÒÃÇÉϽÚÌáµ½µÄ¹«ÓÐÔÆÈÝÆ÷·þÎñµÄÌṩÐÎʽҲÊÇÈç´Ë¡£
ÐéÄ⻯±¾Éí´øÀ´µÄ¸ôÀëÄÜÁ¦ÊÇÊܵ½ÆÕ±éÈϿɵ쬲»¹ýIaaS²ãÏ£ÍûÌṩµÄÊÇÒ»¸öºÍÓ¦ÓÃÍêÈ«Î޹صĻù´¡ÉèÊ©²ã£¬Ëü¼¸ºõÍêÈ«²»¸ÐÖªÓ¦ÓõÄÈκÎÐÅÏ¢¡£ÓÚÊÇ´Ó»ù´¡ÉèÊ©µ½Ó¦ÓÃÔËά£¬Öмä¾Þ´óµÄºè¹µÔòÊÇÓÉPaaSºÍÓû§×Ô¼ºÀ´ÌîÆ½£¬ÕâÖмäÒÀÈ»ÐèÒªºÄ·ÑÎÞÊýµÄÈËÁ¦ºÍ³É±¾¡£Í¨ÓõÄÐéÄâ»ú·þÎñ³ÏÈ»ÓÐËüµÄºÃ´¦£¬±ÈÈçÍêÕûµÄ²Ù×÷ϵͳºÜÊʺϳÌÐòµ÷ÊÔ£¬»òÕß×÷Ϊ¹¤×÷°ì¹«»·¾³µÈµÈ¡£µ«ÊǶÔÓÚ¶àÊýÔËÐÐÓÚÔÆÆ½Ì¨µÄÈí¼þ£¬ËüÐèÒªµÄÊÇËü¶ÀÓеÄÔËÐл·¾³£¬ËüµÄÔËÐл·¾³ÓÉËüµÄ¾µÏñÒѾÍêÈ«¶¨ÒåºÃÁË¡£Èç¹ûÔÚ´ËÖ®Í⣬ÓÖÆô¶¯Ò»¸öÍêÕûµÄ²Ù×÷ϵͳ£¬¼ÈÀË·Ñ×ÊÔ´£¬Ò²Ôö¼ÓÁËÔËάµÄ³É±¾¡£ÎªÊ²Ã´²»ÄÜÖ±½Ó½«ÐéÄ⻯¼¶±ðµÄ¸ôÀëÒýÈëµ½ÈÝÆ÷¼¼ÊõÖÐÄØ£¿½áºÏÐéÄ⻯µÄ°²È«ÐÔºÍÈÝÆ÷ÔÚÈí¼þÉúÃüÖÜÆÚ¹ÜÀí·½ÃæµÄÓÅÊÆ£¬ÊDz»ÊÇ¿ÉÒÔ¸øÈí¼þ¿ª·¢ÔËά´øÀ´¾Þ´óµÄ±ãÀûÄØ£¿
Ò²¾ÍÊÇÔÚÕâ¸öʱ¼ä£¬dockerºÍcoreosµÈÒ»Æð³ÉÁ¢ÁËOCI×éÖ¯£¬ÆäÄ¿µÄÊǽ«ÈÝÆ÷µÄÔËÐÐʱºÍ¾µÏñ¹ÜÀíµÈÁ÷³Ì±ê×¼»¯¡£OCI±ê×¼¶¨ÒåÁËÒ»Ì×ÈÝÆ÷ÔËÐÐʱµÄÃüÁîÐнӿںÍÎļþ¹æ·¶£¬docker½«ÆäRunC¾è¸øOCI×÷ΪÔËÐÐʱ±ê×¼µÄÒ»¸ö²Î¿¼ÊµÏÖ¡£2015ÄêHyper.sh¿ªÔ´ÁËRunV£¬ÔòÊÇÒ»ÖÖ»ùÓÚÐéÄ⻯µÄÈÝÆ÷ÔËÐÐʱ½Ó¿ÚµÄʵÏÖ£¬ËüºÜºÃµØ½áºÏÁËÐéÄ⻯µÄ°²È«ÐÔºÍÈÝÆ÷µÄ±ãÀûÐÔ¡£ºóÀ´RunVºÍClearContainerºÏ²¢³ÉÁ¢ÁËkataÏîÄ¿£¬kataÌṩÁ˸ü¼ÓÍêÕûµÄ»ùÓÚÐéÄ⻯µÄÈÝÆ÷ʵÏÖ¡£ÎÒÃǰÑÕâÖÖ»ùÓÚÐéÄ⻯µÄÈÝÆ÷ʵÏÖ³Æ×÷°²È«ÈÝÆ÷¡£
³ýkataÖ®Í⣬»¹Ïà¼Ì³öÏÖÁ˶à¸ö°²È«ÈÝÆ÷µÄʵÏÖ·½Ê½£¬±ÈÈçgoogleµÄgVisor¡¢AWSµÄfirecracker-containerd¡¢IBMµÄNabla¡¢VMwareµÄCRXµÈµÈ£¬ÆäÔÀí²»¾¡Ïàͬ£¬µ«¹²Í¬·´Ó¦ÁËÒ»¸öÇ÷ÊÆ£¬¾ÍÊǽ«ÈÝÆ÷µÄ±ãÀûºÍÐéÄ⻯µÄ°²È«¸ôÀë½áºÏÆðÀ´£¬ÈÃÐéÄ⻯ֱ½ÓºÍÓ¦ÓÃÔËά½áºÏ£¬³ÉÎªÔÆÔÉú¼¼ÊõµÄ´óÊÆËùÇ÷¡£ÏÂÃæ¶ÔÕâЩ¡°°²È«ÈÝÆ÷¡±µÄʵÏÖ¼¼Êõ½øÐмòÒªµÄ½éÉܺͶԱȡ£
Google gVisor
Ïà±ÈÓÚÆäËû¼¸ÖÖʵÏÖ£¬gVisorµÄÏÔÖø²»Í¬Ö®´¦ÔÚÓÚ£¬Ëüͨ¹ýÀ¹½ØÈÝÆ÷ÖÐÓ¦ÓõÄϵͳµ÷Óã¬Ä£ÄâÁËÒ»¸ö²Ù×÷ϵͳÄںˣ¬Òò´ËgVisorʵ¼ÊÉÏûÓÐÐéÄ⻯£¬¶øÊÇÔÚÓû§Ì¬ÊµÏÖÁËÒ»¸ö²Ù×÷ϵͳ¡£ÕâÖÖ·½Ê½¿ÉÒÔ½µµÍÒòΪÐéÄ⻯´øÀ´µÄÄ£ÄâÉ豸ÄÚ´æËðºÄ¡£gVisorÌṩµÄrunsc·ûºÏOCI±ê×¼£¬¿ÉÒÔÖ±½Ó¶Ô½Ódocker¡¢containerdµÈÈÝÆ÷ƽ̨£¬Í¬Ê±ËüÒ²ÍêÈ«¼æÈÝdockerµÄ¾µÏñ¸ñʽ¡£µ«ÊÇÓÉÓÚ²»ÊÇÒ»¸ö±ê×¼linuxÄںˣ¬ÒòΪӦÓõļæÈÝÐÔÓнϴóÎÊÌâ¡£ÁíÍâÀ¹½ØÏµÍ³µ÷ÓôøÀ´µÄ¾Þ´óµÄÐÔÄÜËðºÄÒ²ÊÇ×èÖ¹Æä¹ã·ºÊ¹ÓõÄÒ»¸ö×è°¡£

IBM nabla
nablaÊǼ̳ÐÓÚunikernelµÄ¸ôÀ뷽ʽ£¬Ó¦ÓòÉÓÃrumprun´ò°ü³ÉÒ»¸öunikernel¾µÏñ£¬Ö±½ÓÔËÐÐÔÚÒ»¸öרΪÔËÐÐunikernel¶¨ÖÆÐéÄâ»ú(ukvm)ÖС£Ó¦ÓÃÖ±½Ó´ò°üÊ×ÏÈ¿ÉÒÔ½µµÍºÜ¶àÄÚºË̬ºÍÓû§Ì¬×ª»»µÄ¿ªÏú£¬ÁíÍâͨ¹ýukvm±©Â¶·Ç³£ÓÐÏÞµÄÖ÷»úÉϵÄsyscall(ֻʣ7¸ö)£¬¿ÉÒÔ´ó´óËõСÖ÷»úµÄ¹¥»÷Ãæ¡£ËüÊÇÕâЩ°²È«ÈÝÆ÷ʵÏÖÖУ¬×ȫµÄ¡£²»¹ýÓÉÓÚËüÒªÇóÓ¦Óôò°ü³Éunikernel¾µÏñ£¬Òò´ËºÍµ±Ç°dockerµÄ¾µÏñ±ê×¼ÊDz»¼æÈݵġ£ÁíÍ⣬unikernelÓ¦ÓÃÔÚÖîÈçÖ§³Ö´´½¨×Ó½ø³ÌµÈһЩ³£¹æ²Ù×÷É϶¼ÓкÜÄѽâ¾öµÄÎÊÌâ¡£

AWS Firecracker
×î³õfirecrackerÊÇΪAWSµÄLambda´òÔìµÄ¸ßÃܶÈÇáÁ¿¼¶ÐéÄ⻯×é¼þ¡£ÓÉÓÚËüÊÇ´ÓÍ·¿ªÊ¼¹¹½¨ÐéÄ⻯£¬´ø×ÅÇáÁ¿»¯µÄÄ¿µÄ£¬Òò´ËËûÅ×µôÁËqemuÕâÖÖͨÓÃÐéÄ⻯×é¼þµÄ´ó²¿·Ö¹¦ÄÜ£¬Ö»ÁôÏÂÔËÐÐÈÝÆ÷ºÍFunction±ØÒªµÄһЩģÄâÉ豸¡£Òò´ËËüµÄÄڴ濪Ïú·Ç³£Ð¡£¨Ð¡ÓÚ5M£©£¬Æô¶¯Ëٶȷdz£¿ì£¨Ð¡ÓÚ125ms£©£¬Ò»ÃëÖÓ¿ÉÒÔÔÚÒ»¸ö½ÚµãÉÏÔËÐÐ150¸öÇáÁ¿¼¶ÐéÄâ»ú¡£
ΪÁËÈÃfirecracker-microvm¸üºÃµÄÔËÐÐÈÝÆ÷£¬AWSÆô¶¯ÁËfirecracker-containerdÏîÄ¿£¬firecracker-containerdÊÇcontainerd-shim-v2µÄÒ»¸öʵÏÖ£¬²»·ûºÏOCI±ê×¼£¬µ«ÊÇ¿ÉÒÔÖ±½Ó¶Ô½ÓcontainerdÆô¶¯ÈÝÆ÷£¬Ò²¾ÍºÜÈÝÒ×ͨ¹ýcontainerd¶Ô½Ók8sµÄCRI½Ó¿Ú¡£containerd-shim-v2ÊÇcontainerd¶¨ÒåµÄеÄruntime½Ó¿Ú£¬ËüÊǶÔ×î³õshim-v1µÄÒ»¸ö¼ò»¯£¬¿ÉÒÔ´ó´ó¾«¼òruntimeµÄ×é¼þºÍÄÚ´æÊ¹Óá£containerdÊÇÒ»¸öÈ«²å¼þ»¯µÄ´úÂë¿ò¼Ü£¬À©Õ¹ÐԷdz£ºÃ¡£firecracker-containerdÔڸÿò¼ÜÏ£¬ÊµÏÖÁËÒ»¸ösnapshotter×÷Ϊ¾µÏñ²å¼þ£¬¸ºÔð¿éÉ豸¾µÏñµÄÉú³É£»ÊµÏÖÁËÒ»¸öshim-v2µÄruntime£¬¸ºÔðÈÝÆ÷µÄÉúÃüÖÜÆÚ¹ÜÀí¡£ÁíÍ⻹Óиöfc-control-plugin×÷ΪÐéÄâ»úµÄ¹ÜÀí²å¼þ£¬Ìṩgrpc½Ó¿Ú¹©runtimeµ÷Óá£ÔÚÇáÁ¿¼¶ÐéÄâ»úÄÚ²¿£¬ÓÐÒ»¸öagent¸ºÔð¼àÌýruntime´«½øÀ´µÄvsock£¬½ÓÊÕruntimeµÄÖ¸Áî½øÐÐÐé»úÄÚ²¿ÕæÕýµÄÈÝÆ÷ÉúÃüÖÜÆÚ¹ÜÀí²Ù×÷£¬ËüÊÇÖ±½Óµ÷ÓÃruncÀ´¹ÜÀíÈÝÆ÷µÄ¡£

VMware CRX
VMware·¢²¼µÄvSphere 7Óëkubernetes½øÐÐÁËÈںϣ¬ËüÀûÓÃk8sµÄCRD½«Æä¼¯ÈºµÄÐéÄâ»ú¡¢ÈÝÆ÷¡¢º¯ÊýµÈÔËÐÐʵÌå¹ÜÀíµÄËùÓй¦Äܶ¼¼¯³Éµ½ÁËk8sÖС£VMwareÊÇÒ»¸ö×öÐéÄ⻯Æð¼ÒµÄ¹«Ë¾£¬Òò´ËÐéÄ⻯×÷ΪËüµÄÀϱ¾ÐУ¬Õâ¿éµÄ»ýÀÛÊǺÜÉîºñµÄ¡£Ëü½«ÐéÄ⻯Èںϵ½ËüµÄÈÝÆ÷runtime
CRXÖУ¬Òò´ËºÍfirecracker-containerdºÍkataÀàËÆ£¬Ò²ÊÇÒ»¸ö»ùÓÚÇáÁ¿¼¶ÐéÄ⻯µÄÈÝÆ÷runtimeµÄʵÏÖ¡£Í¨¹ý¶ÔÆäÐéÄ⻯×é¼þºÍguestÄں˵ľ«¼ò£¬CRX
ÈÝÆ÷ͬÑù×öµ½Á˺ܵ͵ÄÄÚ´æËðºÄ(20MB)¡¢¿ìËÙ(100ms)µÄÆô¶¯ÒÔ¼°¸ßÃܶȲ¿Êð(µ¥¸ö½Úµã´óÓÚ1000¸öpod)¡£

vSphere¶ÔnodeÉϵÄkubelet×é¼þ¸ÄÔì±È½Ï´ó£¬½ÚµãÉϵÄSpherelet²¿·Ö¹¦ÄܺÍkubeletÖØºÏ£¬¸ºÔðpodµÄÉúÃüÖÜÆÚ¹ÜÀí£¨ËûÃdzÆÖ®ÎªNative
Pod£©£¬ÔËÐÐÔÚÐéÄâ»úÖеÄSphereletAgentÔò¼¯³ÉÁË·ûºÏOCI½Ó¿Ú¹æ·¶µÄlibcontainer£¬ÊµÏÖÈÝÆ÷µÄÉúÃüÖÜÆÚ¹ÜÀí£¬ÒÔ¼°ÈÝÆ÷µÄ¼à¿ØÈÕÖ¾²É¼¯¡¢ÈÝÆ÷µÄshellµÇ¼(kubectl
exec)¡£SphereletºÍÐé»úÖеÄSphereletAgent½»»¥ÊµÏÖÀàËÆÓÚkubeletʹÓÃCRI½Ó¿Ú¹ÜÀípodµÄЧ¹û¡£
kata containers
Ïà±ÈÓÚÒÔÉϼ¸ÖÖ£¬kata containers ×î´óµÄÌØµãÊÇËüרעÓÚʵÏÖÒ»¸ö¿ª·ÅµÄ·ûºÏOCI±ê×¼µÄ°²È«ÈÝÆ÷runtimeʵÏÖ£¬¶ÔÓÚ¶Ô½ÓʲôÑùµÄÐéÄ⻯·½°¸£¬Ëü³éÏóÁËÒ»Ì×hypervisor½Ó¿Ú£¬Èç½ñÒѾ¶Ô½ÓÁ˶àÖÖÐéÄ⻯ʵÏÖ£¬±ÈÈçqemu¡¢nemu¡¢firecracker¡¢cloud-hypervisorµÈµÈ¡£

ͨ¹ýcontainerd-shim-v2ºÍvsock¼¼Êõ£¬kata¾«¼òÁË´óÁ¿µÄ×é¼þ£¬ÅäºÏÇáÁ¿¼¶hypervisorºÍ¾«¼òÄںˣ¬kata¿ÉÒÔ×öµ½½«¶îÍâÄÚ´æÏûºÄ½µµÍµ½10MBÒÔÏ¡£ÈÝÆ÷Æô¶¯Ê±¼ä½µµÍµ½100msÒÔÏ¡£ºóÐø»¹»áͨ¹ýrustÓïÑÔÖØÐ´µÈ·½Ê½£¬Ìṩ¸üµÍÄÚ´æ¶îÍâÏûºÄ¡£

ÏÖÓа²È«ÈÝÆ÷¼¼Êõ¶Ô±È

°²È«ÈÝÆ÷¼¼Êõ·¢Õ¹Ç÷ÊÆ
Ëæ×ÅServerlessµÈ¼¼ÊõµÄÐËÆð£¬Ó¦Óò¿ÊðºÍÔËά¹¤×÷ÒѾϳÁµ½ÔÆÆ½Ì¨ÉÏ£¬ÈËÃÇÐèÒªÒ»¸ö¸ü¼Ó¸ßЧµÄÔÆÔÉú¼¼Êõƽ̨¡£´ÓÕ⼸ÄêÓ¿ÏֵݲȫÈÝÆ÷ʵÏÖ¼¼Êõ¿ÉÒԹ۲쵽£¬ÎÞÂÛ¹«ÓÐÔÆ»¹ÊÇ˽ÓÐÔÆ³§ÉÌ£¬¶¼ÈÏʶµ½Á˽«ÐéÄ⻯µÄ¸ôÀëÐÔºÍÈÝÆ÷µÄ¸ßЧÔËÎ¬ÌØÐÔÏà½áºÏ£¬ÊÇÔÆÔÉúƽ̨·¢Õ¹µÄ±ØÈ»Ç÷ÊÆ¡£½áºÏµ±Ç°°²È«ÈÝÆ÷ʵÏÖÖÐÓöµ½µÄһЩÎÊÌ⣬ÎÒÃÇ¿ÉÒÔÔ¤¼ûµ½£¬Î´À´ÕâÏî¼¼Êõ·¢Õ¹µÄ¼¸¸ö×ßÏò£º
ÐèÒªÒ»¸öΪ°²È«ÈÝÆ÷¶øÉúµÄÇáÁ¿¼¶hypervisor£¬µ±Ç°qemu+kvmÊÇÖ÷Á÷µÄÐéÄ⻯¼¼Êõ£¬µ«ÒòΪqemuÊÇΪͨÓõÄÐéÄâ»ú¶øÉè¼ÆµÄ£¬ÆäÌåÁ¿¹ýÓÚÅӴ󣬶ø¶ÔÓÚ°²È«ÈÝÆ÷¶øÑÔ£¬Ò»¸öÄ£¿é»¯¿É¶¨ÖƵÄÐéÄ⻯ʵÏÖÓÈÎªÖØÒª¡£Èç¹û½áºÏgVisorºÍnablaµÄʵÏÖÀ´¿´£¬Äں˵Ŀɶ¨ÖÆÐÔÒ²Êǰ²È«ÈÝÆ÷³¡¾°µÄ±ØÈ»ÒªÇó¡£rust-vmm¼´ÊÇÕâÑùÒ»ÖÖÄ£¿é»¯µÄÐéÄ⻯×é¼þ¿â¡£linuxÄں˱¾ÉíµÄÄ£¿é»¯ÌØÐÔ¿ÉÒÔ²¿·ÖÂú×ãÈÝÆ÷³¡¾°ÏµÄÄں˶¨ÖÆÐèÇ󣬲»¹ýÒ²ÐíÏñgVisorÄÇÑùʵÏÖÒ»¸öרΪÈÝÆ÷¶øÉúµÄÄÚºËÒ²ÐíÊÇδÀ´µÄÇ÷ÊÆ¡£
ÈÝÆ÷µÄÆô¶¯Ê±¼äÊǺâÁ¿Ò»¸öÔÆÔÉúƽ̨ЧÂʵÄÖØÒªÖ¸±ê£¬ÓÈÆäÊÇÔÚServerless³¡¾°Ï£¬³ÌÐòÔËÐÐʱ¼ä±¾Éí¿ÉẠ̈ܺܶ¬ÕâʱºòÆô¶¯Ê±¼ä¿ÉÄÜÕ¼ÓÃÁËÆä¾ø´ó²¿·Ö£¬ÄÇôÕâÖÖµÍЧ¾ÍÏÔµÃÓÈΪÃ÷ÏÔ¡£°²È«ÈÝÆ÷ͨ¹ý¼«ÖµÄÇáÁ¿»¯£¬¿ÉÒÔ½«ÈÝÆ÷Æô¶¯Ê±¼ä½µµÍµ½100msÒÔÏ£¬µ«ÊÇÈÝÆ÷¾µÏñÀȡʱ¼ä¹ý³¤ÈÔÊǵ±Ç°ÈÝÆ÷²¿Êð¹ý³ÌÖеÄÒ»¸ö¶Ì°å¡£ÓÉÓÚµ±Ç°ÈÝÆ÷¾µÏñ¸ñʽºÍ¾µÏñ¹ÒÔØ·½Ê½µÈ·½ÃæµÄÏÞÖÆ£¬ÐèÒªÔÚÆô¶¯ÈÝÆ÷֮ǰ½«ÈÝÆ÷¾µÏñÀÈ¡µ½±¾µØÒԺ󣬲ÅÄÜÆô¶¯ÈÝÆ÷¡£¶øÈÝÆ÷Æô¶¯±¾ÉíÐèÒªµÄÊý¾ÝÖ»Õ¼¾µÏñµÄ6%×óÓÒ¡£Òò´ËÎÒÃÇØ½ÐèÒ»¸ö¸ßЧµÄ¾µÏñ¹ÒÔØ·½Ê½£¬µ±Ç°ÒѾÓÐһЩÃâÏÂÔØºÍÀÁ¼ÓÔØ£¨Lazy-Loading£©µÄ¼¼ÊõÔÐÍ£¬ºóÐøÐèÒª¾¡¿ìÍÆ³öÒ»¸ö¿ÉÉÌÓõľµÏñÏÂÔØ¼ÓËÙ·½°¸¡£
µ±Ç°¹«ÓÐÔÆµÄÍøÂçÆÕ±é²ÉÓÃÔIaaSµÄÍøÂç¹ÜÀíģʽ£¬ÔÚµØÖ··ÖÅä£¬ÍøÂçÅäÖÃЧÂʵȷ½ÃæÍêÈ«¸Ï²»ÉÏÈÝÆ÷¿ìËÙÆôÍ£µÄÐèÇó£¬dockerÈÝÆ÷²ÉÓõÄveth·½Ê½ÔÚÐÔÄܵȷ½ÃæÒ²ºÜÄÑÂú×ã¸ßЧת·¢µÄÒªÇó¡£Òò´ËÐèÒªÒ»¸ö×¨ÎªÔÆÔÉúÉè¼ÆµÄÍøÂç¹ÜÀí·½°¸¡£
ÎÒÃÇ¿´µ½ÔÆÆ½Ì¨¶ÔÓ¦ÓõĹÜÀíÖð²½ÉîÈ룬´ÓÖ»¹ÜÀí»ù´¡ÉèÊ©µÄIaaS²ã£¬·¢Õ¹µ½¹ÜÀíÓ¦ÓÃÕûÌ岿ÊðºÍÔËάµÄPaaS£¬ÔÙµ½Èç½ñ·þÎñÍø¸ñ£¨Service
Mesh£©¼¼Êõ½«Æ½Ì¨¹ÜÀíÄÜÁ¦ÉîÈëµ½Ó¦ÓÃÄÚ²¿µÄ΢·þÎñ¼¶±ð¡£Í¬Ê±ÎÒÃÇÒ²¿´µ½£¬ÒÔK8sÈÝÆ÷¡¢Istio·þÎñÍø¸ñΪ´ú±íµÄÔÆÔÉú¼¼ÊõÒѾºÍϲãµÄ¼ÆËã/ÍøÂçÐéÄ⻯µÈ¼¼ÊõÖð²½ÕûºÏµ½ÁËÒ»Æð£¬±ÈÈ簲ȫÈÝÆ÷¼´ÊÇÈÝÆ÷Óë¼ÆËãÐéÄ⻯µÄ½áºÏ£¬¶øIstio·þÎñÍø¸ñÒ²»áÓëÐéÄâ»¯ÍøÂç½øÐÐÉî¶ÈÕûºÏÒÔÌṩ¸ü¸ßµÄÐÔÄÜÓë¸ü¾«Ï¸µÄQoS¿ØÖÆ¡£
µ±Ç°Ó²¼þ¼ÓËÙ¼¼ÊõÔÚAIºÍ´óÊý¾ÝµÈÁìÓò´óÐÐÆäµÀ£¬°²È«ÈÝÆ÷ÐèÒªÓë¸÷ÖÖ¼ÆËã¼ÓËÙÓ²¼þ¼¼Êõ½øÐнáºÏ£¬Ê¹µÃAI¡¢´óÊý¾Ý¡¢¿ÆÑ§¼ÆËãµÈÅúÁ¿¼ÆËãÁìÓòµÄÓû§¿ÉÒÔÀûÓÃÔÆÆ½Ì¨Ö±½ÓͶµÝÆäº£Á¿µÄ¼ÆËãÈÎÎñ£¬¿É´ó´ó½µµÍËûÃÇÔڵײ㼼ÊõÉϵÄÐÄÖǸºµ£¡£Í¨¹ýÓ²¼þ¼ÓËÙÒ²ÊÇÌáÉýÔÆÆ½Ì¨±¾ÉíЧÂÊ¡¢½µµÍÔÆÆ½Ì¨ÔËÐгɱ¾µÄÓÐЧÊֶΡ£±ÈÈç»ªÎªÔÆÇæÌì¼Ü¹¹ÔÚÓ²¼þ¼ÓËÙ·½ÃæÓµÓеļ¼ÊõÓÅÊÆÔÚ¡°°²È«ÈÝÆ÷¡±ÁìÓòÒѵõ½³ä·ÖµÄÖ¤Ã÷£¬CCE
TurboÂã½ðÊôÈÝÆ÷ÒѾʵÏÖÁ˰²È«ÈÝÆ÷µÄ²¿·ÖÓ²¼þÐ¶ÔØÄÜÁ¦¡£
×ܽá
δÀ´±ØÈ»ÊÇÔÆÔÉú¼¼Êõ´óÐÐÆäµÀµÄʱ´ú£¬ÎÒÃÇÒѾ¿´µ½ºÜ¶à´«Í³ÐÐÒµÒ²Öð½¥ÈÏʶµ½ÔÆÔÉú¼¼Êõ¿ÉÒÔ¸ø´«Í³ÆóÒµµÄITÈí¼þ£¬¹¤Òµ×Ô¶¯»¯£¬ÏßÉÏÔËάºÍÊý¾Ý¹ÜÀíµÈ´øÀ´Ã÷ÏÔµÄЧÂÊÌáÉý¡£ÎÒÃǽ«¿´µ½Í¨¹ý¶Ôµ×²ãÓ²¼þºÍÉϲã·þÎñµÄȫջÕûºÏ£¬´òÔì³öÒ»¸ö¸ßЧÖÇÄܵÄÔÆ¼ÆËã¼¼Êõƽ̨£¬¶øÕâÖм䣬ÈÝÆ÷½«ÊÇ´®ÁªÕû¸ö¼¼ÊõÕ»µÄ¹Ø¼üËùÔÚ¡£ |