çæã«ã€ããŠã®ããã€ãã®äžè¬çãªèšè
Fuelã¯ãOpenStackãããã€ã¡ã³ãããŒã«ããã³ãã®åŸã®ã¯ã©ãŠã管çã§ãã ããå€ãã®æ å ±äžã®çç±ãæäŸãããããžã§ã¯ãã«ååãä»ããããšã¯å°é£ã§ãã ããã§ãFuelã¯Dockerã³ã³ããã䜿çšããããã«ãªããŸãããããã©ã°ã€ã³ãµããŒãã®éå§ã«ã€ããŠã¯æ¢ã«ç¥ã£ãŠããŸãã ããããæåã«ãã³ã³ããã«ã€ããŠè©±ããŸãããã æåã®ãã·ã¢ã®Docker-mitapã®åå€ããã®ãããªäŒè©±ã¯æ£åœåããã以äžã®ãã®ã§ãã
ãã§ã«OpenStackãè©Šãã人ïŒãããäœã§ããããäŒããã ãã§ã¯ãããŸãããã2幎åã«ç§ãã¡ã®æ³šç®ãéãããŸã ãããææŸããªãæè¡ã®å®éšã«æéãè²»ãããã説åŸããããšæããŸãïŒæåã«ããã€ã³ã¹ããŒã«ãé¢åã§è€éã§ãããæãéèŠãªããšãšããŠãå€ãã®ééããæ±ããŠããããšã確èªã§ããŸãã çæã¯ãæåã§ã®å±éã®åé¡ã«å¯Ÿããçãã§ãã ããã¯ãWebããŒã¹ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãåããçŽæçãªããŒã«ã§ããå®éã«ã¯ãã¯ã©ãŠããæ°åã¯ãªãã¯ããŠå±éããããã«æäœããããã®ã³ã³ãããŒã«ããã«ã§ãã Fuelã¯ãOpenStackæ§æã®å€§èŠæš¡ãªïŒãããŸã§ã100ããŒãã®ç°å¢ãžã®å±éããã¹ããããŠããŸããïŒå±éããã¹ããããã³ãµããŒããç°¡çŽ åããããšã«æ³šæããããšãéèŠã§ãã OpenStackãšã³ã·ã¹ãã ã®ãããžã§ã¯ãã®1ã€ã§ããFuelãããžã§ã¯ãã¯ãç¹å®ã®ãã©ã³ãïŒç§ãã¡ã®ãã©ã³ãã§ãããïŒã«é¢é£ä»ããããŠããŸããã
ãã®éçºã«äœåºŠãæ»ããŸãã 次ã«ãDockerã«ã€ããŠèª¬æããŸãã
DockerïŒæéãšãšãã«ã®ãŒãç¯çŽ
MOS 5.0以éãMirantisã¯Dockerã䜿çšããŠãFuelã®ã·ã³ãã«ã§ä¿¡é Œæ§ã®é«ããã©ã³ã¶ã¯ã·ã§ã³æŽæ°ãå®è£ ããŸããïŒæ°ããã³ã³ãããŒãäœæãããã§ãã¯ããäœãåé¡ãçºçããå Žåã¯å€ãã³ã³ãããŒãè¿ããŸãã ãããã©ãã ã£ããã«ã€ããŠè©±ããŸãããã
å顧
MOS 5.0
å€æŽã«ããããŠãŒã¶ãŒã¯ã¹ã¯ãªããã䜿çšããŠç°å¢ãå ã®ç¶æ ã«æ»ãããšãªãã30ç§æªæºã§Fuelãåãããã€ã§ããŸããã ããã§ãå€æŽãå ãããããããã°ãããã¹ãããå¿ èŠã«å¿ããŠç¹°ãè¿ããããŒã«ããã¯ãã§ããŸãã
å€æŽã®é床ã¯ãã³ã³ãããã®äœ¿çšã®çµæã§ãããå®éã«ã¯ãã®ç¯å²ã¯éåžžã«åºãã§ãã 察å¿ããç°å¢ã¯ãMac OS XãŸãã¯WindowsïŒboot2dockerã䜿çšïŒãæèŒããã©ããããããã¯ã©ãŠãã®Ubuntuã®äžã®QAãµãŒããŒãããã³Red Hat Enterprise Linuxã«åºã¥ãå®éã®ããŒã¿ã»ã³ã¿ãŒã®ä»®æ³ãã·ã³ã«åºã¥ããŠäœæã§ããŸãã
Dockerã®Fuelã¢ããªã±ãŒã·ã§ã³ãæŽæ°ããã«ã¯ãå€ãã³ã³ãããåé€ããŠæ°ããã³ã³ãããèµ·åããã ãã§ãFuel ISOãåæ§ç¯ããŠå€æŽããã¹ãããã®ã«å¿ èŠãª1-2æéãç¯çŽã§ããŸãã
MOS 5.1
Mirantis OpenStack 5.1ã§ã¯ããã¹ã¿ãŒããŒãã«Fuelãã€ã³ã¹ããŒã«ããã®ã«å¿ èŠãªæéãççž®ããŸããã SSDã§ã®ä»®æ³åå±éã§ã¯ãã€ã¡ãŒãžã®ããŒãæéãååã«ãªããŸããïŒã³ã³ããã®å Žåã¯18åãã9åïŒ-9åãã8åã«ãªããŸããã ã©ãïŒç©çãµãŒããŒïŒã«å±éãããšãããŒãžã§ã³5.1ã®ã€ã¡ãŒãžã®èªã¿èŸŒã¿æéã20ïŒ ççž®ãããŸããã
ãã¹ã¿ãŒããŒãã§äžæãã¡ã€ã«ã¹ãã¬ãŒãžïŒtmpfsïŒã䜿çšããŠã€ã³ã¹ããŒã«æéãççž®ãããšããã¢ã€ãã¢ããããŸããããRAMãäžååãªç°å¢ã§ã¯ä¿¡é Œæ§ãäœããããããã»ã¹ãé ããªããŸããã ç§ãã¡ã®äž»ãªç®æšã¯æéã皌ãããšã§ãã
ããããDockeræŽæ°äžã«Fuelã®èšå®ã®ã¢ã¯ãã£ããã£ãç£èŠããdockerctlãŠãŒãã£ãªãã£ã®ãããã§ãããŒãžã§ã³5.1ã§Fuelã®å®å®æ§ãé«ããããšãã§ããŸããããã®ãŠãŒãã£ãªãã£ã§ã¯ã13ã®ã³ã³ããã§æ°çŸã®ãã©ã¡ãŒã¿ã転éãããŸãã dockerctlãŠãŒãã£ãªãã£ã¯ãã¢ããªã±ãŒã·ã§ã³ããããã€ããããã«åã³ã³ããã®æ§æãã¡ã€ã«ïŒastute.yamlïŒãã5ã6åã®ãã©ã¡ãŒã¿ãŒãå¿ èŠãšããã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠå€æ°ã®äžèŽã確ç«ããããšããäºå®ãèæ ®ãããšãç¹ã«éèŠã§ãã
systemdã®äœ¿çšãå¿ èŠãšããetcdãä»ã®ããŒã«ã®ä»£ããã«ãastute.yamlãã©ã¡ãŒã¿ãŒã䜿çšããYAML圢åŒã®ããŒã«ã«ãã¡ã€ã«ãæ®ããã³ã³ãããŒå ã§Puppetãå®è¡ããŠãFuelãã¹ã¿ãŒããŒãã«ã¢ããªã±ãŒã·ã§ã³ããããã€ããŸããã å°æ¥çã«ã¯å¿ ããããããè¡ãå¿ èŠã¯ãããŸãããããã®æ¹æ³ã¯ä»ã®å©çšå¯èœãªæ段ã䜿çšãããããåçŽã§ç Žå£çã§ã¯ãããŸããã§ããã ããŒã«ã«ã®YAMLãšPuppetãã¡ã€ã«ã«ã¯ããã€ãã®æ¬ ç¹ããããŸãããããšãã°ãDockerã§ã®å€æ°ã®æ¥ç¶ã®ç¢ºç«ã容æã«ãªããPuppetãšäŸåã¢ãžã¥ãŒã«ã®ã€ã³ã¹ããŒã«ã«ããåã³ã³ããã®ãã£ã¹ã¯ãªãœãŒã¹ã倧éã«æ¶è²»ãããŸããã ããã§ããDocker OSã®æãã³ã³ãã¯ãã§å®å šã«æ©èœããã€ã¡ãŒãžã®ããã€ãã䜿çšããŠããŸãã UbuntuããŒã¹ã®Dockerã€ã¡ãŒãžã®ãµã€ãºã¯éåžžã«å€§ãããPuppetãã€ã³ã¹ããŒã«ããCentOSããŒã¹ã®ã€ã¡ãŒãžã®ãµã€ãºã¯39MBã«å§çž®ãããŠããŸãã
çŸç¶ïŒMOS 6.0
çæèšå®ã®ãšã©ãŒãä¿®æ£ãããã°ã®ããŒããŒã·ã§ã³ãå®è£ ããŠãã£ã¹ã¯é åã解æŸããŸããã ããã«ãã·ã¹ãã èŠä»¶ã6.0ã«èšå®ããéãlogrotateãŠãŒãã£ãªãã£ãèæ ®ããŸãããããã¯ããã©ã«ãã§æåŸã®5ã€ã®ã¢ãŒã«ã€ããä¿åããŸãïŒããã¯äžåè¡¡ãªãã£ã¹ã¯ã¹ããŒã¹ãå¿ èŠãšããŸãããDockerèªäœã¯ãã¹ãŠã®ç©ºãã¹ããŒã¹ãåããããšãã§ãããã°çšã®ãã£ã¹ã¯ã¹ããŒã¹ãå¿ èŠãšããŸããã¡ã€ã«ã·ã¹ãã ãã¯ã©ãã·ã¥ãããŸãïŒã ãã®åé¡ã«ã¯èªå解決çããªããããMirantisã«ãã£ãŠãã°ã¹ãã¬ãŒãžãæ¹åããããšããŠããçæããããã°ã®éãäºæž¬ã§ããªãããããã£ã¹ã¯å®¹éãç£èŠããå¿ èŠããããŸãã logrotateã¯1æéããšã«ãã°ãæŽæ°ãããšããäºå®ã«ããããããã空ããã£ã¹ã¯é åãç£èŠãããDockerãã°ã§ãã©ã«ããŒã®ãµã€ãºãå¢ãããªãã·ã§ã³ã¯ãããŸããã å®éãlogrotateã®èšå®ã«ãããåäžã®ãã°ãã¡ã€ã«ã®ãµã€ãºãå¶éããããã®ãµã€ãºã«éãããšã¢ãŒã«ã€ããããŸãã ãã®ããããã©ã¡ãŒã¿ãŒãå¢ãããŠãããã°å°çšã«30GBãå²ãåœãŠãå¿ èŠããããŸãïŒ20ããŒãã«å±éããå ŽåïŒã ãã ãããããã°ã¢ãŒãïŒãããã°ïŒãæå¹ã«ãããšã倧ããªãã¡ã€ã«ã®ããŒããŒã·ã§ã³ã¯1æéããšã§ã¯ãªã10åããšã«çºçããŸãã
Mirantis OpenStack 6.0ã®DockerããŒã¹ã®çæã®ãã®ä»ã®é©æ°ã«ã¯ããã¹ã¿ãŒããŒãã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšããŠCentOS 6.5ã䜿çšããããšãå«ãŸããŸãã
CentOS 6.5ã«ã¯åžžã«ãµãŒãã¹ãå®è¡ããsystemdåæåããŒã¢ã³ããªããããMirantisã¯ã¹ãŒããŒãã€ã¶ãŒç®¡çãŠãŒãã£ãªãã£ã䜿çšããŠDockerã³ã³ãããŒãèµ·åããã³è¿œè·¡ããWebã¢ããªã±ãŒã·ã§ã³ãèµ·åããŸãã åºåäž»ãèšãããããã«ããããŒã€ã³ã¯ã³ãã
ããã«ãåçŽãªtry-or-failã¹ããŒã ã䜿çšããŠè§£æ±ºããŸã
äŸåé¢ä¿è¿œè·¡ããŒã«ãç¶æ¿ããŠããªãDockerã³ã³ãããŒãåæ¢ããåé¡ã ãœãªã¥ãŒã·ã§ã³ã§ã¯ãPostgreSQLãŸãã¯RabbitMQããŸã å®è¡ãããŠããªãããã«Dockerã³ã³ãããŒãèµ·åããŠããåæ¢ããããšãããšãSupervisorã¯æ°ç§åŸ æ©ããŠããã³ã³ãããŒãå床起åããããšããŸããããã¹ãŠã®ã³ã³ãããŒãèµ·åãããŸã§å€±æããŸããèµ·åãããŸãã ãã®æ¹æ³ã¯ãåªå é äœã«åºã¥ããã³ã³ããã®è©Šé転ã®è€éãªã·ãŒã±ã³ã¹ãããä¿å®ãã¯ããã«ç°¡åã§ãã
äŸåé¢ä¿ã ãŸãããã¹ãŠã®ã³ã³ãããèµ·åãããšãã«dockerctlãé©åãªã·ãŒã±ã³ã¹ãæã£ãŠãããšããäºå®ã«ããããããããã®ã·ãŒã±ã³ã¹ã¯åæå±éã«ã®ã¿é©çšãããŸãã
ç¹°ãè¿ãã«ãªããŸãããFuelã¯OpenStackãšã³ã·ã¹ãã å šäœã®ãããžã§ã¯ããªã®ã§ããã®ããŒã«ã䜿çšããŠOpenStackãã©ãããã©ãŒã ããããã€ããã¹ããããã³ãµããŒãã§ããŸãã ãã¡ããã Mirantis OpenStackãã£ã¹ããªãã¥ãŒã·ã§ã³ã®äžéšãšããŠå ¥æããã®ãæãç°¡åã ãšèããŠããŸãã ããã«ãããããããç§ãã¡ã¯ç§ãã¡ã®é åžã«å¯ŸããŠè²¬ä»»ãããããã®äœ¿çšãçæ ç³»å šäœã®è©å€ãå·ã€ããªãããšãä¿èšŒããããšãã§ããŸãã
ã¢ã¹ã¯ã¯ã§ã®æåã®Dockerã€ãã³ã
Dockerã䟿å©ãªããŒã«ã§ããããšã確èªããã®ã§ããã®ç¥èãå ±æããããšæããŸãã 2æ26æ¥ã18ïŒ00ãã21:00ã«ãMirantisã¯ã¢ã¹ã¯ã¯ã§ã®æåã®DockeréäŒã«åå ããåå ãåžæãã人ãæåŸ ããŸãã åå ã¯ç¡æã§ãã ãã®ã€ãã³ãã®è©³çŽ°ã«ã€ããŠã¯ã ãã·ã¢ã®OpenStackã³ãã¥ãã㣠Webãµã€ããã芧ãã ãã ã äŒè°ãžã®åå ããåžæã®å Žå-ç»é²ãå¿ èŠã§ãã
çæãµããŒãããŒã ã®ãšã³ãžãã¢ã§ãããLinux Journalã®èè ã§ãããOpenStackã®æ奜家ã§ããFabrizio SoppelsaãäŒè°ãéå§ããŸãã 圌ã¯Dockerãã¯ãããžãŒã®ç°¡åãªèª¬æãå®åŒåãããã®åŒ·åãªãã©ãããã©ãŒã ã䜿çšããå©ç¹ãšéçºè ã®éã§äººæ°ã®ãããã®ã説æããŸãã
次ã«ã Matthew Mosesohnã¯Mirantisã®ã·ãã¢éçºè ã§ãã ãã·ã¥ãŒã¯Dockerã®å±éã«ã€ããŠããªãã¶ã°ãªãããã«ã€ããŠèª¬æããŸãã ã¡ãªã¿ã«ããã®è³æãæºåããéã«é Œã£ãã®ã¯ãFuelããDockerãžã®ç§»è¡ã«å°å¿µããŠããäŒæ¥ããã°ã®åœŒã®æçš¿ã§ããã
Yandexã®ã¯ã©ãŠããã©ãããã©ãŒã ããã³CDNéçšã°ã«ãŒãã®è²¬ä»»è ã§ããDenis Zaitsevã ãDockerã¬ãžã¹ããªã®ã¹ã±ãŒãªã³ã°ã«ã€ããŠèª¬æããŸãã Muranoã䜿çšããOpenStackã¯ã©ãŠãã§ã®Dockerã¢ããªã±ãŒã·ã§ã³ã®èµ·åã«ã€ããŠ-Mirantisã®ã·ãã¢éçºè ã§ããSergey Melikyanæ°ã
ãã®äŒè°ã¯ãParallels Linux KernelããŒã ã®éçºè ã§ããAndrey Vaginãå®äºããŸãã 圌ã®ããŒãã¯ãLibcontainerïŒäžã€ã®å±æ ¹ã®äžã§åãåããããã§ãã ã¢ã³ãã¬ã€ã¯ãèšç»ã®èª¬æãšãã®ã¿ã¹ã¯ã®çŸåšã®ã¹ããŒã¿ã¹ãäœæããŸãã
ãããããŸã 質åããããŸãïŒãŸãã¯ãããŸãïŒã ã€ãã³ãã¯åœŒãã«å°ããã®ã«ãµããããå Žæã§ãã ãã ããäœããã®çç±ã§äŒè°ã«åºåžã§ããªãå Žåã¯ãã³ã¡ã³ãã«è³ªåãæžããŠãã ãããå°é家ã«èª¬æãæ±ããŸãã