»ùÓÚKubernetesµÄÈÝÆ÷ÔÆ
ÈÝÆ÷ÔÆ×îÖ÷ÒªµÄ¹¦ÄÜÊÇÒÔÓ¦ÓÃΪÖÐÐÄ£¬°ïÖúÓû§°ÑËùÓеÄÓ¦ÓÃÒÔÈÝÆ÷µÄÐÎʽÔÚ·Ö²¼Ê½ÀïÃæÅÜÆðÀ´£¬×îºó°ÑÓ¦ÓÃÒÔ·þÎñµÄÐÎʽ³ÊÏÖ¸øÓû§¡£ÈÝÆ÷ÔÆÀïÓÐÁ½¸ö¹Ø¼üµã£¬Ò»ÊÇÈÝÆ÷±àÅÅ£¬¶þÊÇ×ÊÔ´µ÷¶È¡£
ÈÝÆ÷±àÅžÍÊÇÎÒÃÇÆÚÍûÄܰÑһЩ΢·þÎñͨ¹ýÈÝÆ÷±àÅÅÀ´°ïÖúÓû§×齨һ¸ö±È½ÏÅÓ´óµÄϵͳ£¬¶ø×ÊÔ´µ÷¶ÈÔÚÈÝÆ÷ÔÆÕâÖÖ´ó¹æÄ£·Ö²¼Ê½»·¾³ÊDZØÐëµÄ£¬ÐèÒªÒ»¸ö±È½ÏºÃµÄµ÷¶Èƽ̨À´ÌáÉýϵͳµÄ×ÊÔ´ÀûÓÃÂÊÒÔ¼°¸ù¾ÝÓû§µÄ×ÊÔ´ÇëÇó°ïÖúÓû§À´µ÷Åä×ÊÔ´¡£
ÎÒÃÇIBMµÄBlueDock¾ÍÊÇÕâÑùÒ»¸öÈÝÆ÷ÔÆÆ½Ì¨£¬Ö÷Òª»ùÓÚKubernetesʵÏÖÁËÈÝÆ÷µÄ±àÅźÍ×ÊÔ´µ÷¶È£¬²¢Ä¬ÈÏʹÓÃMesos×÷Ϊµ×²ãµÄ×ÊÔ´¹ÜÀíÆ÷£¬µ«Èç¹ûÓû§Ã»ÓÐÔËÐжà¸öframeworkµÄÐèÇ󣬿ɲ»Ê¹ÓÃMesos¡£
ΪʲôÊÇKubernetesºÍMesos

ΪʲôѡÔñKubernetesºÍMesos×÷ΪÈÝÆ÷ÔÆµÄ»ù´¡Æ½Ì¨£¿ÔÚÏîÄ¿Æô¶¯Ç°£¬ÎÒÃǶԵ±Ç°Á÷ÐеÄÈÝÆ÷ÉçÇø×öÁ˺ܶàµ÷ÑУ¬Ö÷ÒªÊÇDocker¡¢MesosºÍKubernetesÉçÇø¡£
ÎÒÃÇÏÈ¿´Ò»ÏÂDocker£¬DockerÉçÇøÖ÷ÒªÓÉDocker¹«Ë¾°Ñ¿Ø£¬ËäÈ»ÊÇ¿ªÔ´µÄ£¬µ«ÆäʵDockerÉçÇøÏà¶ÔÀ´Ëµ²»ÊǺܿª·Å£¬ÒòΪDocker¹«Ë¾ÓлùÓÚDockerµÄËùÓвúÆ·£¬°üÀ¨DockerµÄ¹«ÓÐÔÆ¡¢Ë½ÓÐÔÆDocker
Data CenterµÈµÈ¡£ÕâÑù¾Íµ¼ÖÂÁËÆäËû¹«Ë¾Èç¹ûÏë»ùÓÚDocker´´ÒµµÄ»°»á±È½ÏÀ§ÄÑ£¬ÒòΪÄÑÒÔÓëDocker¹«Ë¾¾ºÕù¡£
¶øMesosÉçÇøÔò¸ü¿ª·ÅһЩ£¬Ö÷ÒªÔÒòÊÇMesosphereÔÚ»ùÓÚMesosÑз¢ÁËDC/OS£¬ÕýÔÚ»ý¼«Ñ°ÕÒһЩºÏ×÷ÕßÀ´Íƶ¯DC/OSÔÚÆóÒµµÄÂ䵨¡£Í¬Ê±MesosphereÒ²ÆÚÍû¸ü¶àµÄ¹«Ë¾¡¢¸ü¶àµÄÈ˼ÓÈëµ½Õâ¸öÉçÇø£¬Ôö¼ÓMesosµÄÓ°ÏìÁ¦¡£ËùÒÔÕâ¸öÉçÇøÏà¶ÔDockerÀ´Ëµ¸ü¿ª·ÅһЩ£¬¶øÇÒMesosÒѾÓкܶàÂ䵨µÄ°¸Àý£¬ÔÚ¸Õ½áÊøµÄMesosCon
AsiaÉÏ£¬ÎÒÃÇ¿ÉÒÔ¿´µ½¹úÄÚÆäʵÓкܶà¹Ç»Ò¼¶µÄMesosÓû§£¬µ«ÕâЩÓû§¹ýÓڵ͵÷£¬Ã»Óм°Ê±½«×Ô¼ºµÄ¾Ñé·ÖÏí³öÀ´£¬ËùÒÔҲϣÍûÕâЩÓû§»òÒÑÔÚÉú²úʹÓÃMesosµÄÓû§Äܼ°Ê±Îª´ó¼Ò·ÖÏíһЩ¾Ñ飬´Ù½øMesosÉú̬µÄ·¢Õ¹¡£
Ïà±ÈÆðÀ´£¬KubernetesÉçÇøÊÇ×·Å¡¢×î»îÔ¾¡¢×î¶àÔª»¯µÄ£¬ËäÈ»KubernetesÊÇGoogle¿ªÔ´µÄ£¬µ«GoogleûÓÐÈκÎÒ»¸ö²úÆ·ÊÇ»ùÓÚKubernetesµÄ¡£ÕâÑù¾Í¸øÁË´ó¼ÒºÜ¹«Æ½µÄ»ú»á£¬»ù±¾ÉÏÿ¸öÈË¡¢Ã¿¸ö¹«Ë¾¶¼¿ÉÒÔ»ùÓÚKubernetes¿ª·¢×Ô¼ºµÄ²úÆ·¡£µ«KubernetesĿǰǷȱµÄÊÇһЩÂ䵨µÄ°¸Àý£¬ÁíÍâÆäÖ§³ÖµÄ¼¯Èº¹æÄ£´óСҲÐèÒªÌáÉý¡£
ÎÒÔøÊÔ×ŰÑÈÝÆ÷µÄÕ⼸¸öÉçÇøºÍÎÒÃÇÒÔǰ×öÐéÄ⻯µÄÉçÇø×ö¹ýһЩ¶Ô±È£¬²»ÖªµÀºÏ²»ºÏÊÊ£¬Docker¿ÉÒÔÀà±Èµ½VMWare£¬Mesos¿ÉÒÔÀà±Èµ½Citrix£¬Kubernetes¿ÉÒÔÀà±Èµ½KVM¡£´ó¼Ò¿ÉÒÔÔÚµ÷ÑÐÑ¡ÐÍ»òÕßʹÓõÄʱºò£¬¸ù¾Ý×Ô¼ºµÄÐèÇóÑ¡ÔñºÏÊʵļ¼Êõ¡£
ÁíÍâÒ»¸öÎÊÌ⣬´ó¼ÒÓ¦¸Ã¿ÉÒÔ¿´µ½MesosºÍKubernetes¶¼ÔÚÌṩ³ýÁËDockerÖ®ÍâµÄÈÝÆ÷¹ÜÀíÄÜÁ¦£¬Mesos»¨Á˺ܶàʱ¼äÈ¥×öUnified
ContainerÕâ¸öÏîÄ¿£¬Ä¿µÄ¾ÍÊǼ´Ê¹Ã»ÓÐDocker Daemon£¬Óû§Ò²¿ÉÔËÐÐDockerÈÝÆ÷£¬Í¬Ê±Ê¹ÓÃUnified
Container£¬»¹¿ÉÔËÐÐÆäËûÈÝÆ÷£¬ÀýÈçAppC¡¢OCIµÈ£»KubernetesÒ²ÔÚ¼¯³ÉRkt¸øÓû§³ýÁËDockerÖ®ÍâµÄÁíÒ»ÖÖÑ¡Ôñ¡£
ÕûÌå¼Ü¹¹

ÒÔÉÏÊÇÎÒÃÇÈÝÆ÷ÔÆµÄ×ÜÌå¸ÅÀÀ£¬×î×ó±ßÊÇÎÒÃǺÜÊìϤµÄÔÆÆ½Ì¨µÄ×îÖØÒªµÄÈý²ã£¬IaaS¡¢PaaS¡¢SaaS£¬ÎÒÃǵÄBlueDockÖ÷ÒªÊÇÌṩPaaSµÄ¹¦ÄÜ£¬ÊÇ»ùÓÚKubernetesºÍMesos£¨¿ÉÑ¡£©À´Ñз¢µÄ¡£µ«Èç¹ûÎÒÃǽ¨ÈÝÆ÷ÔÆµÄ»°£¬Ö»ÓÐÕâÁ½¸öÊÇÔ¶Ô¶²»¹»µÄ£¬ÒòΪÈÝÆ÷ÔÆÀﻹÓкܶàÆäËûµÄ¹¦ÄÜ£¬ËùÒÔÎÒÃÇÎ§ÈÆ×ÅKubernetesºÍMesos£¬ÔÚÉÏÃæ¼ÓÁ˺ܶàÆóÒµ¼¶µÄ¶«Î÷£¬°üÀ¨Ó¦ÓÃÉ̵꣬×ÊÔ´µ÷¶ÈµÄ¸Ä½ø²ßÂÔ£¬Ó¦ÓᢷþÎñÆ÷µÄË«²ãÀ©Õ¹£¬¶à×â»§¹ÜÀí£¬¾µÏñ¹ÜÀí£¬Í³Ò»½çÃæµÈµÈ¡£
Ó¦ÓÃÉ̵꣺×îÖ÷ÒªµÄ¹¦ÄÜÊǰÑÓû§³£ÓõÄһЩӦÓÃ×ö³ÉÄ£°å£¬ÀàËÆÊÖ»úÉϵÄApp Store£¬Óû§¿ÉÒԺܷ½±ãµØÍ¨¹ýÓ¦ÓÃÊг¡À´¶ÔÓ¦ÓýøÐв¿Êð£¬Í¬Ê±BlueDock»¹Ö§³Ö¶Ô²»Í¬°æ±¾µÄÓ¦ÓÃÔÚͬһ¸öÓ¦ÓÃÉÌµê½øÐйÜÀí¡£ÎÒÃÇ»¹Ö§³ÖÓû§¶ÔÓ¦ÓÃÊг¡½øÐж¨ÖÆ£¬ÕâÑù¾Í¿ÉÒÔÈÃÓû§°ÑһЩ×Ô¼º³£ÓõÄÓ¦ÓÃÉÏ´«µ½Ó¦ÓÃÉ̵꣬¹©ÆäËüÓû§Ê¹Óá£
×ÊÔ´µ÷¶ÈµÄ¸Ä½ø²ßÂÔ£ºÒòΪÈÝÆ÷µÄʹÓÃÊÇÒ»ÖÖ¸ßÃܶȼÆË㣬¶Ô×ÊÔ´µ÷¶ÈµÄÒªÇóºÜ¸ß£¬ÓÈÆäÊÇһЩ×ÊÔ´µÄÇÀÕ¼²ßÂԵȵȣ¬Õⲿ·ÖÊÇÔÉúµÄKubernetesºÍMesos¶¼Ã»ÓеŦÄÜ£¬IBM¶ÔÕâ¿é¹¦ÄÜ×öÁ˺ܴóµÄ¸Ä½ø£¬ÎªÈÝÆ÷ÔÆ¼ÓÈëÁË×ÊÔ´ÇÀÕ¼µÄ¹¦ÄÜ¡£
Ó¦ÓᢷþÎñÆ÷µÄË«²ãÀ©Õ¹£ºÕâ¸öÎÒÃÇ¿ÉÒÔÀí½âΪÊÇÒ»ÖÖÁª¶¯À©Õ¹¡£µ±Óû§µÄÓ¦ÓÃÒòΪ¸ºÔصı仯ÔÚÀ©Õ¹µÄʱºò£¬Èç¹û·¢ÏֵײãµÄ·þÎñÆ÷²»¹»ÁË£¬ÄÇÓ¦ÓþÍû°ì·¨È¥À©Õ¹ÁË¡£ÕâʱÎÒÃǵÄÈÝÆ÷ÔÆ¾Í»áºÍµ×²ãµÄOpenStack½»»¥£¬Í¨¹ýOpenStackÈ¥ÉêÇëһЩеķþÎñÆ÷¼ÓÈëµ½ÈÝÆ÷ÔÆÖУ¬ÊµÏÖÁËÈÝÆ÷ÔÆÆ½Ì¨ºÍÓÃÓÚÓ¦ÓõÄÁª¶¯À©Õ¹¡£ÎÒÃǵÄÈÝÆ÷ÔÆ¿ÉÒԺͶà¸ö²»Í¬µÄÔÆÆ½Ì¨¼¯³É£¬ÊµÏÖÁª¶¯À©Õ¹µÄ¹¦ÄÜ¡£
¶à×â»§¹ÜÀí£ºÕâ¿éÖ÷ÒªÊǺÍOpenStack Keystone¼¯³ÉÀ´¶Ô×â»§½øÐйÜÀí£¬Í¬Ê±½«KeystoneµÄProjectÓ³ÉäΪKubernetesµÄnamespace¡£ÁíÍâÒ»¸öÊÇÎÒÃÇ»¹Í¨¹ýºÍKeystone¼¯³ÉʵÏÖÁ˲㼶µÄ×â»§¹ÜÀí¡£°´ÕÕÕâÖֲ㼶µÄ×â»§¹ÜÀí£¬Ò»¸öºÜ´óµÄÓÅÊÆÊÇ¿ÉÒÔ°´Õղ㼶µÄ½á¹¹À´¶Ô×ÊÔ´×öÊÂÏȵ͍Ò壬ÕâÑùµÄ»°¾Í¿ÉÒÔºÍÆóÒµµÄ×éÖ¯¼Ü¹¹¾Í¿ÉÒÔºÜºÃµÄÆ¥ÅäÆðÀ´£¬±ãÓÚÆóÒµÄÚ²¿µÄ×ÊÔ´·ÖÅä¡£
¾µÏñ¹ÜÀí£ºÕâ¸ö·þÎñÖ÷ÒªÊǶԾµÏñ½øÐйÜÀí£¬È»ºóÎÒÃÇÒ²µ÷ÑÐÁ˺ܶ࿪ԴµÄ¶Ô¾µÏñ¹ÜÀíµÄÈí¼þ£¬ÀýÈçHarbor£¬µ«ÊÇHarbor¹¦ÄÜÌ«¶àÁË£¬ÀïÃæ²»µ¥µ¥ÓоµÏñ¹ÜÀíµÄ¹¦ÄÜ£¬»¹ÓжÔÓû§£¬×â»§¹ÜÀíµÄ¹¦ÄÜ£¬È¨ÏÞ¿ØÖƵȵȣ¬Àï±ßºÜ¶à¹¦ÄܺÍÎÒÃǵÄÈÝÆ÷ÔÆÊÇÖØ¸´µÄ£¬ËùÒÔÎÒÃÇ×îÖÕ¾ö¶¨ÎÒÃÇûÓÐÓÃÕâ¸öÏîÄ¿£¬¶øÊDzο¼Harbor×Ô¼º¿ª·¢ÁËÒ»¸öеķþÎñÀ´¶Ô¾µÏñ½øÐйÜÀí¡£
ÈÕÖ¾¹ÜÀí£ºÖ÷ÒªÊÇͨ¹ýELKÀ´ÊµÏÖ¡£
³ÖÐø¼¯³É£ºÖ÷ÒªÊÇͨ¹ýKubernetes Jenkins²å¼þÀ´ÊµÏֵġ£Õâ¸ö²å¼þµÄÓÅÊÆÊÇÔÚ×ÊÔ´·ÖÅäʱ£¬Jenkins¸ù¾ÝÈÎÎñÊôÐÔ×Ô¶¯´´½¨ÁÙʱDockerÈÝÆ÷£¬²¢×÷Ϊslave½Úµã¼ÓÈëJenkins¼¯Èº£¬ÊµÏÖ×ÊÔ´µÄ·ÖÅ䣻ÁíÍâÔÚÈÎÎñÖ´ÐнáÊøºó£¬Jenkins×Ô¶¯É¾³ýÏà¹Ø½Úµã£¬²¢Ïú»ÙÏà¹ØDockerÈÝÆ÷£¬ÊµÏÖ×ÊÔ´µÄÊÍ·Å£»Õû¸ö×ÊÔ´·ÖÅäºÍ×ÊÔ´ÊͷŹý³Ì¶ÔÓû§À´ËµÊÇ͸Ã÷µÄ£¬Óû§Ö»ÐèÒª´´½¨ºÃÈÎÎñ¾Í¿ÉÒÔÁË£¬²»ÐèÒª²Ù×÷½Úµã£»¶ÔÓÚJenkinsÀ´Ëµ£¬slave½Úµã£¨ÈÝÆ÷£©ÊÇÁÙʱµÄ£¬ÈÎÎñÒ»½áÊø¾Í»áÏú»Ù¡£ÎªÁËʵÏÖÊý¾Ý³Ö¾Ã»¯£¬ÐèÒªºÍһЩ·Ö²¼Ê½µÄ´æ´¢¼¯³É£¬ÀýÈçCeph¡¢GlusterfsµÈµÈ¡£
ͳһµÄUI£º¶ÔËùÓеķþÎñ½øÐвÙ×÷£¬°üÀ¨¿ÉÒÔ¶ÔUI¶Ô·þÎñ¶Ô¾µÏñ½øÐйÜÀí£¬¶ÔÓ¦ÓÃÊг¡½øÐйÜÀíµÈµÈ¡£
ÈçºÎʵÏÖself-healing

ÉÏͼÊÇBlueDockÖÐʹÓÃKubernetes+MesosµÄ·½°¸×é¼þͼ¡£BlueDockÖеÄËùÓÐ×é¼þ£¬¶¼ÊÇͨ¹ýcontainerÀ´²¿ÊðµÄ¡£ÓÃcontainerµÄÒ»¸ö×î´óµÄÓÅÊÆ¾ÍÊǰ²×°²¿ÊðÉý¼¶ÊǺܼòµ¥µÄ£¬Í¬Ê±²»»áÐÞ¸ÄÎïÀí·þÎñÆ÷µÄһЩÅäÖ㬶ÔÎïÀí·þÎñÆ÷²»»áÓÐÈκθ͝¡£ÎÒÃÇÏÖÔÚµÄBlueDock£¬Ö»ÐèÒªÒ»¸öͨ¹ýÒ»¸ö¡°docker
run¡±ÃüÁ¾Í¿ÉÒԺܷ½±ãÔÚÉϰŲ̀·þÎñÆ÷ÉϰÑÈÝÆ÷ÔÆÅÜÆðÀ´£¬ÎÒÃÇ×ö¹ýһЩ²âÊÔ£¬Èç¹ûҪȥ²¿ÊðÎå°Ų̀×óÓҵķþÎñÆ÷£¬ÎÒÃÇ¿ÉÒÔÔÚÊ®·ÖÖÓÒÔÄÚ°ÑÕû¸öÈÝÆ÷ÔÆ¼¯Èº°²×°²¿ÊðÍê³É¡£
ÔÚͼÖеÄ×îϱßÓò»Í¬ÑÕÉ«µÄ·½¿ò±íʾ³öÁËBlueDockÖв»Í¬×é¼þµÄ¹ÜÀí·½Ê½¡£ÆäÖÐÓÐÈý¸ö±È½ÏÖØÒªµÄ¸ÅÄStatic
pod¡¢DaemonSetºÍDeployment¡£
Static podÊÇÔÚÌØ¶¨½ÚµãÉÏÓÉkubeletÊØ»¤³ÌÐòÖ±½Ó¹ÜÀíµÄ£¬Kubernetes APIServer²»»á¶ÔÆä½øÐйÜÀí¡£
ËüûÓйØÁªÈκÎRelication Controller£¬kubeletÊØ»¤½ø³ÌÀ´¸ºÔð¶ÔStatic podµÄ¼à¿Ø£¬²¢ÔÚstatic
pod crashÊ±ÖØÐÂÆô¶¯Ëü¡£ Static podʼÖհ󶨵½Ò»¸ökubeletÊØ»¤³ÌÐò£¬²¢ÇÒʼÖÕÔÚͬһ½ÚµãÉÏÔËÐС£
DaemonSet¿ÉÒÔÈ·±£ËùÓУ¨»òһЩ£©½ÚµãʼÖÕÔËÐÐij¸öpodµÄ¸±±¾¡£ µ±½ÚµãÌí¼Óµ½¼¯ÈºÊ±£¬DaemonSet¿ÉÒÔ±£Ö¤×Ô¶¯ÔÚÐÂÌí¼ÓµÄ½Úµã´´½¨pod£»Èç¹û½Úµã±»É¾³ýºó£¬ÕâЩpodÒ²»áÏàÓ¦µÄ±»DaemonSetɾ³ý¡£
DeploymentÊÇkubernetes 1.2µÄÒ»¸öÐÂÒýÈëµÄ¸ÅÄËü°üº¬×ŶÔPodºÍ½«Òª´úÌæReplication
ControllerµÄReplica SetµÄÃèÊö¡£
BlueDockÖ÷Ҫͨ¹ýStatic Pod¡¢DaemonSetºÍDeploymentÀ´¶ÔÖ÷Òª×é¼þ½øÐйÜÀí£¬ÕâÈý¸ö¹¦ÄÜ¿ÉÒÔͨ¹ýKubernetes×ÔÉíµÄ¹¦Äܱ£Ö¤BlueDock
self-healingµÄ¹¦ÄÜ£¬Ä³Ð©Pod crashºó£¬Static Pod¡¢DaemonSetºÍDeployment¿ÉÒÔ±£Ö¤Æä»á±»ÖØÆô£¬´Ó¶ø±£Ö¤ÏµÍ³µÄ¸ß¿ÉÓá£
»ù±¾Á÷³ÌÊÇͨ¹ýansibleµ÷ÓÃdocker-pyͨ¹ýdocker containerµÄÐÎʽÔÚmaster½ÚµãÆô¶¯kubelet£¬ÔÚmaster½ÚµãµÄkubelet·þÎñÆô¶¯ºó£¬¾Í»áÒÔstatic
podµÄÐÎʽ´´½¨master½ÚµãµÄһЩ×é¼þ£¬ÀýÈçk8sm-apiserver¡¢k8sm-schedulerµÈµÈ£¬µ±master½ÚµãµÄËùÓÐ×é¼þÆô¶¯Íê±Ïºó£¬¿ªÊ¼Í¨¹ýdocker-pyÔÚ²»Í¬µÄworkerÉÏÆô¶¯mesos
agent£¬µ±Õû¸öBlueDock¼¯Èº¿ªÊ¼ÔËÐкó£¬ÔÙͨ¹ýDaemonSetµÄÐÎʽÆô¶¯Ò»Ð©BlueDockµÄadd-onµÄһЩ×é¼þ·þÎñ£¬ÀýÈçÈÕÖ¾¹ÜÀí¡¢ÍøÂç¹ÜÀíµÈµÈ¡£
ÈÕÖ¾¹ÜÀíÖ÷ÒªÊÇͨ¹ýDaemonSetµÄÐÎʽÆô¶¯ÁËFilebeat£¬À´ËѼ¯Ã¿¸öworkerµÄÈÝÆ÷ÈÕÖ¾ÐÅÏ¢¡£ÍøÂç¹ÜÀíÖ÷ÒªÊÇͨ¹ýDaemonSetÔÚÿ¸öworker½ÚµãÆô¶¯ÁËCalico
nodeµÄcontainer£¬Õâ¸öcontainerÀïÃæ°üº¬ÁËBird·ÓɹÜÀí¡¢FelixÐÒéµÈ¡£ÆäËü»¹ÓÐһЩ×é¼þͨ¹ýDeploymentÀ´¹ÜÀí£¬ÀýÈçÓÃÓÚ¶Ôlog½øÐйýÂ˵Älogstash£¬ÓÃÓÚ¶ÔNetwork
Policy½øÐйÜÀíµÄcalico congtrollerµÈµÈ¡£

ÉÏͼÊÇBlueDockûÓÐMesosµÄ²¿Êð·½Ê½£¬»ù±¾ºÍ´øÓÐMesosµÄ²¿ÊðģʽÊÇÒ»ÑùµÄ£¬È«²¿¶¼ÊÇͨ¹ýÈÝÆ÷À´¶ÔËùÓÐ×é¼þ½øÐйÜÀí£¬Í¬Ê±¿ÉÒÔself-healing¡£ÔÚÕâÀïÖ÷ÒªÏëÇ¿µ÷µÄÊÇ£¬BlueDock¶Ôk8s-scheduler×öÁ˺ܴóµÄ¸Ä½ø£¬Ö§³Ö×ÊÔ´µÄÇÀÕ¼£¬ÖÇÄÜ»ØÊյIJßÂÔ¡£ÒòΪһ̨·þÎñÆ÷ÉÏ¿ÉÒÔÆô¶¯³É°ÙÉÏǧ¸öÈÝÆ÷£¬ËùÒÔÔÚÕâÖÖ¸ßÃܶȼÆËãÖУ¬¶Ô×ÊÔ´µÄµ÷¶È²ßÂÔÒªÇóºÜ¸ß¡£BlueDockͨ¹ýºÍIBM
PlatformµÄEGO¼¯³É£¬ÊµÏÖÁË×ÊÔ´µÄÇÀÕ¼ºÍÖÇÄÜ»ØÊյIJßÂÔ¡£

ÉÏͼÊÇBlueDockµÄÒ»¸ö¼òµ¥µÄ¸Ä½øµÄ×ÊÔ´½èÈë½è³öµÄÒ»¸öÀý×Ó¡£ÏÖÔÚÓÐÁ½¸ötenant£¬T1ºÍT2£¬¶¼¶ÀÕ¼8¸ö×ÊÔ´£¬µ«ÊÇÎÒÃÇ¿´µ½ÔÚT1ºÍT2Ö®¼äÓиöÐéÏߣ¬Õâ¸öÐéÏß±íʾT2¿ÉÒÔ´ÓT1½èÈë4¸ö×ÊÔ´¡£ËùÒÔµ±T1ºÍT2È¥ÉêÇë×ÊÔ´µÄʱºò£¬T1Òª4¸ö£¬T2Òª12¸ö£¬ÄÇT1¿ÉÒÔÖ±½ÓÄõ½Ëû¶ÀÕ¼µÄ4¸ö×ÊÔ´£¬T2Òª12¸ö£¬µ«ÊÇËûÖ»¶ÀÕ¼8¸ö×ÊÔ´£¬ËùÒÔËû»áÏÈÄõ½×Ô¼º¶ÀÕ¼µÄÕâ8¸ö×ÊÔ´¡£
ÄÃÍêÖ®ºó£¬T2·¢ÏÖ£¬Ëû¿ÉÒÔÔÙ´ÓT1½è4¸ö£¬ËùÒÔµ±T2´ÓT1½èÍê4¸öºó£¬T1ºÍT2µÄ×ÊÔ´ÇëÇ󶼵õ½ÁËÂú×㣬ͬʱϵͳµÄ×ÊԴʹÓÃÂÊÒ²´ïµ½ÁË100£¥£¬ËùÒÔÕâ¸öÊÇÎÒÃÇͨ¹ý×ÊÔ´½èÈë½è³öʵÏÖµÄÌáÉý×ÊÔ´ÀûÓÃÂʵÄÒ»¸öÀý×Ó¡£ÁíÍ⣬Èç¹ûT1µÄÇëÇóÔÙÌáÉýµÄ»°£¬T1¿ÉÒÔ°Ñ½è¸øT2µÄ×ÊÔ´ÔÙÇÀÕ¼»ØÀ´£¬±£Ö¤T1µÄSLA¡£

ÉÏͼÊÇBlueDockµÄÁ½ÖÖ²»Í¬µÄ°²×°Ä£Ê½£º°üº¬ºÍ²»°üº¬Mesos£¬Õâ¸ö¿ÉÒÔÔÚÓû§¶ÔBlueDock°²×°µÄʱºò£¬Í¨¹ý¡°¡ªenable-mesos¡±À´¿ØÖÆ¡£µ±BlueDock°²×°Íê³Éºó£¬ÕâÁ½ÖÖģʽ»áÓÐͳһµÄGUI½çÃæ£¬ÖÕ¶ËÓû§²»»á¸ÐÖªMesosµÄ´æÔÚ£¬Î¨Ò»µÄÇø±ð¾ÍÊÇÈç¹ûʹÓÃÁËMesos£¬¿ÉÒÔͨ¹ýBlueDock¹ÜÀíMesosµÄFramework¡£

BlueDockµÄAuthÖ÷ÒªÊÇͨ¹ýKeystoneʵÏÖÁËÒ»¸öKubernetes OpenIDµÄprovider£¬·½±ãÓëÆäËüµÚÈý·½µÄÓ¦Óü¯³ÉʵÏÖµ¥µãµÇ¼µÄ¹¦ÄÜ¡£Í¬Ê±ÀûÓÃÁËKubernetesµÄRBACµÄ¹¦ÄÜ£¬¿ÉÒÔ¶¨ÒåϸÁ£¶ÈµÄȨÏÞ¿ØÖÆ¡£ÁíÍâÔÚºÍKeystoneµÄ¼¯³É¹ý³ÌÖУ¬BlueDock½«KubernetesµÄnamespaceÓ³ÉäΪKeystoneµÄproject£¬ÕâÑùµÄ»°£¬¿ÉÒÔ½èÖúkeystoneÀ´¶ÔKubernetesµÄÓû§ºÍnamespaceÀ´Í³Ò»¹ÜÀí¡£

ÔÚBlueDock¼¯ÈºÖеÄÿ¸ö½ÚµãÉÏÔËÐÐÒ»¸öFilebeatµÄÈÝÆ÷£¬ÊÕ¼¯ÈÝÆ÷µÄÈÕÖ¾·¢Ë͸øµ½LogStashÀ´½øÐйýÂË£¬È»ºóͳһ´æ´¢µ½ElasticSearch¼¯ÈºÖУ¬Óû§¿ÉÒÔͨ¹ýKibana²é¿´ÈÎÒâNode¡¢Namespace¡¢Service¡¢PodºÍÈÝÆ÷µÄÊý¾Ý¡£ÔÚBlueDockÖУ¬ElasticSearchÊÇ×÷ΪDaemonSetÔÚËùÓйÜÀí½ÚµãÆô¶¯µÄ¡£

Ó¦ÓùÜÀíÖ÷Ҫͨ¹ýKubernetes HelmÀ´¹ÜÀí£¬HelmÊǹٷ½KubernetesµÄÒ»²¿·Ö£¬Ö÷ÒªÓÃÀ´½øÐÐÈí¼þ°üµÄ¹ÜÀí¡£HelmµÄÒ»¸öºÜÖØÒªµÄ¸ÅÄîÊÇCharts£¬±íʾ¿ÉÒÔ°²×°²¢×é³ÉµÄÔ¤ÅäÖÃKubernetes×ÊÔ´°ü¡£Helm²ÉÓÿͻ§¶Ë»ú·þÎñÆ÷ģʽ¡£·þÎñÆ÷²¿·Ö±»³ÆÎªtiller£¬Í¬Ê±°üÀ¨ÄãÔËÐÐKubernetes¼¯Èº¡£¿Í»§¶Ë²¿·Ö±»³ÆÎªhelm£¬°²×°ÔÚ±¾µØµÄ¿ª·¢ÏµÍ³ÉÏ¡£
ÔÚBlueDockÖУ¬ÎªÁËÈÃBlueDockµÄUIÄÜÖ±½Óµ÷ÓÃHelmµÄAPI£¬ÎÒÃÇͨ¹ýHelmµÄClientʵÏÖÁËHelmµÄRest
API£¬ÕâÑù¿Éͨ¹ýBlueDockµÄUIÀ´µ÷ÓÃHelmµÄRest APIʵÏÖ¶ÔKubernetesÓ¦ÓðüµÄ¹ÜÀí¡£Í¬Ê±ÔÚBlueDockÖн«Rest
API¡¢Helm ClientºÍTillerͨ¹ýÒ»¸öKubernetes Deployment½øÐйÜÀí²¿Êð£¬ÕâÑù¿Éͨ¹ýKubernetes×ÔÉíÀ´¶ÔHelmµÄËùÓÐ×é¼þ½øÐйÜÀí¡£
|