Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÈÝÆ÷²»»áÈ¡´úOpenStack£¬µ«¶þÕßÈçºÎÉî¶ÈÕûºÏ£¿
 
×÷Õß Áõ¹âÑÇ À´Ô´£º¡¶³ÌÐòÔ±¡·µç×Ó¿¯ »ðÁú¹ûÈí¼þ  ·¢²¼ÓÚ 2015-5-22
  3088  次浏览      31
 
ÕªÒª£ºOpenStack»ù½ð»á³ýÁËÒª½ÓÊÜContainerºÍGoogle KubernetesµÈÈÝÆ÷¹ÜÀíÆ½Ì¨£¬»¹»ý¼«ÍƽøMagnum×ÓÏîÄ¿ÔÚ¼¼ÊõÉÏʵÏÖÈÝÆ÷ÓëOpenStackµÄÉî¶ÈÕûºÏ¡£±¾ÎÄÊÇMagnum Core MemberÁõ¹âÑÇÉî¶È½âÎöOpenStackÓëDockerµÄ¼¯³É¡£

¡¾±àÕß°´¡¿Î¸绪OpenStack Summit£¬Container/Docker³ÉΪһ´ó¹Ø×¢½¹µã£¬OpenStack»ù½ð»á³ýÁ˱íʾ½«½ÓÊÜContainerºÍGoogle KubernetesµÈÈÝÆ÷¹ÜÀíÆ½Ì¨£¬»¹»ý¼«ÍƽøMagnum×ÓÏîÄ¿£¬ÔÚ¼¼ÊõÉÏʵÏÖÈÝÆ÷ÓëOpenStackµÄÉî¶ÈÕûºÏ¡£ÓÉ´Ë£¬ÈÝÆ÷È¡´úOpenStackµÄ˵·¨²»¹¥×ÔÆÆ¡£ÈÃÎÒÃÇÀ´¿´Ò»Æª¸ù¾ÝMagnumµÄCore MemberÁõ¹âÑÇÔÚOpen Cloud 2015Éϵķ¢ÑÔÕûÀíµÄÎÄÕ£¬ÏêϸÁ˽âOpenStackÓëDockerµÄ¼¯³ÉºÍ¸÷Ïà¹Ø×ÓÏîÄ¿µÄÓÅÁÓ¡£ÎÄÕÂÔ­ÔØ¡¶³ÌÐòÔ±¡·µç×Ó¿¯£¬È«ÎÄÈçÏ£º

OpenStackºÍDocker

OpenStackºÍDockerÖ®¼äÊǺܺõĻ¥²¹¹ØÏµ¡£DockerµÄ³öÏÖÄÜÈÃIaaS²ãµÄ×ÊԴʹÓõøü¼Ó³ä·Ö£¬ÒòΪDockerÏà¶ÔÐéÄâ»úÀ´Ëµ¸üÇáÁ¿£¬¶Ô×ÊÔ´µÄÀûÓÃÂÊ»á¸ü¼Ó³ä·Ö¡£Èçͼ1Ëùʾ¡£


ͼ1 OpenStackºÍDockerµÄ¹ØÏµ

´Óͼ1¿ÉÒÔ¿´³ö£¬DockerÖ÷ÒªÕë¶ÔPaasƽ̨£¬ÊÇÒÔÓ¦ÓÃΪÖÐÐÄ¡£OpenStackÖ÷ÒªÕë¶ÔIaasƽ̨£¬ÒÔ×ÊԴΪÖÐÐÄ£¬¿ÉÒÔΪÉϲãµÄPaaSƽ̨Ìṩ´æ´¢¡¢ÍøÂç¡¢¼ÆËãµÈ×ÊÔ´¡£


ͼ2 OpenStackÏîÄ¿µÄ²ã¼¶¹ØÏµ

OpenStackÖа´ÕÕ²ãÀ´·Ö¼¶µÄһЩÏîÄ¿£¬Èçͼ2Ëùʾ¡£Í¼2´ÓÏÂÍùÉÏ¿´£º

  • µÚÒ»²ãÊÇ»ù´¡ÉèÊ©²ã£¬ÕâÒ»²ãÖ÷Òª°üº¬Nova¡¢GlanceºÍKeystone£¬Èç¹ûÎÒÃÇÒªÏëµÃµ½×î»ù±¾µÄ»ù´¡ÉèÊ©µÄ·þÎñ£¬±ØÐë°²×°²¿ÊðÕâÈý¸öÏîÄ¿¡£
  • µÚ¶þ²ãÊÇÀ©Õ¹»ù´¡ÉèÊ©²ã£¬ÕâÒ»²ã¿ÉÒÔÈÃÎÒÃǵõ½¸ü¶à¸ú»ù´¡ÉèÊ©Ïà¹ØµÄ¸ß¼¶·þÎñ£¬Ö÷Òª°üº¬Cinder¡¢Swift¡¢Neutron¡¢DesignateºÍIronicµÈ£¬ÆäÖÐCinderÌṩ¿é´æ´¢£¬SwiftÌṩ¶ÔÏó´æ´¢£¬NeutronÌá¹©ÍøÂç·þÎñ£¬DesignateÌṩDNS·þÎñ£¬IronicÌṩÂã»ú·þÎñ¡£
  • µÚÈý²ãÊÇ¿ÉÑ¡µÄÔöÇ¿ÌØÐÔ£¬°ïÓû§ÌṩһЩ¸ü¼Ó¸ß¼¶µÄ¹¦ÄÜ£¬Ö÷Òª°üº¬Ceilometer¡¢HorizonºÍBarbican£¬ÆäÖÐCeilometerÌṩ¼à¿Ø¡¢¼ÆÁ¿·þÎñ£¬HorizonÌṩÓû§½çÃæ£¬BarbicanÌá¹©ÃØÔ¿¹ÜÀí·þÎñ¡£
  • µÚËIJãÖ÷ÒªÊÇÏû·ÑÐÍ·þÎñ£¬ËùνµÄÏû·ÑÐÍ·þÎñ£¬Ö÷ÒªÊÇÖ¸µÚËIJãµÄ·þÎñ¶¼ÐèҪͨ¹ýʹÓÃǰÈý²ãµÄ·þÎñÀ´¹¤×÷¡£
  • µÚËIJãÖ÷ÒªÓÐHeat¡¢Magnum¡¢Sahara¡¢SolumºÍMuranoµÈ£¬ÆäÖÐHeatÖ÷ÒªÌṩorchestration·þÎñ£¬MagnumÖ÷ÒªÌṩÈÝÆ÷·þÎñ£¬SaharaÖ÷ÒªÌṩ´óÊý¾Ý·þÎñ£¬ÎÒÃÇ¿ÉÒÔͨ¹ýSaharaºÜ·½±ãµØ²¿ÊðHadoop¡¢Spark¼¯Èº¡£SolumÖ÷ÒªÌṩӦÓÿª·¢µÄ·þÎñ£¬²¢ÇÒ¿ÉÒÔÌṩһЩÀàËÆÓÚCI/CDµÄ¹¦ÄÜ¡£MuarnoÖ÷ÒªÌṩӦÓÃĿ¼µÄ·þÎñ£¬ÀàËÆÓÚApp Store£¬¾ÍÊÇÓû§¿ÉÒÔ°ÑһЩ³£ÓõÄÓ¦Ó÷¢²¼³öÀ´¹©ÆäËûÓû§È¥Ê¹Óá£×îÓÒ±ßÊÇKolla£¬KollaµÄÖ÷Òª¹¦ÄÜÊÇÈÝÆ÷»¯ËùÓеÄOpenStack·þÎñ£¬±ãÓÚOpenStack°²×°²¿ÊðºÍÉý¼¶¡£

    OpenStackÖкÍDockerÓйØÏµµÄÏîÄ¿Èçͼ3Ëùʾ¡£


    ͼ3 OpenStackÖкÍDockerÓйØÏµµÄÏîÄ¿

    Ö÷Òª°üÀ¨Nova¡¢Heat¡¢Magnum¡¢Sahara¡¢Solum¡¢MuranoºÍKollaµÈ¡£ÓÉͼ3µÃÖª£¬ºÍDockerÏà¹ØµÄ´ó²¿·ÖÏîÄ¿¶¼ÔÚPaaSºÍSaaS²ã¡£ÒÔÏÂÖ÷Òª·Ö±ð˵Ã÷Nova¡¢Heat¡¢Magnum¡¢MuranoºÍKolla¡£

    Nova Docker Driver

    Èçͼ4Ëùʾ£¬Õâ¸öDriverÊÇOpenStackºÍDockerµÄµÚÒ»´Î¼¯³É£¬Ö÷ÒªÊǰÑDocker×÷ΪһÖÖеÄHypervisorÀ´´¦Àí£¬°ÑËùÓеÄContainerµ±³ÉVMÀ´´¦Àí¡£ÌṩÁËÒ»¸öDockerµÄNova Compute Driver£¬¼¯³ÉºÜ¼òµ¥£¬Í¨¹ýDocker REST APIÀ´²Ù×÷Container¡£


    ͼ4 Nova Compute Driver£¬OpenStackºÍDockerµÄµÚÒ»´Î¼¯³É

    Õâ¸öDriverµÄÓŵãÊÇʵÏֱȽϼòµ¥£¬Ö»ÐèÒª°ÑNova ComputeÖеÄһЩ¶ÔÐéÄâ»ú²Ù×÷µÄ³£ÓýӿÚʵÏ־ͿÉÒÔ£¬ÏÖÔÚÖ÷ÒªÖ§³Ö´´½¨¡¢Æô¶¯¡¢Í£Ö¹¡¢Pause¡¢UnpauseµÈÐéÄâ»úµÄ»ù±¾²Ù×÷¡£ÒòΪNova Docker DriverÒ²ÊÇÒ»¸öNovaµÄCompute Driver£¬ËùÒÔËü¿ÉÒÔÏñÆäËûµÄCompute DriverÒ»ÑùʹÓÃOpenStackÖеÄËùÓзþÎñ£¬°üÀ¨Ê¹ÓÃNovaschedulerÀ´×ö×ÊÔ´µ÷¶È£¬ÓÃHeatÀ´×öÓ¦Óò¿Êð¡¢·þÎñ·¢ÏÖ¡¢À©ÈÝËõÈݵȣ¬Í¬Ê±Ò²¿ÉÒÔͨ¹ýºÍNeutron¼¯³ÉÀ´¹ÜÀíDockerÍøÂç¡£Ò²Ö§³Ö¶à×â»§£¬Îª²»Í¬µÄ×â»§ÉèÖò»Í¬µÄQuota£¬×ö×ÊÔ´¸ôÀë¡£

    ËüµÄȱµãÒ²ºÜÃ÷ÏÔ£¬ÒòΪDockerºÍÐéÄâ»ú²î±ðҲͦ´óµÄ£¬Docker»¹ÓÐһЩºÜ¸ß¼¶µÄ¹¦ÄÜÊÇVMËùûÓеģ¬ÏñÈÝÆ÷¹ØÁª£¬¾ÍÊÇʹ²»Í¬ÈÝÆ÷Ö®¼äÄܹ»¹²ÏíһЩ»·¾³±äÁ¿£¬À´ÊµÏÖһЩ·þÎñ·¢ÏֵŦÄÜ£¬ÀýÈçK8SµÄPod¾ÍÊÇͨ¹ýÈÝÆ÷¹ØÁªÀ´ÊµÏֵġ£ÁíÍâÒ»¸öÊǶ˿ÚÓ³É䣬K8SµÄPodҲʹÓÃÁ˶˿ÚÓ³ÉäµÄ¹¦ÄÜ£¬¿ÉÒÔ°ÑÒ»¸öPodÖеÄËùÓÐContainerµÄPort¶¼Í¨¹ýNet Container Export³öÈ¥£¬±ãÓÚºÍÍâ½çͨÐÅ¡£»¹ÓÐÒ»¸öÊDz»Í¬ÍøÂçģʽµÄÅäÖã¬ÒòΪDockerµÄÍøÂçģʽºÜ¶à£¬°üÀ¨Hostģʽ¡¢ContainerģʽµÈµÈ£¬ÒÔÉϵÄËùÓй¦Äܶ¼ÊÇNova Docker Driver²»ÄÜʵÏֵġ£

    Heat Docker Driver

    ÒòΪNova Docker Driver²»ÄÜʹÓÃDockerµÄһЩ¸ß¼¶¹¦ÄÜ£¬ËùÒÔÉçÇø¾ÍÏëÁËÁíÒ»¸ö·½·¨£¬ºÍHeatÈ¥¼¯³É£¬Èçͼ5Ëùʾ¡£


    ͼ5 Heat Docker Driver

    ÒòΪHeat²ÉÓõÄÒ²ÊDzå¼þģʽ£¬ËùÒÔ¾ÍÔÚHeatʵÏÖÁËÒ»¸öеÄResource£¬×¨ÃÅÀ´ºÍDocker¼¯³É¡£Õâ¸öHeat²å¼þÊÇÖ±½Óͨ¹ýREST APIºÍDocker½»»¥µÄ£¬²»ÐèÒªºÍNova¡¢CinderºÍNeutronµÈÀ´½øÐн»»¥¡£

    Õâ¸öDriverµÄÒ»¸öÓŵãÊ×ÏÈÊÇËüÍêÈ«¼æÈÝDockerµÄAPI£¬ÒòΪÎÒÃÇ¿ÉÒÔÔÚHeat TemplateÀï±ßÈ¥¶¨ÒåÎÒÃǹØÐĵIJÎÊý£¬¿ÉÒÔʵÏÖDockerµÄËùÓи߼¶¹¦ÄÜ¡£ÁíÍâÒòΪºÍHeat¼¯³ÉÁË£¬ËùÒÔĬÈϾÍÓÐÁËMulti-TenantµÄ¹¦ÄÜ£¬¿ÉÒÔʵÏÖ²»Í¬DockerÓ¦ÓÃÖ®¼äµÄ¸ôÀë¡£

    µ«ËüµÄȱµãÒ²·Ç³£Ã÷ÏÔ£¬ÒòΪËüÊÇHeatÖ±½Óͨ¹ýREST APIºÍDocker½»»¥µÄ£¬ËùÒÔHeat Docker DriverûÓÐ×ÊÔ´µ÷¶È£¬Óû§ÐèÒªÔÚTemplateÖÐÖ¸¶¨ÐèÒªÔÚÄÄһ̨Docker·þÎñÆ÷ÉÏÈ¥²¿Êð£¬ËùÒÔÕâ¸öDriver²»Êʺϴó¹æÄ£Ó¦Óã¬ÒòΪûÓÐ×ÊÔ´µ÷¶È¡£ÁíÍâÒòΪûÓкÍNeutronÈ¥½»»¥£¬ËùÒÔÍøÂç¹ÜÀíÒ²Ö»ÄÜÓÃDocker±¾ÉíµÄÍøÂç¹ÜÀí¹¦ÄÜÀ´ÊµÏÖ¡£

    ͼ6ÊÇʹÓÃHeat Docker DriverµÄÒ»¸öºÜµäÐ͵ÄÓ¦Óó¡¾°¡£Ö÷ÒªÊÇͨ¹ýHeatÔÚÐéÄâ»ú²¿ÊðÒ»¸öС¹æÄ£µÄDocker ContainerÓ¦Óã¬Õâ¸öÀý×ÓÖ÷ÒªÊÇÒ»¸öWeb ServerµÄÓ¦Óá£


    ͼ6 Heat Docker DriverµÄÒ»¸öºÜµäÐ͵ÄÓ¦Óó¡¾°

    ËüµÄ·½·¨ÊÇÔÚHeat Tempalte¶¨ÒåÁ½ÖÖÀàÐ͵ÄResource£¬Ò»ÖÖÊÇNova Server£¬Ò»ÖÖÊÇDocker Container£¬Docker ContainerÐèÒªÒÀÀµNova Server£¬¾ÍÊDZØÐëNova Server´´½¨Íêºó²ÅÄÜ¿ªÊ¼´´½¨Docker Container¡£µ±Óû§ÔÚ´´½¨Nova ServerµÄʱºò£¬ÐèÒªÔÚNova ServerÉÏͨ¹ýUser Data°²×°Docker£¬Docker ContainerÐèÒªµÈNova ServerÆô¶¯ºó£¬ÔÚNova ServerÉÏ´´½¨Docker Container¡£ÕâÀïÓÐÒ»¸öÏêϸµÄÀý×Ó£¬´ó¼Ò¿ÉÒԲο¼£ºhttp://techs.eNovance.com/7104/multi-tenant-Docker-with-openstack-heat

    Magnum

    ÔÚOpenStackºÍDocker¼¯³ÉµÄ¹ý³ÌÖУ¬ÎÒÃÇ·¢ÏÖ´ÓOpenStackÏÖÓеÄÏîÄ¿ÖУ¬ÕÒ²»µ½Ò»¸öºÜºÃµÄ¼¯³Éµã£¬ËäÈ»ºÍNova¡¢Heat¶¼×öÁ˼¯³ÉµÄ³¢ÊÔ£¬µ«È±µãºÜÃ÷ÏÔ£¬ËùÒÔÉçÇø¾Í¿ªÊ¼ÁËÒ»¸öеÄרÃÅÕë¶ÔDockerºÍOpenStack¼¯³ÉµÄÏîÄ¿Magnum£¬ÓÃÀ´ÌṩÈÝÆ÷·þÎñ¡£MagnumÊÇ2014ÄêÔÚ°ÍÀè·å»áºó´Ó11Ô¿ªÊ¼×öµÄ£¬µ½ÏÖÔÚ5¸öÔÂʱ¼äÓÐ27¸öContributor£¬ÓÐ700¶à¸öCommit£¬·¢Õ¹ËÙ¶È»¹¿ÉÒÔ¡£

    MangumµÄÖ÷ҪĿµÄÊÇÌṩContainer·þÎñµÄ£¬Ëüͬʱ»¹¿ÉÒԺͶà¸öDocker¼¯Èº¹ÜÀíϵͳ¼¯³É£¬°üÀ¨K8S¡¢Swarm¡¢CoreOSµÈ¡£ºÍÕ⼸¸öƽ̨¼¯³ÉµÄÖ÷ÒªÔ­ÒòÊÇÄÜÈÃÓû§¿ÉÒԺܷ½±ãµØÍ¨¹ýOpenStackÔÆÆ½Ì¨À´¼¯³ÉK8S¡¢CoreOS¡¢SwarmÕâЩÒѾ­ºÜ³ÉÐ͵ÄDocker¼¯Èº¹ÜÀíϵͳ£¬´Ù½øDockerºÍOpenStackÉú̬ϵͳµÄÈںϡ£

    Ê×ÏÈÀ´¿´MagnumµÄÖ÷Òª¸ÅÄÈçͼ7Ëùʾ¡£


    ͼ7 MagnumµÄÖ÷Òª¸ÅÄî

    ÔÚÕâ¸öͼµÄÓұߣ¬Ö÷ÒªÓУºBay¡¢Baymodel¡¢Node¡¢Pod¡¢Service¡¢Replication ControllerºÍContainer¡£

  • BayÔÚMagnumÖ÷Òª±íʾһ¸ö¼¯Èº£¬ÏÖÔÚͨ¹ýMagnum¿ÉÒÔ´´½¨K8SºÍSwarmµÄbay£¬Ò²¾ÍÊÇK8SºÍSwarmµÄ¼¯Èº¡£
  • BaymodelÊÇFlavorµÄÒ»¸öÀ©Õ¹£¬FlavorÖ÷ÒªÊǶ¨ÒåÐéÄâ»úµÄ¹æ¸ñ£¬BaymodelÖ÷ÒªÊǶ¨ÒåÒ»¸öDocker¼¯ÈºµÄһЩ¹æ¸ñ£¬ÀýÈçÕâ¸ö¼¯ÈºµÄ¹ÜÀí½ÚµãµÄFlavor¡¢¼ÆËã½ÚµãµÄFlavor¡¢¼¯ÈºÊ¹ÓõÄImageµÈ¡£
  • NodeÖ÷ÒªÊÇÖ¸BayÖеÄij¸ö½Úµã¡£
  • Pod¡¢Replication ControllerºÍServiceµÄÒâ˼ºÍÔÚK8SµÄÒâ˼ÊÇÒ»ÑùµÄ£¬Óû§¿ÉÒÔͨ¹ýMagnumÀ´ºÍK8S¼¯³É£¬Í¨¹ýMagnum APIÀ´²Ù×÷K8S¼¯Èº¡£
  • PodÊÇKubernetes×î»ù±¾µÄ²¿Êðµ÷¶Èµ¥Ôª£¬¿ÉÒÔ°üº¬¶à¸öContainer£¬Âß¼­ÉϱíʾijÖÖÓ¦ÓõÄÒ»¸öʵÀý¡£±ÈÈçÒ»¸öWebÕ¾µãÓ¦ÓÃÓÉǰ¶Ë¡¢ºó¶Ë¼°Êý¾Ý¿â¹¹½¨¶ø³É£¬ÕâÈý¸ö×é¼þ½«ÔËÐÐÔÚ¸÷×ÔµÄÈÝÆ÷ÖУ¬ÄÇôÎÒÃÇ¿ÉÒÔ´´½¨ÈýPod£¬Ã¿¸öPodÔËÐÐÒ»¸ö·þÎñ¡£»òÕßÒ²¿ÉÒÔ½«Èý¸ö·þÎñ´´½¨ÔÚÒ»¸öPod£¬ÕâÈ¡¾öÓÚÓû§µÄÓ¦ÓÃÐèÇó¡£
  • ServiceÊÇPodµÄ·ÓÉ´úÀí³éÏó£¬ÓÃÓÚ½â¾öPodµÄ¸ß¿ÉÓõÄÎÊÌâ¡£ServiceÒòΪPodµÄÔËÐÐ״̬¿É¶¯Ì¬±ä»¯(±ÈÈçPodµÄIP±äÁË»òÕßij¸öPod±»É¾³ýÁ˵È)£¬ËùÒÔ·ÃÎʶ˲»ÄÜÒÔдËÀIPµÄ·½Ê½È¥·ÃÎʸÃPodÌṩµÄ·þÎñ¡£ServiceµÄÒýÈëÖ¼ÔÚ±£Ö¤PodµÄ¶¯Ì¬±ä»¯¶Ô·ÃÎʶË͸Ã÷£¬·ÃÎʶËÖ»ÐèÒªÖªµÀServiceµÄµØÖ·£¬ÓÉServiceÀ´Ìṩ´úÀí¡£
  • Replication ControllerÊÇPodµÄ¸´ÖƳéÏó£¬ÓÃÓÚ½â¾öPodµÄÀ©ÈÝËõÈÝÎÊÌ⡣ͨ³££¬·Ö²¼Ê½Ó¦ÓÃΪÁËÐÔÄÜ»ò¸ß¿ÉÓÃÐԵĿ¼ÂÇ£¬ÐèÒª¸´Öƶà·Ý×ÊÔ´£¬²¢ÇÒ¸ù¾Ý¸ºÔØÇé¿ö¶¯Ì¬ÉìËõ¡£Í¨¹ýReplication Controller£¬ÎÒÃÇ¿ÉÒÔÖ¸¶¨Ò»¸öÓ¦ÓÃÐèÒª¼¸·Ý¸´ÖÆ£¬Kubernetes½«ÎªÃ¿·Ý¸´ÖÆ´´½¨Ò»¸öPod£¬²¢ÇÒ±£Ö¤Êµ¼ÊÔËÐÐPodÊýÁ¿×ÜÊÇÓë¸Ã¸´ÖÆÊýÁ¿ÏàµÈ£¨ÀýÈ磬µ±Ç°Ä³¸öPodå´»úʱ£¬×Ô¶¯´´½¨ÐµÄPodÀ´Ìæ»»£©¡£
  • Container¾ÍÊÇij¸öDockerÈÝÆ÷¡£
  • MagnumÖеÄÖ÷Òª·þÎñÓÐÁ½¸ö£¬Ò»¸öÊÇMagnum API£¬Ò»¸öÊÇMagnum Conductor¡£

    Magnum APIºÍÆäËûÏîÄ¿µÄAPIµÄ¹¦ÄÜÊÇÒ»ÑùµÄ£¬Ö÷ÒªÊÇ´¦ÀíClientµÄÇëÇ󣬽«ÇëÇóͨ¹ýÏûÏ¢¶ÓÁз¢Ë͵½backend£¬MagnumÏÖÔÚÖ§³ÖµÄbackendÓÐK8S¡¢CoreOS¡¢Swarm¡¢DockerµÈ£¬Î´À´»¹»áÖ§³ÖRocketµÈDocker¼¯Èº¹ÜÀí¹¤¾ß¡£

    ÔÚMagnum£¬ºǫ́´¦ÀíÖ÷ÒªÊÇͨ¹ýMagnum ConductorÀ´×öµÄ¡£Magnum ConductorµÄÖ÷Òª×÷ÓÃÊǽ«ClientµÄÇëÇóת·¢µ½¶ÔÓ¦µÄBackend£¬Í¨¹ý¶ÔÓû§ÇëÇóµÄ½âÎö£¬°ïÓû§ÕÒµ½×îºÏÊʵÄBackend£¬ËùÒÔMagnum ConductorÐèҪΪÿ¸öAPIµÄÇëÇóÕÒµ½ºÏÊʵÄBackend´¦ÀíClientµÄRequest¡£

    MagnumÆäʵºÍNovaµÄ¼Ü¹¹ºÜÏñ£¬NovaÖ÷ÒªÌṩIaaS·þÎñ£¬MagnumÖ÷ÒªÌṩCaaS£¬Nova¿ÉÒÔ¹ÜÀí²»Í¬ÀàÐ͵ÄHypervisor£¬°üÀ¨VMware¡¢KVM¡¢PowerVMµÈ£¬MagnumÒ²Ò»Ñù£¬Ëü¿ÉÒÔ¹ÜÀí²»Í¬µÄDocker¼¯Èº¹ÜÀí¹¤¾ß£¬°üÀ¨K8S¡¢Swarm¡¢CoreOSµÈ¡£×îÖÕÄ¿±êÊÇÆÚÍûºÍNovaÒ»Ñù£¬Äܹ»ÈÃÓû§²»ÓùØÐĺǫ́µÄDocker¼¯Èº¹ÜÀí¹¤¾ßµ½µ×ÊÇʲô£¬Ö»¹ÜÌáÇëÇó£¬×îÖÕͨ¹ýMagnum»ñµÃ×Ô¼ºÐèÒªµÄContainer¡£

    ´Óͼ7À´¿´£¬MagnumºÜ¼òµ¥£¬Ö÷ÒªÊÇ×öÁËЩ¼¯³É¹¤×÷£¬µ«ÆäʵMagnum¶Ô¿ª·¢ÈËÔ±µÄÒªÇóÒ²ºÜ¸ß£¬ÒòΪMagnumÐèÒªºÍHeat¡¢Ironic¡¢Nova¡¢K8S¡¢CoreOSºÍSwarmµÈ¼¯³É£¬ËùÒÔÐèÒª¿ª·¢ÈËÔ±¶ÔÕâЩÏîÄ¿¶¼ÓÐÒ»¶¨µÄÁ˽⣬ÖÁÉÙÐèÒª¶ÔÕâЩÏîÄ¿µÄ¸ÅÄîºÍÖ÷ÒªÌØÐÔ¶¼ºÜÇå³þ¡£

    MagnumÏÖÔÚµÄһЩÖ÷ÒªÌØÐÔ£¬°üÀ¨K8S as a Service¡¢CoreOS as a Service¡¢Swarm as a ServiceµÈ¡£ËùÒÔÓÐÕâЩ¹¦ÄÜ£¬Ö÷ÒªÊÇÒòΪÓеĿͻ§ÒѾ­ÓÐOpenStack¼¯ÈºÁË£¬ÏÖÔÚÏëÔÚOpenStackÉÏÔËÐÐһЩÒÔÓ¦ÓÃΪÖÐÐĵÄϵͳ£¬ÏñK8S¡¢Swarm¡¢MesosµÈ£¬Í¨¹ýÕâЩϵͳΪÓû§ÌṩӦÓ÷þÎñ£¬ËùÒÔÓû§¾Í¿ÉÒÔͨ¹ýMagnumÀ´ÊµÏÖËüµÄÐèÇó£¬Í¨¹ýOpenStackÌṩIaas·þÎñ£¬ÉϲãµÄK8S¡¢SwarmµÈÀ´ÌṩContainer·þÎñ¡£

    ÁíÍ⣬Magnum»¹ÊµÏÖÁ˶à×â»§µÄ¹¦ÄÜ£¬¿ÉÒÔ½«²»Í¬×â»§Ö®¼äµÄResouce¸ôÀ룬ÿ¸ö×â»§¿ÉÒÔÓÃ×Ô¼ºµÄBaymodel¡¢BayµÈ¶ÔÏó£¬ÊµÏÖ°²È«¸ôÀë¡£Magnum×¼±¸ºÍK8SµÄ¿ª·¢ÈËÔ±ºÏ×÷£¬´òÔìÒ»¸ö×îºÃµÄOpenStackºÍK8S½áºÏµÄÏîÄ¿¡£

    Magnum RoadmapÈçͼ8Ëùʾ¡£


    ͼ8 Magnum Roadmap

    µÚÒ»¸öÊÇMagnum ConductorµÄˮƽÀ©Õ¹£¬Magnum·þÎñÒ²ÊÇÎÞ״̬µÄ£¬ËùÒÔ¿ÉÒÔˮƽÀ©Õ¹£¬Ò»µ©·¢ÏÖConductorÐÔÄÜ´æÔÚÆ¿¾±Ê±£¬¿ÉÒÔͨ¹ýÆô¶¯Ò»¸öеÄConductorÀ´·Öµ£ÏµÍ³¸ºÔØ¡£

    µÚ¶þ¸öÊÇÔ­ÉúDocker¼¯ÈºµÄµ÷¶ÈÎÊÌ⣬MagnumÏÖÔÚÖ»ÄܹÜÀíµ¥¸öµÄDockerµÄ·þÎñÆ÷£¬ÒòΪ»¹Ã»ÓÐÒ»¸öÔ­ÉúµÄµ÷¶ÈÆ÷Äܹ»ÈÃMagnum¹ÜÀíÒ»¸öDocker¼¯Èº£¬µ«¿ÉÒÔºÍSwarm¡¢Gantt»òMesos¼¯³ÉʵÏÖDocker¼¯Èº×ÊÔ´µ÷¶ÈµÄ¹¦ÄÜ¡£ÏÖÔÚ¾­¹ýÌÖÂÛ£¬¿ÉÄÜ»áʹÓÃSwarmÀ´×öµ÷¶È£¬ÒòΪͨ¹ýMagnum²¿ÊðÍêSwarm¼¯Èººó£¬Ä¬ÈϾͿÉÒÔͨ¹ýSwarmÀ´¹ÜÀíDocker¼¯ÈºÁË¡£

    µÚÈý¸öÊÇÔ­ÉúDocker¼¯ÈºµÄÍøÂç¹ÜÀí£¬ÏÖÔÚ´ó¼ÒµÄÒ»ÖÂÏë·¨ÊÇÔÚDocker serverÉÏͨ¹ýHostģʽÀ´²¿ÊðÒ»¸öContainerµÄl2 agentÀ´¹ÜÀíDocker ServerµÄÍøÂç¡£

    µÚËĸöÊÇNotification£¬ÆäÖ÷Òª×÷ÓÃÊDZãÓÚ×·×ÙMagnumÖÐËùÓжÔÏóµÄ״̬£¬ÓÈÆäÊǵ±µÚÈý·½ºÍMagnum¼¯³ÉµÄʱºò£¬¿ÉÒÔͨ¹ýNotificationÀ´¼à¿ØMagnumÖеIJÙ×÷µÄ¶ÔÏó¡£

    ×îºóÒ»¸öÊÇK8SÉî¶È¼¯³É£¬ÏÖÔÚMagnumºÍK8SµÄ¼¯³ÉÊÇMagnumͨ¹ýµ÷ÓÃK8SÃüÁîÐÐkubectlºÍK8S½»»¥£¬ÕâÑù×ö±È½Ï¼òµ¥£¬µ«Êܵ½µÄÏÞÖÆºÜ´ó£¬ÒòΪMagnumÐèҪͨ¹ý½âÎöKubectlµÄÊä³öÀ´ÅжÏÿ¸öµ÷ÓÃÊDz»Êdzɹ¦£¬µ«ÓÐʱKubectl²¢²»ÄÜÊä³öij¸öAPIµÄËùÓÐOutput£¬ËùÒÔMagnum¹ØÐĵÄһЩֵͨ¹ýKubectl¿ÉÄÜÄò»µ½¡£ÏÖÔÚÓиöBluePrint¾ÍÊÇÏëͨ¹ýK8SclientʹÓÃREST APIÀ´ºÍK8S½»»¥£¬ÕâÑù¾Í¿ÉÒÔÄõ½Ã¿¸öµ÷ÓõÄÈ«²¿Êä³ö£¬Magnum¿ÉÒԺܷ½±ãµØÈ¡µÃ×Ô¼º¹ØÐĵÄÊä³ö£¬À´×öÏàÓ¦µÄ²Ù×÷¡£Í¼8ÏÂÃæµÄLinkÊÇMagnumÏÖÔÚµÄËùÓеÄBluePrint¡£

    Murano

    MuranoÊÇMirantis¹±Ï׵쬲¢ÇÒÒ²½øÁËOpenStack Namespace¡£Ò²ºÍK8S¼¯³ÉÁË£¬Óû§¿ÉÒÔͨ¹ýMuranoʹÓÃK8SµÄ¹¦ÄÜ£¬¿ÉÒÔͨ¹ýMurano²¿ÊðPod¡¢Service¡¢Replication ControllerµÈ¡£MuranoÖ÷ÒªÊÇÔÚOpenStack»ù´¡ÉÏÌṩӦÓÃĿ¼·þÎñ¡£MuarnoºÍSolumÖ®¼äÆäʵÊÇÓйØÏµµÄ£¬SolumÖ÷ÒªÊÇÓÃÀ´¿ª·¢Ó¦Óõģ¬Solum°ÑÓ¦Óÿª·¢Íêºó£¬¿ÉÒÔͨ¹ýMuranoÀ´·¢²¼¡£Óû§¿ÉÒÔͨ¹ýMuranoÌôÑ¡×Ô¼ºÐèÒªµÄÓ¦Ó÷þÎñ£¬Í¨¹ýÓ¦Ó÷þÎñ×éºÏ¹¹½¨×Ô¼ºµÄÓ¦Óá£

    MuranoÒ²ÊÇͨ¹ýHeat²¿ÊðÓ¦Óã¬KubernetesºÍMurano¼¯³ÉÖ®ºó£¬ÏÖÔÚK8SÒ²ÒѾ­³ÉΪMuranoµÄÒ»¸öÓ¦Ó÷þÎñÁË¡£

    ͼ9ËùʾÊÇMuranoµÄÒ»¸ö¹¤×÷Á÷£¬¿ÉÒÔ¿´µ½ËüµÄʹÓúܼòµ¥¡£Ê×ÏÈ´´½¨Óû§µÄÓ¦Óû·¾³£¬È»ºóΪӦÓû·¾³Ìí¼ÓÓ¦Ó÷þÎñ£¬½ÓÏÂÀ´²¿ÊðÓ¦Óû·¾³£¬Ó¦Óû·¾³»áͨ¹ýOpenStackµÄHeatÀ´²¿Êð¡£


    ͼ9 MuranoµÄÒ»¸ö¹¤×÷Á÷

    ͼ10Ö÷ÒªÊÇ˵Ã÷ÔõÑùͨ¹ýMurano²¿ÊðÒ»¸öK8SµÄPod¡£


    ͼ10 ͨ¹ýMurano²¿ÊðÒ»¸öK8SµÄPod

    MuranoºÍK8SµÄ¼¯³ÉÖ÷ÒªÔÚǰÈý²½£¬µÚÒ»²½ÊÇÏÈ´´½¨Ò»¸öK8SµÄ»·¾³£»È»ºóÔÚµÚ¶þ²½ÐèҪΪÎÒÃÇ´´½¨µÄK8S»·¾³Ìí¼ÓÒ»¸öÓ¦Ó÷þÎñ£¬Ê×ÏÈÐèÒªÌí¼ÓÒ»¸öK8SµÄ¼¯ÈºÓ¦ÓÃÄ£°å£¬È»ºóÔÚK8S¼¯ÈºµÄ»ù´¡ÉÏÌí¼ÓÒ»¸öPodµÄÓ¦Ó㻵ÚÈý²½ÊÇÔÚµÚ¶þ²½PodµÄ»ù´¡ÉÏ£¬ÎªPodÌí¼ÓContainer¡£ÕâÈý²½×öÍêºó£¬¾Í¿ÉÒÔ²¿Êð»·¾³ÁË£¬×îÖÕMurano»áµ÷ÓÃHeatÊ×ÏÈ´´½¨Ò»¸öK8SµÄ¼¯Èº£¬È»ºóK8S¼¯Èº¸ù¾ÝÓû§µÄÐèÇó´´½¨Pod¡£ËùÓеÄÕâЩ²Ù×÷¶¼¿ÉÒÔÔÚMuranoµÄGUIÉϲÙ×÷£¬·Ç³£¼òµ¥¡£

    OpenStack Deployment With Docker

    OpenStackÏÖÔڵIJ¿Ê𹤾ߺܶ࣬°üÀ¨RDO¡¢Fuel¡¢Chef¡¢Triple-OµÈ£¬µ«ÕâЩ¹¤¾ß¶ÔOpenStackÉý¼¶µÄÖ§³Ö²»ÊǺܺá£ÏëÔÚOpenStackÉý¼¶µÄ»°£¬Ö÷ÒªÓÐÁ½ÖÖ·½Ê½£º»ùÓÚImageÓë»ùÓÚPackage ¡£

    »ùÓÚPackageµÄ¸üз½Ê½Í¨³£²»ÊÇÔ­×ӵģ¬Éý¼¶¹ý³ÌÖдæÔںܶർÖÂʧ°ÜµÄÔ­Òò£¬ÓÈÆäÊÇһЩ¹«¹²°üÒÀÀµµÄÎÊÌ⣬¿ÉÄܵ¼Ö²¿·Öpackage¸üÐÂʧ°ÜµÄ¿ÉÄÜ¡£»ùÓÚImageµÄ·½Ê½£¬¸üÐÂÊÇÔ­×ӵġ£

    Triple-OÊÇÒ»¸öºÜµäÐ͵Äͨ¹ý¾µÏñ²¿ÊðµÄÀý×Ó£¬µ«ÊÇTriple-OÉý¼¶OpenStack¼¯ÈºÊ±£¬Á£¶ÈÌ«´ó£¬Ëüͨ³£Çé¿öÏÂÊÇͬʱ¶ÔOpenStack¶à¸ö·þÎñÈ¥Éý¼¶£¬ÕâÑù¶ÔOpenStack¼¯ÈºÓ°Ïì±È½Ï´ó£¬»áµ¼ÖÂijЩ·þÎñÔÚÒ»¶¨Ê±¼ä¶ÎÄÚ²»Äܱ»·ÃÎÊ¡£

    ËùÒÔ¾ÍÓÐKollaÕâÑùÒ»¸öÏîÄ¿£¬À´½â¾ö¿ìËÙÉý¼¶ºÍ»Ø¹öµÄÎÊÌâ¡£

    Kolla£ºDocker+OpenStack

    KollaµÄÖ÷Òª¹¦ÄÜÊÇʹÓÃDockerÈÝÆ÷¿ìËÙ²¿ÊðÉý¼¶OpenStack·þÎñ¡£

    KollaµÄ×îÖÕÄ¿±êÊÇΪOpenStackµÄÿһ¸ö·þÎñ¶¼´´½¨Ò»¸ö¶ÔÓ¦µÄDocker Image£¬Í¨¹ýDocker Image½«Éý¼¶µÄÁ£¶È¼õСµ½Service¼¶±ð£¬´Ó¶øÊ¹Éý¼¶Ê±£¬¶ÔOpenStackÓ°ÏìÄÜ´ïµ½×îС£¬²¢ÇÒÒ»µ©Éý¼¶Ê§°Ü£¬Ò²ºÜÈÝÒ׻عö¡£Éý¼¶Ö»ÐèÒªÈý²½£ºPullа汾µÄÈÝÆ÷¾µÏñ£¬Í£Ö¹Àϰ汾µÄÈÝÆ÷·þÎñ£¬È»ºóÆô¶¯Ð°汾ÈÝÆ÷¡£»Ø¹öÒ²²»ÐèÒªÖØÐ°²×°°üÁË£¬Ö±½ÓÆô¶¯Àϰ汾ÈÝÆ÷·þÎñ¾ÍÐУ¬·Ç³£·½±ã¡£

    KollaÊÇͨ¹ýDocker ComposeÀ´²¿ÊðOpenStack¼¯ÈºµÄ£¬ÏÖÔÚÖ÷ÒªÊÇÕë¶ÔÂã»ú²¿ÊðµÄ£¬ËùÒÔÔÚ²¿ÊðDocker Containerʱ£¬Ä¬ÈϵÄÍøÂçÅäÖö¼ÊÇHostģʽ¡£ËùÒÔKollaµÄºÃ´¦¾Í·Ç³£Ã÷ÏÔÁË£¬½«OpenStackÉý¼¶µÄÁ£¶Èϸ»¯µ½ÁËService¼¶±ð£¬Éý¼¶Ê§°Üʱ£¬¿ÉÒÔºÜÈÝÒ׻عö¡£

    ͼ11չʾÔõÑùͨ¹ýKollaÈ¥²¿ÊðÒ»¸öOpenStack¼¯Èº¡£


    ͼ11 ͨ¹ýKollaÈ¥²¿ÊðÒ»¸öOpenStack¼¯Èº

    ¿ÉÒÔ¿´µ½Ê×ÏÈÐèÒªÆô¶¯Ò»¸ö¹ÜÀí½Úµã£¬Ö»ÐèҪͨ¹ýÒ»¸öÃüÁî¾Í¿ÉÒ԰ѹÜÀí½Úµã²¿ÊðÍê³É£¬Õâ¸öÃüÁîÊǵ÷ÓÃDocker ComposeÀ´²¿ÊðOpenStackµÄËùÓзþÎñ£¬È»ºóÎÒÃÇ¿ÉÒÔÔÚÿһ¸ö¼ÆËã½ÚµãÉÏͨ¹ýDocker Compose°²×°¼ÆËã½ÚµãÐèÒªµÄ·þÎñ£¬¾ÍÄܲ¿ÊðÒ»¸öOpenStack¼¯Èº¡£ÒòΪKollaµÄDocker ImageÁ£¶ÈºÜС£¬ËüÕë¶Ôÿ¸öOpenStack·þÎñ¶¼ÓÐÌØ¶¨µÄImage£¬ËùÒÔÎÒÃÇÒ²¿ÉÒÔͨ¹ýDocker RunÀ´²Ù×÷ij¸ö¾ßÌåµÄOpenStack·þÎñ¡£Õâ¸öÀý×ÓÊÇͨ¹ýDocker ImageÆô¶¯ÁËGlance API¡£

    ͼ12ÊÇÒ»¸öOpenStack computeµÄÒ»¸öÀý×Ó¡£


    ͼ12 OpenStack computeµÄÒ»¸öÀý×Ó

    ÕâÊÇÒ»¸ö¼òµ¥µÄYMLÎļþ£¬ÎÒÃÇ¿ÉÒÔͨ¹ýDocker composeʹÓÃÕâЩYMLÎļþ²¿ÊðOpenStack½Úµã£¬¿ÉÒÔ¿´µ½Õâ¸öYMLÎļþ°üº¬Compute Data Image¡¢Libvirt Image¡¢Network Image¡¢Nova API ImageºÍCompute ImageµÈ¡£µÚÒ»¸öCompute DataÖ÷ÒªÊÇΪÆäËûContainerÌṩ´æ´¢·þÎñµÄ£¬¿ÉÒÔ¿´µ½LibvirtºÍNovacomputeµÄContainerµÄ´æ´¢¶¼ÊÇ´ÓCompute DataÀ´µÄ£¬ÒòΪËüÃǶ¼ÓÐÒ»¸ö×Ö¶Îvoluemes_fromÖ¸ÏòCompute DataÕâ¸öContainer¡£

    ÈçºÎÑ¡Ôñ£¿

    OpenStackºÍDockerÏà¹ØµÄÏîÄ¿Õâô¶à£¬¸ÃÔõôȥѡÔñÄØ£¿¼òµ¥ËµÃ÷ÈçÏ¡£

    Èç¹ûÓû§Ö»ÊÇÏ뽫ÒÔǰµÄVM WorkloadÇ¨ÒÆµ½Docker Container£¬ÄÇôËü¿ÉÒÔʹÓÃNova Docker Driver£¬Ò»¸öºÜµäÐ͵ÄÀý×ÓÊÇSaharaͨ¹ýHeatµ÷ÓÃNova Docker DriverÀ´´´½¨Hadoop¼¯Èº¡£

    Èç¹ûÓû§ÏëʹÓÃDockerµÄһЩ¸ß¼¶¹¦ÄÜÀ´²¿ÊðÒ»¸öС¹æÄ£¼¯Èº£¬ÄǾͿÉÒÔ¿¼ÂÇHeat Docker Driver¡£

    Èç¹ûÓû§Ïëͨ¹ýOpenStack¼¯³ÉÏÖÓеÄһЩDocker¼¯Èº¹ÜÀí¹¤¾ßÏñK8S¡¢SwarmÀ´¹ÜÀí´ó¹æÄ£µÄDocker¼¯Èº£¬½¨ÒéʹÓÃMagnum¡£ÁíÍâÒòΪMagnumÒ²ÊÇ»ùÓÚHeat×öµÄ£¬ËùÒÔĬÈÏÒ²Ö§³Ö»ìºÏÔÆµÄ¹¦ÄÜ¡£

    MuranoºÍDockerµÄ¼¯³É£¬Ö÷ÒªÌåÏÖÔÚËüÌṩÁËÒ»¸öK8SµÄÓ¦Óã¬Óû§¿ÉÒÔͨ¹ýÕâ¸öK8SÓ¦ÓÃÀ´¹ÜÀíDocker¼¯Èº¡£µ«MuranoºÍDockerµÄ½¹µã²»Ò»Ñù£¬MagnumÖ÷ÒªÌṩÈÝÆ÷·þÎñ£¬MuranoÖ÷ÒªÌṩӦÓÃĿ¼·þÎñ¡£

    ×îºóµÄKolla£¬Ö÷ÒªÊǼò»¯OpenStackµÄ°²×°²¿ÊðºÍÉý¼¶µÄ¡£

    KiloµÄ²ã¼¶¶à×â»§¹ÜÀí

    ÒòΪDockerµÄ³öÏÖ£¬Ê¹µÃIaaS²ãµÄ¼ÆËãÃܶȽøÒ»²½ÌáÉý£¬ÕâÖÖÃܼ¯Ð͵ļÆËã¶Ô×ÊÔ´µ÷¶ÈºÍÔËάµÄÒªÇóºÜ¸ß£¬ÐèҪһЩ±È½Ï¸ß¼¶µÄ×ÊÔ´µ÷¶È²ßÂÔÀ´Ìá¸ß×ÊÔ´ÀûÓÃÂÊ¡£Docker ContainerºÍÐéÄâ»úµÄ×î´óÇø±ðÊÇËüÇáÁ¿µÄÌØÐÔ£¬¶ÔÓÚÕâÖÖÇáÁ¿ÐÔµÄÈÝÆ÷¼¼Êõ£¬¿ÉÒÔͨ¹ýÔÚ×ÊÔ´µ÷¶ÈÖмÓÈ벻ͬ×â»§Ö®¼ä×ÊÔ´¹²ÏíµÄ»úÖÆÀ´Ìá¸ß×ÊÔ´ÀûÓÃÂÊ¡£ËùÒÔOpenStackÔÚKiloмӵIJ㼶×â»§µÄ¹ÜÀí£¬Õâ¸ö¹¦ÄÜ¿ÉÒÔÀí½âΪһÖÖ»ù±¾µÄ×ÊÔ´¹²Ïí£¬ÒòΪÕâ¸ö¹¦ÄÜÔÊÐí¸¸ÕË»§ºÍ×ÓÕË»§Ö®¼ä¹²Ïí×ÊÔ´¡£

    ͼ13ÊÇÒ»¸öÀý×Ó¡£


    ͼ13 ²ã¼¶µÄ¶à×â»§¹ÜÀí

    ÎÒÃÇ¿ÉÒÔ¿´µ½Ã¿¸ö×â»§µÄÅԱ߶¼ÓÐһЩֵ£¬ÒÔ×î¶¥²ãµÄ×⻧ΪÀý£¬Õâ¸ö×â»§hard_limit=1000£¬used=100£¬reserved=100£¬allocated=70£¬ËüÃǵÄÒâ˼·Ö±ðΪ£ºhard_limitÊÇÕâ¸ö×â»§µÄ×ÊÔ´ÉÏÏÞ£»usedÊǵ±Ç°Õâ¸ö×â»§ÒѾ­Ê¹ÓõÄ×ÊÔ´£»reservedÊDZ»Õâ¸ö×â»§Ô¤¶¨µÄ×ÊÔ´£¬¼´Ê¹µ±Ç°µÄ×â»§²»Óã¬Ò²²»ÄÜ·Ö¸ø±ðµÄ×â»§£»allocatedÊǵ±Ç°×â»§·Ö¸ø×ÓÕË»§µÄ×ÊÔ´£¬ËüµÄÖµÊÇÖ±½Ó×ÓÕË»§µÄhard_limitµÄ×ܺ͡£ÎÒÃÇ¿ÉÒÔ¿´µ½ORGÕâ¸ö×â»§µÄÖ±½Ó×ÓÕË»§Á½¸ö²¿ÃÅ1ºÍ²¿ÃÅ2£¬Á½¸öµÄhard_limt·Ö±ðΪ300ºÍ400£¬ËùÒÔORGµÄallocatedÖµÊÇ700£¬ÕâËĸöÖµ»¹Òþ²ØÁËÒ»¸öÖµ£¬ÄǾÍÊÇfree£¬µ±Ç°ÕË»§µÄ¿ÕÏÐ×ÊÔ´£¬freeÊÇhard_limit¼õµôused¡¢reservedºÍallocated£¬¿ÕÏÐ×ÊÔ´ÓÐÁ½¸ö×÷Óã¬Ò»¸öÊÇ¿ÉÒÔ¹©±¾ÕË»§Ê¹Ó㬻¹ÓÐÒ»¸öÊǹ©×ÓÕË»§Ê¹Óá£ÎÒÃÇ¿ÉÒÔ¿´µ½ORGµÄ¿ÕÏÐ×ÊԴΪ1000-100-100-700=100£¬¾ÍÊÇ˵ËüÏÖÔÚÓÐ100¸ö¿ÕÏеÄ×ÊÔ´£¬¿ÉÒÔ¹©×Ô¼º»òÕß×ÓÕË»§Ê¹Ó㬾ÍÊǸøDept-1»òÕßDept-2È¥Óá£ÕâÑù¾ÍΪOpenStackÔö¼ÓÁ˲»Í¬²ã¼¶×â»§Ö®¼äµÄ×ÊÔ´¹²ÏíµÄ¹¦ÄÜ¡£

    ÕâÖÖÐÎʽÓÐʲôȱµãÄØ£¿ÎÒÃÇ¿ÉÒÔ¿´µ½ÕË»§Ö®¼äµÄ¹ØÏµÖ»¾ÖÏÞÓÚ¸¸×ÓÕË»§£¬Í¬Ò»²ã¼¶µÄÕË»§Ö®¼ä»¹ÊÇûÓйØÏµ£¬ËüÃǵÄ×ÊÔ´Ò²²»ÄÜ»¥Ï๲Ïí¡£ÎÒÃÇ¿´team11ºÍteam12£¬ËüÃÇÖ®¼äµÄ×ÊÔ´²»Äܹ²Ïí£¬¾ÍÊǼ´Ê¹team11µÄ×ÊÔ´¶¼ÓÃÍêÁË£¬team12µÄ×ÊÔ´Ò»µãûÓã¬team11Ò²²»ÄÜ´Óteam12ÄDZ߽è×ÊÔ´¹ýÀ´£¬ÕâÑù·´Ó³µ½ÆóÒµ¾ÍÊÇ£¬Í¬Ò»²ã¼¶µÄ²¿ÃÅÖ®¼ä×ÊÔ´²»Äܹ²Ïí£¬ÕâÊÇÒ»¸öºÜ´óµÄ¶Ì°å£¬»áµ¼ÖÂ×ÊÔ´²»Äܱ»³ä·ÖÀûÓá£ÎÒÃÇ¿ÉÒ԰ѵ±Ç°KiloµÄÕâÖֲ㼶×â»§×ÊÔ´¹²ÏíÀí½âΪ¶Àռģʽ¡£

    ͼ14Êǵ±Ç°KiloµÄ²ã¼¶×⻧ģʽ£¬ÏÖÔÚ¹²16¸ö×ÊÔ´£¬T1ºÍT2¸÷¶ÀÕ¼8¸ö£¬ÎÒÃÇ¿ÉÒÔ°Ñÿ¸ö×ÊÔ´¿´³ÉÊÇÒ»¸öDocker Container£¬¼Ù¶¨ËùÓеÄContainer¹æ¸ñ¶¼ÊÇÒ»ÑùµÄ¡£¾ÍÊÇ˵T1ºÍT2×î¶à¿ÉÒÔ´´½¨8¸öContainer¡£


    ͼ14 µ±Ç°KiloµÄ²ã¼¶×⻧ģʽ

    T1Òª4¸ö×ÊÔ´£¬ÒòΪËüÓÐ8¸ö£¬ËùÒÔ¿ÉÒÔÄõ½4¸ö£¬Ê£ÏÂ4¸ö¿ÕÏеģ»T2Òª12¸ö×ÊÔ´£¬ÒòΪËüÖ»ÓÐ8¸ö£¬ËùÒÔÖ»ÄÜÄõ½8¸ö×ÊÔ´¡£×îÖÕ½á¹ûÊÇT1ÓÐ4¸ö¿ÕÏеÄ×ÊÔ´£¬T2ȱÉÙ4¸ö×ÊÔ´£¬ÕâÖÖ¶ÀÕ¼²ßÂÔµÄȱµã¾ÍÊÇ×ÊÔ´²»Äܹ²Ïí£¬¼ÙÈçÄܰÑT1µÄÕâ4¸ö¿ÕÏеÄ×ÊÔ´¸øT2Ó㬾ÍÄÜ´ïµ½×îÓŵÄ×ÊԴʹÓÃÂÊ¡£

    Õë¶ÔKilo¼´½«ÊµÏֵIJ㼶ÕË»§µÄȱµã£¬ÓÐÈËÕýÔÚ½¨ÒéOpenStackÉçÇø×÷³ö¸Ä½øÔö¼Óͬһ²ã¼¶×â»§Ö®¼äµÄ×ÊÔ´¹²Ïí£¬Ö÷ÒªÓÐÁ½ÖÖÐÎʽ£ºÍ¬Ò»²ã¼¶×ÊÔ´½èÈë/½è³öºÍͬһ²ã¼¶×ÊÔ´×ÊÔ´¹²Ïí¡£

    ͼ15ÊÇͬһ²ã¼¶µÄ×â»§Ö®¼ä×ÊÔ´¹²Ïí¸Ä½øµÄµÚÒ»¸öģʽ£ºÍ¬Ò»²ã¼¶×â»§¼ä×ÊÔ´½èÈë½è³ö¡£


    ͼ15 ͬһ²ã¼¶×â»§¼ä×ÊÔ´½èÈë½è³ö

    ½èÈë½è³öÊÇ»ùÓÚ¶ÀÕ¼²ßÂÔÀ´¸Ä½øµÄ¡£Õâ¸öÀý×Ӻ͸ղŵĶÀÕ¼²ßÂÔºÜÏñ£¬´ÓÕâ¸öÀý×ÓÎÒÃÇ¿ÉÒÔ¿´µ½£¬×â»§T1ºÍT2¸ö¶ÀÕ¼8¸ö×ÊÔ´£¬×â»§T2¿ÉÒÔ´Ó×â»§T1½èÈë4¸ö×ÊÔ´¡£ÏÖÔÚT1Òª4¸ö£¬ÎÒÓÐ8¸ö£¬¿ÉÒÔÄõ½4¸öÓÃ×Å£¬È»ºóÓÐ4¸öÊÇ¿ÕÏеģ¬T2À´ÁË£¬Òª12¸ö£¬ÏÈÄõ½×Ô¼º¶ÀÕ¼µÄÄÇ8¸ö£¬»¹ÐèÒª4¸ö£¬È»ºó·¢ÏÖ¿ÉÒÔ´ÓT1Äǽè4¸ö£¬ÕýºÃÂú×ãT2µÄÇëÇó¡£ÔÙ½øÒ»²½£¬¾ÍÊǼÙÈçÕâʱºòT1ÓÖÀ´×ÊÔ´ÇëÇóÁË£¬T1¿ÉÒÔͨ¹ýijÖÖ²ßÂÔ½«½è¸øT2µÄÄÇ4¸öÒª»ØÀ´¡£

    ͼ16ÊÇͬһ²ã¼¶µÄ×â»§Ö®¼ä×ÊÔ´¹²Ïí¸Ä½øÁíÒ»ÖÖģʽ£ºÍ¬Ò»²ã¼¶×â»§Ö®¼ä×ÊÔ´¹²Ïí¡£


    ͼ16 ͬһ²ã¼¶×â»§Ö®¼ä×ÊÔ´¹²Ïí

    ÏÖÔÚͬһ²ãµÄ×â»§Ö®¼äµÄ×ÊÔ´ÊDz»Äܹ²ÏíµÄ£¬ËùÒÔÎÒÃÇÐèÒªÈÃͬһ²ã¼¶×â»§Ö®¼äµÄ×ÊÔ´Äܹ»¹²ÏíÀ´ÌáÉýϵͳµÄ×ÊԴʹÓÃÂÊ¡£ËùÒÔÎÒÃÇÏÖÔÚ¿ÉÒÔÒýÈëͬһ²ã¼¶µÄ×â»§Ö®¼äµÄ¹²Ïíģʽ¡£

    ¾ÙÀýÀ´Ëµ£¬ÏÖÔÚÓÐÁ½¸ö×â»§£¬T1ºÍT2£¬¶¼²»¶ÀÕ¼ÈκÎ×ÊÔ´£¬¹²ÏíËùÓÐ×ÊÔ´£¬²¢ÇÒT1ºÍT2µÄ¹²Ïí±ÈÀýΪ1:1£¬ÏÖÔÚÒ»¹²ÓÐ16¸ö×ÊÔ´£¬Õâ16¸ö×ÊÔ´¶¼Êǹ²ÏíµÄ£¬T1ºÍT2µÄ¹²Ïí±ÈÀýΪ1:1£¬ËùÒÔT1ºÍT2¶¼deserve 8¸ö×ÊÔ´£¬µ«Õâ8¸ö²¢²»ÊDZ»T1»òÕßT2¶ÀÕ¼µÄ£¬¶øÊǹ²ÏíµÄ¡£

    Ò²¾ÍÊÇ˵£¬ÏÖÔÚT1ºÍT2¶¼ÓÐ×ÊÔ´ÇëÇóÁË£¬T1Òª4¸ö£¬T1ÏÖÔÚdeserve 8¸ö£¬ÄǾͿÉÒÔÖ±½ÓÈ¥ÄÃ4¸ö×ÊÔ´¡£T2À´ÁË£¬T2Òª12¸ö£¬µ«ÊÇT2Ö»deserve 8¸ö£¬ÄÇT2¾ÍÏÈÄõ½deserveµÄÕâ8¸ö£¬È»ºóËü·¢ÏÖshare poolÀï±ß»¹ÓÐ4¸ö×ÊԴûÈËÓã¬ÄÇËü¾Í¿ÉÒÔ°ÑÕâ4¸öÔÙÄùýÀ´£¬ÕâÑùT1ºÍT2µÄÇëÇó¾Í¶¼Âú×ãÁË¡£

    ÕâÖÖ½èÈë½è³öģʽºÍ¹²ÏíģʽҲ¿ÉÒÔͬʱȥʹÓã¬ÎÒÃÇ¿ÉÒÔ°ÑÒ»²¿·Ö×ÊÔ´ÉèÖóɶÀÕ¼µÄ£¬Ò»²¿·ÖÉèÖÃΪ¹²ÏíµÄ£¬¸øÓû§¸ü´óµÄ¿Õ¼äÀ´ÅäÖÃËüµÄ×ÊÔ´¹æ»®¡£

    ×÷Õß¼ò½é£ºÁõ¹âÑÇ£¬2008ÄêÓÚÎ÷°²½»Í¨´óѧÈí¼þѧԺ»ñµÃ˶ʿѧλ£¬Ä¿Ç°¾ÍÖ°ÓÚIBM Platform Computingϵͳ¿Æ¼¼²¿ÔƼÆË㲿ÃÅ£¬µ£ÈÎÔÆ¼ÆË㿪·¢²¿¼Ü¹¹Ê¦¡£×Ô2013Äê5Ô¿ªÊ¼²ÎÓëOpenStackÉçÇøµÄ¿ª·¢¹¤×÷£¬ÒÑΪ OpenStackÉçÇø¹±Ï×ÁË200¶à¸öPatch£¬Éæ¼°Nova¡¢Cinder¡¢Heat¡¢BlazarºÍMagnumµÈÏîÄ¿£¬²¢µ£ÈÎMagnumµÄCore Member¡£

     

       
    3088 ´Îä¯ÀÀ       31
     
    Ïà¹ØÎÄÕÂ

    ÔÆ¼ÆËãµÄ¼Ü¹¹
    ¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
    ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
    Á˽âÔÆ¼ÆËãµÄ©¶´
     
    Ïà¹ØÎĵµ

    ÔÆ¼ÆËã¼ò½é
    ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
    ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
    ÈídzÎöÔÆ¼ÆËã
     
    Ïà¹Ø¿Î³Ì

    ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
    ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
    CMMIÌåϵÓëʵ¼ù
    »ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
    ×îл¼Æ»®
    DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
    DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
    UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
    AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
    »ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
    ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

    ר¼ÒÊӽǿ´ITÓë¼Ü¹¹
    Èí¼þ¼Ü¹¹Éè¼Æ
    ÃæÏò·þÎñÌåϵ¼Ü¹¹ºÍÒµÎñ×é¼þµÄ˼¿¼
    ÈËÈËÍøÒÆ¶¯¿ª·¢¼Ü¹¹
    ¼Ü¹¹¸¯»¯Ö®ÃÕ
    ̸ƽ̨¼´·þÎñPaaS
    Ïà¹ØÅàѵ¿Î³Ì

    ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
    Windows Azure ÔÆ¼ÆËãÓ¦ÓÃ

    ĦÍÐÂÞÀ­ ÔÆÆ½Ì¨µÄ¹¹½¨ÓëÓ¦ÓÃ
    ͨÓù«Ë¾GE DockerÔ­ÀíÓëʵ¼ù
    ijÑз¢ÖÐÐÄ Openstackʵ¼ù
    ÖªÃûµç×Ó¹«Ë¾ ÔÆÆ½Ì¨¼Ü¹¹ÓëÓ¦ÓÃ
    ijµçÁ¦ÐÐÒµ »ùÓÚÔÆÆ½Ì¨¹¹½¨ÔÆ·þÎñ
    ÔÆ¼ÆËãÓëWindows AzureÅàѵ
    ±±¾© ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ