¡¾±àÕß°´¡¿SwarmÊÇDockerÆìϵÄ×ÓÏîÄ¿£¬ÓÃÀ´°ïÖúÓû§¹ÜÀí¶à¸öDockerÒýÇæ£¬²¢ÇÒ½«ËûÃdzéÏó³ÉΪһ¸öÐéÄâµÄÕûÌåÒÔ±ê×¼Docker APIµÄ·½Ê½±©Â¶¸øÖÕ¶ËÓû§¡£Mesos ÊÇApacheϵÄÒ»¸ö·Ö²¼Ê½×ÊÔ´¹ÜÀí¿ò¼Ü£¬Ëü×î´óµÄÓÅÊÆ¾ÍÊÇ¿ÉÒÔÈø÷ÖÖ²»Í¬µÄworkload¹²ÏíÒ»¸öÊý¾ÝÖÐÐĵÄ×ÊÔ´¡£´Ó½ñÌ쿪ʼ£¬À´×ÔIBM PlatformÈí¼þ¹¤³ÌʦÍõÓÂÇŽ«´øÀ´¡°SwarmºÍMesos¼¯³ÉÖ¸ÄÏ¡±ÏµÁÐÎÄÕ£¬´ø´ó¼ÒÁ˽âSwarmºÍMesos¼¯³ÉµÄ¼Ü¹¹ºÍÔÀí£¬Swarm»ùÓÚMesos¼¯ÈºµÄʵս²¿ÊðºÍÅäÖã¬ÒÔ¼°»ùÓÚIBM Platform×ÔÉíÔÚ×ÊÔ´µ÷¶È¡¢·Ö²¼Ê½¼ÆËãÁìÓò·½ÃæµÄʵ¼ù¾Ñ飬Ïò´ó¼Ò½éÉÜIBM Platform¶ÔMesosÔÚ×ÊÔ´µ÷¶È·½ÃæµÄ²ßÂÔÓÅ»¯£¬ÒÔ¼°ÒÔSwarmΪÀýÏò´ó¼Ò½éÉÜÕâЩÓÅ»¯½«¶ÔMesosÉϲãµÄframeworkºÍÆóÒµ¼¶Óû§´øÀ´ÄÄЩÔöÇ¿ÐÔµÄÌåÑé¡£±¾ÎÄΪµÚһƪ£ºÔÀíÆÊÎö¡£
Swarm½éÉÜ
ÔÚ½éÉÜSwarmºÍMesos¼¯³É֮ǰ£¬ÎÒÃÇÏÈÀ´¼òµ¥µÄÁ˽âÒ»ÏÂSwarmÒÔ¼°ËüµÄ¼Ü¹¹¡£ÔÚSwarm³öÏÖ֮ǰ£¬»ùÓÚDocker APIµÄÉϲãÓ¦ÓÃÈç¹ûÏëÒª°ÑËüµÄcontainer²¿ÊðÔÚ¶à¸öDocker hostÉÏ£¬ÄÇôËü±ØÐë×Ô¼º¹ÜÀíÒ»×éDocker host£¬È»ºó×Ô¼ºÉè¼ÆÊµÏÖµ÷¶È²ßÂÔ°ÑËüµÄcontainer²¿Êðµ½²»Í¬µÄDocker hostÉÏ¡£Õâ¶ÔÓÚ½«DockerÓ¦ÓÃÓÚ´ó¹æÄ£µÄÉú²ú»·¾³Êµ¼ÊÉÏÊÇÒ»´óÕϰ£¬ÒòΪÉϲãÓ¦Óò»µ«Òª¿¼ÂÇ×ÔÉíµÄÒµÎñÐèÇ󣬻¹ÒªÊµÏÖDocker¼¯Èº×ÊÔ´µÄ¹ÜÀíºÍµ÷¶È¡£ÎªÁ˽â¾öÕâ¸öʵ¼ÊµÄÎÊÌ⣬ʹDocker¿ÉÒÔºÜÈÝÒ×µÄÓ¦ÓÃÓÚ´ó¹æÄ£µÄ¼¯Èº»·¾³£¬SwarmÓ¦Ô˶øÉú£¬ËüÊÇDockerÆìϵÄ×ÓÏîÄ¿£¬ÓÃÀ´°ïÖúÓû§¹ÜÀí¶à¸öDockerÒýÇæ£¬²¢ÇÒ½«ËûÃdzéÏó³ÉΪһ¸öÐéÄâµÄÕûÌåÒÔ±ê×¼Docker APIµÄ·½Ê½½«±©Â¶¸øÖÕ¶ËÓû§¡£Ò²¾ÍÊÇ˵£¬ÒѾ֧³ÖDocker ±ê×¼APIµÄÉϲãÓ¦ÓÿÉÒÔÎÞ·ìµÄºÍSwarm½øÐм¯³É £¬ÀûÓÃSwarmÌṩµÄµ÷¶È²ßÂÔÀ´ÇáËɵĽ«×Ô¼ºµÄcontainer²¿Êðµ½²»Í¬µÄDocker HostÉÏ¡£
ϱßÎÒÃÇÀ´¿´Ò»ÏÂSwarmµÄ¼Ü¹¹Éè¼Æ£¬ÈçÏÂͼËùʾ£º

ÔÚSwarmµÄ¼Ü¹¹ÖУ¬ËüµÄºǫ́clusterµÄ²ÉÓÃÁËÃæÏò½Ó¿Ú£¨swarm£¯cluster£¯cluster.go£©µÄÉè¼Æ£¬Ò²¾ÍÊÇ˵Äã¿ÉÒÔÖØÐÂʵÏÖÄÄЩ½Ó¿ÚÀ´Ìṩ¸üÇ¿´óµÄºǫ́cluster¡£±ÈÈçMesos¡£SwarmºÍMesos¼¯³ÉÖ®ºóµÄ¼Ü¹¹ÈçÏÂͼËùʾ£º

´ÓÁ½¸ö¼Ü¹¹Í¼µÄ¶Ô±È£¬ÎÒÃDz»ÄÑ·¢ÏÖSwarmÔÉúÊÇÓÃDiscovery serviceÀ´Ö§³Öµ¯ÐÔ¼¯Èº£¬ºÍMesos¼¯³ÉÖ®ºó£¬Mesos»á¶¨ÆÚÏòSwarm·¢ËÍofferÀ´ÊµÏÖµ¯ÐÔ¼¯Èº¡£ÁíÍâÒ»¸öÖØÒªµÄÇø±ð¾ÍÊÇ£¬ÔÚºÍMesos¼¯³É֮ǰ£¬SwarmÊÇͨ¹ý·ÃÎʾßÌåµÄNodeÀ´µ÷ÓÃDockerµÄ±ê×¼API À´´´½¨containerµÄ£¬ÔÚºÍMesos¼¯³ÉÖ®ºó£¬ÊÇͨ¹ýµ÷ÓÃMesosµÄAPI À´´´½¨½¨containerµÄ¡£
ΪʲôҪ°ÑSwarmÔËÐÐÔÚMesosÖ®ÉÏ
°ÑSwarmÔËÐÐÔÚMesosÖ®ÉÏ£¬»òÕß˵ÀûÓÃMesosÏòSwarmÌṩ×ÊÔ´£¬¸öÈËÈÏΪÖ÷ÒªÓÐÈý¸öÔÒò£º
- Ê×ÏÈ´ÓSwarmÍÆ¹ãµÄ½Ç¶ÈÀ´¿´£¬ÒòΪ¸÷´óÔÆ³§É̶¼¿ªÊ¼Óµ±§Mesos£¬SwarmºÍMesos¼¯³É¿ÉÒÔÀ©´óSwarmÓ¦ÓõĿռ䣬ʹSwarm¿ÉÒÔÔËÐÐÔÚÒ»¸öÒÔMesos¹ÜÀí×ÊÔ´µÄÊý¾ÝÖÐÐÄ¡£
- µÚ¶þ¸öÒ²ÊÇ×îÖ÷ÒªµÄÄ¿µÄ¾ÍÊÇÀûÓÃMesosµÄµ¯ÐÔ×ÊÔ´·ÖÅä»úÖÆ£¬Ê¹Swarm¿ÉÒÔºÍMesosÖ®ÉÏµÄÆäËûframework¹²Ïí×ÊÔ´£¬½ø¶øÌá¸ß×ÊÔ´ÀûÓÃÂÊ¡£
- µÚÈý¸öÓÅÊÆÊÇËüÌî²¹ÁËSwarm¶Ô¶à×â»§Ö§³ÖµÄ¿Õ°×¡£ÔÚSwarmºÍMesos¼¯³É֮ǰ£¬SwarmÊǺÜÄÑÖ§³Ö¶à×â»§µÄ¡£ÔÚSwarmºÍMesos¼¯³ÉÖ®ºó£¬Swarm¿ÉÒÔ½èÖúMesosÈÝÒ×µÄʵÏÖ¶à×â»§¡£×÷ÕßÈÏΪʵÏֵķ½Ê½ÓÐÒÔÏÂÁ½ÖÖ£º
a.ÔÚMesosÖеÄframeworkÖ§³Ö¶à¸örole֮ǰ£¬ÎÒÃÇ¿ÉÒÔÔÚÒ»¸öMesosµÄÊý¾ÝÖÐÐÄÖÐΪÿ¸öSwarm×â»§Æô¶¯Ò»¸öSwarm
framework£¨Æô¶¯¶à¸öSwarm Manager£©£¬Ã¿¸öSwarm frameworkʹÓò»Í¬µÄroleÏòMesos×¢²á¡£
b.Èç¹ûMesosÖеÄframeworkÖ§³ÖʹÓöà¸örole£¨MesosÉçÇøÕýÔÚ¿ª·¢Õâ¸ö¹¦ÄÜ£¬ÏêϸµÄ½øÕ¹Äã¿É²Î¿¼££MESOS-1763£©£¬ÄÇôÎÒÃǾÍÖ»ÐèÒªÔÚMesosÊý¾ÝÖÐÐÄÆô¶¯Ò»¸öSwarm
framework£¬²¢ÇÒʹÓöà¸öroleÏòMesos×¢²á£¬Ã¿¸örole¶ÔÓ¦Ò»¸öSwam µÄ×â»§¡£
ÕâÑùÎÒÃǾͿÉÒÔÀûÓÃMesos À´ÇáËɵĴﵽÈç϶à×â»§µÄЧ¹û£º
a.ͨ¹ýstatic/dynamic reservation, create volumeΪÿ¸ö×â»§·ÖÅä¹Ì¶¨µÄ×ÊÔ´£¬ÕâЩ×ÊÔ´¶Ô¶ÔÓ¦µÄ×â»§×ÜÊÇÓÅÏÈ¿ÉÓá£
b.ͨ¹ýΪroleÅäÖò»Í¬µÄweight À´¶¯Ì¬µÄÐÞ¸Äÿ¸ö×⻧ʹÓÃ×ÊÔ´µÄÓÅÏȼ¶¡££¨×¢£ºMesosÉçÇøÔÚ0.28°æ±¾Öн«»áÌṩһ¸öendpointÀ´Ö§³ÖÔÚÔËÐÐʱÐÞ¸Äweight£¬Ïêϸ½øÕ¹Äã¿ÉÒԲο¼££MESOS-4189£©¡£
c.ͨ¹ýΪroleÅäÖÃquotaÀ´¶¯Ì¬µÄÅäÖÃÿ¸ö×⻧ʹÓÃ×ÊÔ´µÄÏÞ¶î¡£
SwarmºÍMesos¼¯³ÉÆÊÎö
Ê×ÏÈÀ´¿´×ÊÔ´µÄ¹ÜÀí¡£ Mesos»á¶¨ÆÚÒÔOfferµÄÐÎʽÏòËüÉϲãµÄframeworkÌṩ×ÊÔ´£¬SwarmÒ²²»ÀýÍ⣬SwarmÊÕµ½Mesos·¢Ë͵ÄOfferÖ®ºó£º
- ´ÓOffer ÖлñÈ¡Mesos Slave ID×÷Ϊ¼üÖµÀ´´´½¨Swarm Agent£¬Ò²¾ÍÊÇ˵MesosµÄÒ»¸öSlave»áÓ³ÉäΪSwarm µÄÒ»¸öAgent£¬ ÔÚÒ»¸öagentÏ»á°üº¬¶à¸öOffer¡££¨ÔÚSwarmºÍMesos¼¯³É֮ǰ£¬ Swarm agentÊÇÓÉDiscovery service¶¯Ì¬Ìí¼ÓºÍɾ³ýµÄ£©¡£
- ´ÓOfferÖлñÈ¡Mesos SlaveµÄ»úÆ÷Ãû£¨offer.Hostname£©ºÍ¶ÔÓ¦µÄDocker EngineµÄ¶Ë¿Ú£¨Õâ¸ö¶Ë¿ÚµÄĬÈÏֵΪDocker daemonµÄĬÈ϶˿Ú2375£¬Èç¹ûÄãµÄDocker daemonûÓÐʹÓÃĬÈ϶˿ڣ¬ÄãÐèÒªÔÚÆô¶¯¶ÔÓ¦µÄMesos Salveʱָ¶¨Ò»¸öÃûΪdocker_portµÄattributeÀ´ÐÞ¸ÄÕâ¸ö¶Ë¿Ú£©À´´´½¨Ò»¸öSwarm Cluster Engine£¬Ò»¸öSwarm Agent¶ÔÓ¦Ò»¸öEngine¡£SwarmÀûÓÃÕâ¸öEngineÀ´ºÍ¶ÔÓ¦µÄMesos SlaveÉϵÄDocker Daemon½øÐÐͨÐÅ£¬±ÈÈç²é¿´docker info£¬docker versionµÈ¡£Èç¹ûͨÐÅʧ°Ü£¨·µ»ØErrConnectionRefused´íÎ󣩣¬Swarm»á°ÑÕâ¸öEngineÉèÖÃΪUnhealthy¡£ÁíÍâµÄSwarm»áΪÕâ¸öEngineÆô¶¯Ò»¸öгÌÀ´¶¨ÆÚµÄˢжÔÓ¦Docker EngineµÄÐÅÏ¢£¬ÀýÈçcontainer£¬image£¬volumeÒÔ¼°networkµÈÐÅÏ¢¡£
- Swarm½«»º´æÕâ¸öOffer£¬²¢ÎªÕâ¸öOffer´´½¨Ò»¸ötimer£¬Èç¹ûÕâ¸öofferÔÚÒ»¶¨µÄʱ¼äÄÚûÓб»ÓÃÀ´´´½¨container£¬Swarm»á×Ô¶¯½«Õâ¸öoffer decline°Ñ¶ÔÓ¦µÄ×ÊÔ´¹é»¹¸øMesos£¬ÒÔ±ãÓÚÆäËûµÄframework¿ÉÒÔʹÓá£Ä¬ÈϵÄofferʧЧʱ¼äΪ30Ã룬Óû§¿ÉÒÔͨ¹ýÔÚSwarm ManagerÆô¶¯Ê±ÉèÖèCcluster-opt mesos.offertimeout²ÎÊý£¬À´ÐÞ¸ÄÕâ¸öĬÈÏʱ¼ä¡£
×¢£º×÷ÕßÈÏΪ¶ÔÓÚSwarmµÄÕâ¸öÉè¼ÆÀ´Ëµ£¬Ëü¿ÉÒÔͨ¹ýÐÞ¸ÄoffertimeoutÀ´³¤Ê±¼äµÄÕ¼ÓÐoffer£¬½ø¶øÌá¸ßËü×Ô¼º´´½¨containerµÄЧÂÊ£¬µ«ÊǶÔÓÚMesosÀ´Ëµ£¬Õâ¸ö×ö·¨ÊDz»ÍƼöµÄ£¬ÒòΪËü»áÓ°ÏìMesos×ÊÔ´·ÖÅäµÄ¹«Æ½ÐÔÒÔ¼°½µµÍ×ÊÔ´µÄÀûÓÃÂÊ¡£
Äã¿ÉÒÔͨ¹ýDocker info ÃüÁîÀ´²é¿´Ä¿Ç°SwarmÖпÉÓõÄOffer£º

ϱ߽éÉÜSwarm£«Mesos´´½¨containerµÄÁ÷³Ì£º

- Step 1: Swarm Managerͨ¹ýDocker±ê×¼µÄREST API½ÓÊÕÉϲãÓ¦Ó÷¢Ë͵Ĵ´½¨containerµÄÇëÇó£º
- a.´´½¨Task¶ÔÏ󣬲¢½«Ð´´½¨µÄTask¼ÓÈëµ½ÈÎÎñ¶ÓÁУ¨cluster. pendingTasks£©¡£
- b.´´½¨Task¶ÔÓ¦µÄtimer£¬Èç¹ûÔÚÉèÖõij¬Ê±Ê±¼äÄÚûÓпÉÓõÄofferÓÃÀ´Ö´ÐÐÕâ¸öTask£¬Ôò´ËTask»á±»±êʶΪʧ°Ü²¢·µ»Ø£¬²¢ÇÒ´ÓÈÎÎñ¶ÓÁÐÖÐɾ³ý£¬Ä¬Èϵij¬Ê±Ê±¼äΪ5Ã룬Óû§¿ÉÒÔͨ¹ýÔÚSwarm ManagerÆô¶¯Ê±ÉèÖèCcluster-opt mesos.tasktimeout²ÎÊý£¬À´ÐÞ¸ÄÕâ¸öĬÈÏʱ¼ä¡£
- Step 2: Swarm Managerͨ¹ýschedulerÑ¡ÔñºÏÊʵÄnodeÀ´Ö´ÐÐÕâ¸öTask£º
a.Step 2.1 Èç¹û´ËʱÓÐ×ã¹»µÄresources¿ÉÒÔÂú×㣬Ôòµ÷ÓÃMesos APIÀ´´´½¨Õâ¸öcontainer.
b.·ñÔòµÈ´ýMesos ·¢ËÍOffer¡£
- Step 3: Swarm schedulerÊÕµ½Mesos·¢Ë͵ÄOffer£¬È»ºó±éÀúËùÓеÄpendingTasks£¬Í¨¹ýfilterºÍÉèÖõÄstrategyÑ¡ÔñºÏÊʵÄnodeÀ´Ö´ÐÐÕâ¸öÈÎÎñ£º
a.ĿǰSwarmÒ»µ©ÎªÒ»¸öTaskÑ¡ÔñÁËÒ»¸öºÏÊʵÄNode£¬Ëü»áÀûÓÃÕâ¸öNodeÉÏËùÓеÄOfferÀ´Ö´ÐÐÕâ¸öTask£¬Ò²¾ÍÊÇ˵Ëü²»»á¸ù¾ÝÕâ¸öTaskʵ¼ÊʹÓõÄ×ÊÔ´Á¿À´ÌôÑ¡±ØÒªµÄoffer£¬ÔÚÕâ¸öNodeÉÏÖ´ÐÐÒ»¸öTaskÖ®ºóÆäÓàµÄresource¶¼»á±»ÍË»¹¸øMesos¡£Õâ¸öʵÏÖ»áÓ°ÏìSwarm´´½¨containerµÄÐÔÄÜ£¬ºóÆÚÐèÒª¸Ä½ø¡£
b.ͬʱSwarm»áÔÚlaunch taskµÄͬʱΪÏà¹ØµÄofferÉèÖÃÒ»¸öofferFilter,¸æËßMesosÔÚÒ»¶Îʱ¼äÄÚËü²»½ÓÊÜÏà¹ØNodeÉϵÄresources¡£Õâ¸öĬÈϵÄʱ¼äΪ5Ã룬Óû§¿ÉÒÔͨ¹ýÔÚSwarm ManagerÆô¶¯Ê±ÉèÖèCcluster-opt mesos. offerrefusetimeout²ÎÊý£¬À´ÐÞ¸ÄÕâ¸öĬÈÏʱ¼ä¡£
- Step 4: Swarm schedulerµ÷ÓÃMesos API´´½¨container¡£
a. µ÷ÓÃMesos API´´½¨taskÖ®ºó£¬Swarm»á½«Õâ¸öNodeÉϵÄËùÓÐoffer´Ó»º´æÖÐɾ³ý¡£
b. ͬʱÆô¶¯Ò»¸öMonitorÀ´¼àÌýÈÎÎñµÄÔËÐÐ״̬¡£
- Step 5£¬6: Èç¹ûTaskµÄ״̬ÓÐËù±ä»¯£¬Mesos»á·¢ËÍStatusUpdateMessage¸øSwarm¡£
- Step 7: ÖÕ¶ËÓû§¿ÉÒÔͨ¹ýDocker ÃüÁdocker ps£©»òÕßAPI²é¿´ËùÓÐcontainerµÄÔËÐÐ״̬¡£
½áÊøÓï
ĿǰSwarmºÍMesos µÄ¼¯³ÉÈÔÈ»´¦ÓÚÆð²½½×¶Î£¬¸Ä½øµÄ¿Õ¼ä»¹ºÜ´ó£¬¸öÈËÈÏΪÖ÷Òª´æÔÚÒÔϼ¸¸ö·½ÃæµÄÎÊÌ⣺
- ¶ÔMesos Scheduler½Ó¿ÚµÄʵÏÖ»¹²»¹»È«Ã棬±ÈÈçûÓÐʵÏÖSlavrLost, ExecutorLostµÈʼþ¡£
- ²»Ö§³ÖMesos µÄRescind offer¡£Rescind offerÊÇMesosÌṩµÄÒ»ÖÖ³·ÏúofferµÄ»úÖÆ¡£±ÈÈ統ij¸öMesos Slave²»¿ÉÓÃÖ®ºó£¬Mesos»áÏò¶ÔÓ¦µÄframework·¢ËÍRescindResourceOfferMessage¸æËßÕâ¸öofferÏÖÔÚÒѾ²»¿ÉÓÃÁË¡£SwarmÖ§³ÖÁËRescind offerÖ®ºó£¬¿ÉÒÔ±ÜÃâÓÃʧЧµÄoffer´´½¨container£¬Ìá¸ßÖÕ¶ËÓû§µÄÌåÑé¡£
- ²»Ö§³ÖMesosµÄInverse offer¡£Inverse offerÊÇMesosÌṩµÄÒ»ÖÖ»ØÊÕ×ÊÔ´µÄ»úÖÆ¡£±ÈÈçÔÚMesos maintenance¹¦ÄÜÖУ¬Èç¹ûoperator¼Æ»®Î¬»¤Ä³¸öslave£¬Ëü»áÏòMesos·¢ÆðÒ»¸ömaintenance schedulerÇëÇó£¬MesosÊÕµ½Õâ¸öÇëÇóÖ®ºó£¬»áÏòÿ¸öʹÓÃÁËÕâ¸öslaveµÄ×ÊÔ´µÄframework·¢ËÍInverse offerÀ´¸æËßÕâЩ×ÊÔ´¼´½«²»¿ÉÓã¬framework¿ÉÒÔÑ¡Ôñ½«¶ÔÓ¦µÄtaskÇ¨ÒÆµ½ÁíÍâµÄslaveÉÏ»òÕß²ÉÓÃÁíÍâµÄ·½Ê½À´±ÜÃâËðʧ¡£Swam Ö§³ÖÁËInverse offerÖ®ºó¾Í¿ÉÒÔʵÏÖtaskµÄ×Ô¶¯failover¡£
- ²»Ö§³ÖMesosµÄRevocable resource¡£Revocable resource¹ËÃû˼Òå¾ÍÊÇ¿ÉÒÔÊջصÄresource£¬Ä¿Ç°Ö§³ÖµÄRevocable resource ÊÇUsage slack, ËüÊÇÓÉÿ¸öMesos slaveÉϵÄestimatorÀ´¼ÆË㣬±ÈÈçij¸ötask´´½¨Ê±Ô¤¼ÆÊ¹ÓÃ1024MÄڴ棬µ«ËüÔÚijһʱ¿Ìʵ¼ÊֻʹÓÃÁË512M£¬ÕâʱMesos¾Í»á½«ÁíÍâûÓÐʹÓõÄ512MÒÔUsage slackµÄÀàÐÍ·¢Ë͸øÆäËûµÄframeworkʹÓã¬Èç¹ûÒ»¶Îʱ¼äÖ®ºó£¬ÄǸötaskʹÓõÄÄÚ´æÉÏÉý£¬Ôòslave»áÖ±½ÓkillµôʹÓÃÁ˶ÔÓ¦revocable resourceµÄtaskÀ´»ØÊÕ×ÊÔ´¡£SwarmÔÚÖ§³ÖÁËRevocable resourceÖ®ºó£¬¿ÉÒÔ½øÒ»²½³ä·ÖµÄÀûÓÃMesosµÄ×ÊÔ´¡£
- ¶ÔMesos failoverµÄÖ§³Ö²»¹»strong¡£¸ù¾Ý¸öÈ˵IJâÊÔ£¬·¢ÏÖÔÚMesos failoverÖ®ºó£¬Swarm ²»»áÖØÐÂÏòеÄMesos Master×¢²á£¬ÎÒÒѾÔÚSwarmÉçÇølogÁËÒ»¸öissue£¬Äã¿ÉÒÔ¹Ø×¢££1730»ñÈ¡ºóÐøµÄ½â¾ö°ì·¨¡£
- Docker InfoµÄÏÔʾ²»¹»ºÏÀí¡£¸öÈËÈÏΪÔÚSwarm£«MesosÖУ¬Docker infoÃüÁîµÄʵÏÖÓ¦¸ÃºÍ֮ǰµÄÐÐΪ±£³ÖÒ»Ö¡£Ê×ÏȲ»Ó¦¸ÃÏÔʾofferµÄÐÅÏ¢£¬offer¶ÔÓÚSwarmµÄÖÕ¶ËÓû§À´ËµÓ¦¸ÃÊÇ͸Ã÷µÄ£¬ÒòΪSwarmµÄfilterºÍstrategy¶¼ÊÇÒÔnodeΪµ¥Î»À´µ÷¶ÈµÄ£¬ËùÒÔÓ¦¸ÃÏñÔÀ´Ò»ÑùÏÔʾ nodesµÄÐÅÏ¢£¬²¢ÇÒÏÔʾÿ¸önodeµÄµ±Ç°×´Ì¬£¬ÔËÐÐcontainerµÄÊýÁ¿£¬reserved resources£¬total resourcesºÍ±êÇ©µÈ¡£
- Swarm´´½¨containerµÄÐÔÄÜÓдý¸Ä½ø¡£Ä¿Ç°SwarmÒ»µ©ÎªÒ»¸öTaskÑ¡ÔñÁËÒ»¸öºÏÊʵÄNode£¬Ëü»áÀûÓÃÕâ¸öNodeÉÏËùÓеÄOfferÀ´Ö´ÐÐÕâ¸öTask£¬Ò²¾ÍÊÇ˵Ëü²»»á¸ù¾ÝÕâ¸öTaskʵ¼ÊʹÓõÄ×ÊÔ´Á¿À´ÌôÑ¡±ØÒªµÄoffer£¬ÔÚÕâ¸öNodeÉÏÖ´ÐÐÒ»¸öTaskÖ®ºóÆäÓàµÄresource¶¼»á±»ÍË»¹¸øMesos¡£Õâ¸öʵÏÖ»áÓ°ÏìSwarm´´½¨containerµÄÐÔÄÜ¡£
- ×îºóÒ»ÌõÎÒÈÏΪ£¬SwarmºÍMesos¼¯³ÉÒÔºó¿ÉÄÜ»áÓ°ÏìSwarm´´½¨containerµÄÐÔÄÜ£¬´ÓÉÏÎļܹ¹Í¼ÖпÉÒÔ¿´³ö£¬SwarmºÍMesos¼¯³É֮ǰËüÊÇͨ¹ýµ÷ÓÃDocker±ê×¼APIÀ´·ÃÎÊÿ¸öNode´´½¨containerµÄ£¬ÔÚºÍMesos¼¯³ÉÖ®ºóËùÓд´½¨containerµÄÇëÇó¶¼±ØÐë½»¸øMesos MasterÀ´´¦Àí£¬Ò²¾ÍÊǰѶàµã±ä³ÉÁ˵¥µã£¬ÔÚ´ó²¢·¢Çé¿öÏ£¬ÐÔÄÜ¿ÉÄÜÓÐËù½µµÍ¡£
ÒÔÉÏ·ÖÎö³äÊýÒ»¼ÒÖ®ÑÔ£¬ÈçÓÐʧÎ󣬾´ÇëÖ¸µ¼¡£
IBM Platform DCOS×÷ΪMesosÉçÇøµÄÖ÷Òª¹±Ï××éÖ¯£¬½áºÏ×ÔÉíÔÚ×ÊÔ´µ÷¶È·½Ãæ·á¸»µÄʵ¼ùÓ¦Ñ飬ÕýÔÚ¶ÔMesos×ÊÔ´µÄµ÷¶ÈÄ£¿é£¨Mesos Allocator£©½øÐв»¶ÏµÄÓÅ»¯£¬¶øÇÒͨ¹ý½«×Ô¼ºµÄ×ÊÔ´µ÷¶È×é¼þEGOÓëMesos¼¯³É£¬ÎªMesosÉϲãframeworkÌṩÁ˸ü¶àµÄµ÷¶È²ßÂԺ͸ü¼ÓÓѺõIJßÂÔÅäÖýçÃæ¡£±¾ÎÄÖ÷Òª·ÖÎöÁË SwarmÓëMesos¼¯³ÉµÄÔÀíÒÔ¼°´æÔÚµÄÎÊÌ⣬ÔÚ±¾ÎĵĻù´¡ÉÏ£¬ºóÐøÎÒÃÇ»áÏêϸ½éÉÜIBM platform DCOS¶ÔMesosµÄ¸Ä½ø£¬ÈçºÎ½«ÕâЩ¸Ä½øÓ¦ÓÃÓÚSwarm£¬ÒÔ¼°ÕâЩ¸Ä½ø»á¶ÔÆóÒµ¼¶Óû§´øÀ´Ê²Ã´ÑùµÄÌåÑé¡£
×÷Õß¼ò½é£º
ÍõÓÂÇÅ£¬80ºóµÄIT¹¥³Çʨ£¬¹©Ö°ÓÚIBM¶àÄ꣬Ö÷Òª´ÓÊÂÔÆ¼ÆËãÁìÓòÏà¹ØµÄ¹¤×÷£¬MesosºÍSwarmÉçÇøµÄ¹±Ï×Õß¡£Æ½Ê±Ï²»¶ÔÚÒµÓàʱ¼äÑо¿DevOpsÏà¹ØµÄÓ¦Ó㬠¶Ô×Ô¶¯»¯²¿Ê𣬳ÖÐø¼¯³É£¬×ÊÔ´µ÷¶ÈÓнÏÉîµÄÑо¿¡£
|