ããã«ã¡ã¯ãã¿ããªïŒ ç§ã®ååã¯ããã«ã»ã¢ã¬ã¬ãããŒã§ãã ç§ã¯ Lamoda é ä¿¡ã·ã¹ãã ãéçºããããŒã ã®ããŒã ãªãŒããŒãšããŠåããŠããŸãã 2018 幎ã«ç§ã¯ HighLoad++ ã«ã³ãã¡ã¬ã³ã¹ã§è¬æŒããŸããããä»æ¥ã¯ãã®ã¬ããŒãã®æžãèµ·ããã玹ä»ããããšæããŸãã
ç§ã®ãããã¯ã¯ãããŸããŸãªç°å¢ãžã®ã·ã¹ãã ãšãµãŒãã¹ã®å°å ¥ã«ãããåœç€Ÿã®çµéšã«ç¹åããŠããŸãã ãã¹ãŠã®ã·ã¹ãã ãéåžžã®ä»®æ³ãµãŒããŒã«ãããã€ããå å²æ代ããå§ãŸããNomad ãã Kubernetes ã§ã®ãããã€ãžã®æ®µéçãªç§»è¡ã§çµãããŸããã ãªããããè¡ã£ãã®ãããããŠãã®éçšã§ã©ã®ãããªåé¡ããã£ãã®ãã説æããŸãã
ã¢ããªã±ãŒã·ã§ã³ã VM ã«ãããã€ãã
3 幎åãäŒç€Ÿã®ãã¹ãŠã®ã·ã¹ãã ãšãµãŒãã¹ãéåžžã®ä»®æ³ãµãŒããŒã«å±éãããŠãããšããäºå®ããå§ããŸãããã æè¡çã«ã¯ãã·ã¹ãã ã®ãã¹ãŠã®ã³ãŒããä¿ç®¡ãããJenkins ã䜿çšããèªåã¢ã»ã³ã㪠ããŒã«ã䜿çšããŠçµã¿ç«ãŠãããããã«ç·šæãããŠããŸããã Ansible ã䜿çšããŠãããŒãžã§ã³ç®¡çã·ã¹ãã ããä»®æ³ãµãŒããŒã«å±éãããŸããã ããã«ãåœç€ŸãææããŠããåã·ã¹ãã ã¯å°ãªããšã 2 å°ã®ãµãŒããŒã«ãããã€ãããŠããããã®ãã¡ã® XNUMX å°ã¯å é ã«ããã XNUMX å°ã¯æ«å°Ÿã«ãããŸããã ããã XNUMX ã€ã®ã·ã¹ãã ã¯ããã¹ãŠã®èšå®ãé»æºãæ§æãªã©ã«ãããŠãŸã£ããåäžã§ããã äž¡è ã®å¯äžã®éãã¯ãhead ã¯ãŠãŒã¶ãŒ ãã©ãã£ãã¯ãåä¿¡ããã®ã«å¯Ÿããtail ã¯ãŠãŒã¶ãŒ ãã©ãã£ãã¯ããŸã£ããåä¿¡ããªãããšã§ãã
ãªããããè¡ãããã®ã§ããïŒ
ã¢ããªã±ãŒã·ã§ã³ã®æ°ãããªãªãŒã¹ããããã€ãããšãã¯ãã·ãŒã ã¬ã¹ãªããŒã«ã¢ãŠããã€ãŸããŠãŒã¶ãŒã«ç®ç«ã£ã圱é¿ãäžããããšãªãããŒã«ã¢ãŠãã§ããããã«ããããšèããŠããŸããã ããã¯ãAnsible ã䜿çšããŠã³ã³ãã€ã«ããã次ã®ãªãªãŒã¹ãæ«å°Ÿã«ããŒã«ã¢ãŠãããããšããäºå®ã«ãã£ãŠéæãããŸããã ããã§ãå±éã«é¢ãã£ã人ã ã¯ããã¹ãŠãæ£åžžã§ããããšã確èªãããã¹ãŠã®ã¡ããªã¯ã¹ãã»ã¯ã·ã§ã³ãã¢ããªã±ãŒã·ã§ã³ãæ©èœããŠããããšã確èªã§ããŸããã å¿ èŠãªã¹ã¯ãªãããèµ·åãããŸãã ãã¹ãŠãæ£åžžã§ãããšç¢ºä¿¡ããåŸã§ã®ã¿ããã©ãã£ãã¯ãåãæ¿ããããŸããã 以åã¯æ«å°Ÿã ã£ããµãŒããŒã«ã¢ã¯ã»ã¹ãå§ããŸããã ãããŠã以åã«ãããã ã£ããã®ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ä»¥åã®ããŒãžã§ã³ãæ®ã£ããŸãŸããŠãŒã¶ãŒ ãã©ãã£ãã¯ãªãã®ãŸãŸã§ããã
ãã®ããããŠãŒã¶ãŒã«ãšã£ãŠã¯ã·ãŒã ã¬ã¹ã§ããã ãã©ã³ãµãŒãåãæ¿ããã ããªã®ã§åãæ¿ãã¯ç¬æã§ãã ãã©ã³ãµãŒãå ã«æ»ãã ãã§ãéåžžã«ç°¡åã«ä»¥åã®ããŒãžã§ã³ã«ããŒã«ããã¯ã§ããŸãã ãŸãããŠãŒã¶ãŒ ãã©ãã£ãã¯ãåä¿¡ããåã§ãã¢ããªã±ãŒã·ã§ã³ãéçšå¯èœã§ããããšã確èªã§ããã®ã§ãéåžžã«äŸ¿å©ã§ããã
ããããã¹ãŠã«ã©ã®ãããªå©ç¹ãããããšãããããŸããã?
- ãŸãã¯ããã§ååã§ã ããã¯ã¡ããã©ããŸããããŸãã ã»ãšãã©ã®äººã¯éåžžã®ä»®æ³ãµãŒããŒã«å±éããããšãããããããã®ãããªå±éã¹ããŒã ãã©ã®ããã«æ©èœãããã誰ããç解ããŠããŸãã
- ããã§ååã§ã 確å®ã«ãå°å ¥ãã¯ãããžãŒãã·ã³ãã«ã§ãããäœåãã®äŒæ¥ã«ãã£ãŠãã¹ããããŠããããã§ãã æ°çŸäžå°ã®ãµãŒããŒããã®æ¹æ³ã§å°å ¥ãããŠããŸãã äœããå£ãã®ã¯é£ããã§ãã
- ãããŠã€ãã«æã«å ¥ããããšãã§ããŸãã ã¢ãããã¯å±éã å€ãããŒãžã§ã³ãšæ°ããããŒãžã§ã³ã®éã§ç®ç«ã£ãåãæ¿ããè¡ããã«ããŠãŒã¶ãŒã«å¯ŸããŠåæã«è¡ãããå±éã
ããããããããã¹ãŠã«ã¯ããã€ãã®æ¬ ç¹ããããŸããã
- æ¬çªç°å¢ãéçºç°å¢ã«å ããŠããã®ä»ã®ç°å¢ããããŸãã ããšãã°ãQA ãããªãããã¯ã·ã§ã³ãªã©ã§ãã åœæãå€ãã®ãµãŒããŒãšçŽ 60 ã®ãµãŒãã¹ããããŸããã ãã®ããã«å¿ èŠã ã£ã åãµãŒãã¹ã®ææ°ããŒãžã§ã³ãç¶æãã ä»®æ³ãã·ã³ã ããã«ãã©ã€ãã©ãªãæŽæ°ããããæ°ããäŸåé¢ä¿ãã€ã³ã¹ããŒã«ãããããå Žåã¯ããã¹ãŠã®ç°å¢ã§ãããè¡ãå¿ èŠããããŸãã ãŸããã¢ããªã±ãŒã·ã§ã³ã®æ¬¡ã®æ°ããããŒãžã§ã³ããããã€ããæå»ãšãdevops ãå¿ èŠãªç°å¢èšå®ãå®è¡ããæå»ãåæããå¿ èŠããããŸããã ãã®å Žåããã¹ãŠã®ç°å¢ã§äžåºŠã«ç°å¢ãå€å°ç°ãªããšããç¶æ³ã«é¥ãããããªããŸãã ããšãã°ãQA ç°å¢ã«ã¯ããã€ãã®ããŒãžã§ã³ã®ã©ã€ãã©ãªããããéçšç°å¢ã«ã¯ç°ãªãããŒãžã§ã³ãååšãããããåé¡ãçºçããŸãã
- äŸåé¢ä¿ã®æŽæ°ãé£ãã ããªãã®ç³è«ã ããã¯ããªã次第ã§ã¯ãªããä»ã®ããŒã 次第ã§ãã ã€ãŸãããµãŒããŒãä¿å®ãã Devops ããŒã ããã®ãã®ã§ãã 圌ãã«é©åãªã¿ã¹ã¯ãšãããªããããããããšã®èª¬æãäžããå¿ èŠããããŸãã
- åœæãç§ãã¡ã¯ãä»åŸããã«å€ãã®ãµãŒãã¹ãååšããããšãç解ããŠãããããææããŠãã倧ããªã¢ããªã¹ãåå¥ã®å°ããªãµãŒãã¹ã«åå²ããããšèããŠããŸããã åœæããã§ã« 100 ãè¶ ããä»®æ³ãã·ã³ãååšããŠãããæ°ãããµãŒãã¹ããšã«åå¥ã®æ°ããä»®æ³ãã·ã³ãäœæããå¿ èŠãããããã®ä»®æ³ãã·ã³ã®ä¿å®ãšå±éãå¿ èŠã§ããã ããã«ãè»ã¯XNUMXå°ã§ã¯ãªããå°ãªããšãXNUMXå°å¿ èŠã§ãã ããããã¹ãŠã« QA ç°å¢ãè¿œå ãããŸãã ããã«ããåé¡ãçºçããæ°ããã·ã¹ãã ãæ§ç¯ããŠå®è¡ããããšãããå°é£ã«ãªããŸãã è€éã§é«äŸ¡ã§æéã®ãããããã»ã¹ã
ãããã£ãŠãéåžžã®ä»®æ³ãã·ã³ã®ãããã€ãããDocker ã³ã³ãããŒã§ã®ã¢ããªã±ãŒã·ã§ã³ã®ãããã€ã«ç§»è¡ããæ¹ã䟿å©ã§ãããšå€æããŸããã docker ã䜿çšããŠããå Žåã¯ãã³ã³ãããŒãèµ·åããã ãã§ã¯ã§ããªããããã¯ã©ã¹ã¿ãŒå ã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ã§ããã·ã¹ãã ãå¿ èŠã§ãã éåžžãã³ã³ãããèªåçã«æã¡äžããããããã«ãæã¡äžããããã³ã³ããã®æ°ã远跡ããå¿ èŠããããŸãã ãã®ãããå¶åŸ¡æ¹åŒã®éžå®ãå¿ èŠã§ããã
ç§ãã¡ã¯ã©ããæ¡çšã§ãããé·ãéèããŸããã å®éã®ãšãããåœæãéåžžã®ä»®æ³ãµãŒããŒäžã®ãã®ãããã€ã¡ã³ã ã¹ã¿ãã¯ã¯ãææ°ããŒãžã§ã³ã®ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãæèŒããŠããªãã£ãããã«ãããæ代é ãã§ããã ããæç¹ã§ã¯ããµããŒãããã®ãããŸã䟿å©ã§ã¯ãªãã£ã FreeBSD ãããããŸããã ã§ããã ãæ©ã Docker ã«ç§»è¡ããå¿ èŠãããããšãç解ããŸããã ç§ãã¡ã®éçºæ åœè ã¯ãããŸããŸãªãœãªã¥ãŒã·ã§ã³ã®æ¢åã®çµéšãæ€èšããNomad ã®ãããªã·ã¹ãã ãéžæããŸããã
ãããã«åãæ¿ãã
Nomad 㯠HashiCorp ã®è£œåã§ãã 圌ãã¯ä»ã®ãœãªã¥ãŒã·ã§ã³ã§ãç¥ãããŠããŸãã
"é äº" ãµãŒãã¹çºèŠã®ããã®ããŒã«ã§ãã
ããã©ãã©ãŒã ã - æ§æãéããŠãµãŒããŒãæ§æã§ãããµãŒããŒç®¡çã·ã¹ãã ãããããã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã
ã浮浪è ã ç¹å®ã®æ§æãã¡ã€ã«ã䜿çšããŠãä»®æ³ãã·ã³ãããŒã«ã«ãŸãã¯ã¯ã©ãŠãã«ãããã€ã§ããŸãã
åœæã® Nomad ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£å šäœãå€æŽããã«ããã«åãæ¿ãããããããªãã·ã³ãã«ãªãœãªã¥ãŒã·ã§ã³ã®ããã«èŠããŸããã ããã«ãåŠç¿ã¯éåžžã«ç°¡åã§ãã ããããã³ã³ããã®æ¿Ÿéã·ã¹ãã ãšããŠãããéžæããçç±ã§ãã
ã·ã¹ãã ã Nomad ã«ãããã€ããã«ã¯äœãå¿ èŠã§ãã?
- ãŸãæåã«å¿ èŠãªã®ã¯ Dockerã€ã¡ãŒãž ããªãã®ç³è«ã ããããã«ãããŠãDocker ã€ã¡ãŒãž ãªããžããªã«é 眮ããå¿ èŠããããŸãã ç§ãã¡ã®å Žåãããã¯ã¢ãŒãã£ãã¡ã¯ããã€ãŸãããŸããŸãªã¿ã€ãã®ããŸããŸãªã¢ãŒãã£ãã¡ã¯ããããã·ã¥ã§ããã·ã¹ãã ã§ãã ã¢ãŒã«ã€ããDocker ã€ã¡ãŒãžãComposer PHP ããã±ãŒãžãNPM ããã±ãŒãžãªã©ãä¿åã§ããŸãã
- ãã¡ããå¿ èŠ èšå®ãã¡ã€ã«ããã«ãããNomad ã«äœããã©ãã«ãã©ã®ãããã®éã§å±éããããæ瀺ããŸãã
Nomad ã«ã€ããŠè©±ããšããNomad ã¯æ å ±ãã¡ã€ã«åœ¢åŒãšã㊠HCL èšèªã䜿çšããŸãã HashiCorp æ§æèšèªã ããã¯ãNomad ã®çšèªã§ãµãŒãã¹ã説æã§ããããã«ãã Yaml ã®ã¹ãŒããŒã»ããã§ãã
ããã«ããããããã€ããã³ã³ãããŒã®æ°ããããã€ã¡ã³ãäžã«ã©ã®ã€ã¡ãŒãžããããŸããŸãªãã©ã¡ãŒã¿ãŒãæž¡ãããæå®ã§ããŸãã ãããã£ãŠããã®ãã¡ã€ã«ã Nomad ã«ãã£ãŒããããšããã®ãã¡ã€ã«ã«åŸã£ãŠã³ã³ãããå®çšŒåç°å¢ã«èµ·åãããŸãã
ç§ãã¡ã®å ŽåããµãŒãã¹ãå€æ°ãããå Žåã«ãã£ãŠã¯ããããæŽæ°ããå¿ èŠãããããããµãŒãã¹ããšã«å®å šã«åäžã® HCL ãã¡ã€ã«ãåçŽã«èšè¿°ããã ãã§ã¯ããŸã䟿å©ã§ã¯ãªãããšãããããŸããã 100 ã€ã®ãµãŒãã¹ã XNUMX ã€ã®ã€ã³ã¹ã¿ã³ã¹ã§ã¯ãªããããŸããŸãªã€ã³ã¹ã¿ã³ã¹ã«ãããã€ãããããšããããŸãã ããšãã°ãéçšç°å¢ã«ããã·ã¹ãã ã® XNUMX ã€ã¯ãéçšç°å¢ã« XNUMX ãè¶ ããã€ã³ã¹ã¿ã³ã¹ããããŸãã ãããã¯åãã€ã¡ãŒãžããå®è¡ãããŸãããæ§æèšå®ãšæ§æãã¡ã€ã«ãç°ãªããŸãã
ãããã£ãŠããããã€ã¡ã³ãçšã®ãã¹ãŠã®æ§æãã¡ã€ã«ã XNUMX ã€ã®å ±éãªããžããªã«ä¿åãããšäŸ¿å©ã§ãããšå€æããŸããã ããããããšã§ãããããèŠããããã«ãªããã¡ã³ããã³ã¹ãç°¡åã«ãªããã©ã®ãããªã·ã¹ãã ãããã®ãââã確èªããããšãã§ããŸããã å¿ èŠã«å¿ããŠãäœããæŽæ°ãããå€æŽãããããããšãç°¡åã§ãã æ°ããã·ã¹ãã ã®è¿œå ãé£ãããããŸãããæ°ãããã£ã¬ã¯ããªå ã«æ§æãã¡ã€ã«ãäœæããã ãã§ãã ãã®äžã«ã¯ããµãŒãã¹ã®èª¬æãå«ãŸãã service.hcl ãšãéçšç°å¢ã«ãããã€ããããã®ãµãŒãã¹ãæ§æã§ããããã«ããããã€ãã® env ãã¡ã€ã«ããããŸãã
ãã ããäžéšã®ã·ã¹ãã ã¯å®çšŒåç°å¢ã« XNUMX ã€ã®ã³ããŒã§ã¯ãªããäžåºŠã«è€æ°ã®ã³ããŒã§å±éãããŸãã ãããã£ãŠãæ§æãçŽç²ãªåœ¢åŒã§ã¯ãªãããã³ãã¬ãŒãåããã圢åŒã§ä¿åãããšäŸ¿å©ã§ãããšå€æããŸããã ãããŠç§ãã¡ãéžãã ã®ã¯ ç¥ç€Ÿ2ã ãã®åœ¢åŒã§ã¯ããµãŒãã¹èªäœã®æ§æãšãµãŒãã¹ã«å¿
èŠãªç°å¢ãã¡ã€ã«ã®äž¡æ¹ãä¿åãããŸãã
ããã«ããã¹ãŠã®ãããžã§ã¯ãã«å ±éã®ãããã€ã¡ã³ã ã¹ã¯ãªããããªããžããªã«é 眮ããŸãããããã«ããããµãŒãã¹ãå®çšŒåç°å¢ãç®çã®ç°å¢ãç®çã®ã¿ãŒã²ããã«èµ·åããŠãããã€ã§ããããã«ãªããŸãã HCL æ§æããã³ãã¬ãŒãã«å€ãããšã以åã¯éåžžã® Nomad æ§æã ã£ã HCL ãã¡ã€ã«ãå°ãéã£ãŠèŠããããã«ãªããŸããã
ã€ãŸããäžéšã®æ§æå Žæå€æ°ããenv ãã¡ã€ã«ãŸãã¯ä»ã®ãœãŒã¹ããååŸããæ¿å
¥å€æ°ã«çœ®ãæããŸããã ããã«ãHCL ãã¡ã€ã«ãåçã«åéããæ©äŒãåŸãããŸãããã€ãŸããéåžžã®å€æ°æ¿å
¥ã ãã§ãªãã䜿çšããããšãã§ããŸãã jinja ã¯ã«ãŒããšæ¡ä»¶ããµããŒãããŠãããããããã«æ§æãã¡ã€ã«ãäœæããããšãã§ããŸããæ§æãã¡ã€ã«ã¯ãã¢ããªã±ãŒã·ã§ã³ãæ£ç¢ºã«ãããã€ããå Žæã«å¿ããŠå€æŽãããŸãã
ããšãã°ããµãŒãã¹ãå®çšŒååãšå®çšŒåã«ãããã€ããããšããŸãã å®çšŒååã§ã¯ãcron ã¹ã¯ãªãããå®è¡ããããªããããµãŒãã¹ãæ©èœããŠããããšã確èªããããã«å¥ã®ãã¡ã€ã³ã§ãµãŒãã¹ã確èªãããã ãã ãšããŸãã ãµãŒãã¹ããããã€ãã人ã«ãšã£ãŠãããã»ã¹ã¯éåžžã«ã·ã³ãã«ãã€éæã«èŠããŸãã å¿ èŠãªã®ã¯ãdeploy.sh ãã¡ã€ã«ãå®è¡ãããããã€ãããµãŒãã¹ãšã¿ãŒã²ãããæå®ããããšã ãã§ãã ããšãã°ãç¹å®ã®ã·ã¹ãã ããã·ã¢ããã©ã«ãŒã·ããŸãã¯ã«ã¶ãã¹ã¿ã³ã«å°å ¥ãããšããŸãã ãããè¡ãã«ã¯ããã©ã¡ãŒã¿ãŒã® XNUMX ã€ãå€æŽããã ãã§ãæ£ããæ§æãã¡ã€ã«ãäœæãããŸãã
Nomad ãµãŒãã¹ããã§ã«ã¯ã©ã¹ã¿ãŒã«ãããã€ãããŠããå Žåã¯ã次ã®ããã«ãªããŸãã
ãŸãããã¹ãŠã®ãŠãŒã¶ãŒ ãã©ãã£ãã¯ãåä¿¡ãããäœããã®ãã©ã³ãµãŒãå€éšã«å¿
èŠã§ãã Consul ãšé£æºããŠãç¹å®ã®ãã¡ã€ã³åã«å¯Ÿå¿ããç¹å®ã®ãµãŒãã¹ããã©ã®ããŒãã®ã©ã® IP ã¢ãã¬ã¹ã«ããã®ãã調ã¹ãŸãã Consul ã®ãµãŒãã¹ã¯ Nomad èªäœããæ¥ãŠããŸãã ãããã¯åãäŒç€Ÿã®è£œåãªã®ã§ãçžäºã«é¢é£æ§ããããŸãã Nomad ã¯ãã®ãŸãŸã®ç¶æ
ã§ãããã§èµ·åããããã¹ãŠã®ãµãŒãã¹ã Consul å
ã«ç»é²ã§ãããšèšããŸãã
ããã³ããšã³ã ããŒã ãã©ã³ãµãŒã¯ããã©ãã£ãã¯ã®éä¿¡å ãµãŒãã¹ãèªèãããšãã¢ããªã±ãŒã·ã§ã³ã«äžèŽããé©åãªã³ã³ãããŒãŸãã¯è€æ°ã®ã³ã³ãããŒã«ãã©ãã£ãã¯ã転éããŸãã åœç¶ãå®å šæ§ãžã®é æ ®ãå¿ èŠã§ãã ãã¹ãŠã®ãµãŒãã¹ãã³ã³ããå ã®åãä»®æ³ãã·ã³äžã§å®è¡ãããŠãããšããŠããããã«ã¯éåžžãã©ã®ãµãŒãã¹ããä»ã®ãµãŒãã¹ãžãèªç±ã«ã¢ã¯ã»ã¹ã§ããªãããã«ããå¿ èŠããããŸãã ç§ãã¡ã¯ã»ã°ã¡ã³ããŒã·ã§ã³ã«ãã£ãŠãããå®çŸããŸããã åãµãŒãã¹ã¯ç¬èªã®ä»®æ³ãããã¯ãŒã¯å ã§èµ·åããããã®ä»®æ³ãããã¯ãŒã¯äžã§ã«ãŒãã£ã³ã° ã«ãŒã«ããä»ã®ã·ã¹ãã ããµãŒãã¹ãžã®ã¢ã¯ã»ã¹ãèš±å¯/æåŠããã«ãŒã«ãèŠå®ãããŠããŸãã ãããã¯ããã®ã¯ã©ã¹ã¿ãŒã®å éšãšå€éšã®äž¡æ¹ã«ååšããå¯èœæ§ããããŸãã ããšãã°ããµãŒãã¹ãç¹å®ã®ããŒã¿ããŒã¹ã«æ¥ç¶ã§ããªãããã«ãããå Žåã¯ããããã¯ãŒã¯ ã¬ãã«ã®ã»ã°ã¡ã³ããŒã·ã§ã³ãéããŠãããè¡ãããšãã§ããŸãã ã€ãŸããããšãééã£ãŠãããã¹ãç°å¢ããéçšããŒã¿ããŒã¹ã«èª€ã£ãŠæ¥ç¶ããããšã¯ã§ããŸããã
ãã®ç§»è¡ã«ãã人çè³æºã®é¢ã§ã©ããããã®ã³ã¹ããããããŸããã?
äŒç€Ÿå šäœã® Nomad ãžã®ç§»è¡ã«ã¯çŽ 5 ïœ 6 ãæããããŸããã ç§ãã¡ã¯ãµãŒãã¹ããšã«ç§»è¡ããŸããããããªãéãããŒã¹ã§é²ã¿ãŸããã åããŒã ã¯ãµãŒãã¹çšã«ç¬èªã®ã³ã³ãããäœæããå¿ èŠããããŸããã
åããŒã ãç¬èªã«ã·ã¹ãã ã® Docker ã€ã¡ãŒãžãæ åœããã¢ãããŒããæ¡çšããŸããã DevOps ã¯ãå±éã«å¿ èŠãªäžè¬çãªã€ã³ãã©ã¹ãã©ã¯ãã£ãã€ãŸãã¯ã©ã¹ã¿ãŒèªäœã®ãµããŒããCI ã·ã¹ãã ã®ãµããŒããªã©ãæäŸããŸãã åœæã60 ãè¶ ããã·ã¹ãã ã Nomad ã«ç§»è¡ããããã®æ°ã¯çŽ 2 ã³ã³ããã«éããŸããã
Devops ã¯ãå±éãšãµãŒããŒã«é¢é£ãããã¹ãŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£å šè¬ãæ åœããŸãã ãããŠãåéçºããŒã ã¯ãç¹å®ã®ã³ã³ããã«äžè¬çã«äœãå¿ èŠããç¥ã£ãŠããããããã®ç¹å®ã®ã·ã¹ãã ã«ã³ã³ãããå®è£ ãã責任ãè² ããŸãã
ãããããããçç±
Nomad ã docker ãªã©ã䜿çšãããããã€ã¡ã³ãã«åãæ¿ããããšã§ãã©ã®ãããªã¡ãªãããåŸãããŸããã?
- æã åçã®æ¡ä»¶ãæäŸãã ããããç°å¢ã«ã éçºãQA ç°å¢ãå®çšŒååãå®çšŒåã§ã¯ãåãäŸåé¢ä¿ãæã€åãã³ã³ãã㌠ã€ã¡ãŒãžã䜿çšãããŸãã ãããã£ãŠãæ¬çªç°å¢ã§æçµçã«äœæããããã®ãã以åã«ããŒã«ã«ãŸãã¯ãã¹ãç°å¢ã§ãã¹ããããã®ãšç°ãªãå¯èœæ§ã¯äºå®äžãããŸããã
- ããã§ååã§ããããšãããããŸãã æ°ãããµãŒãã¹ãç°¡åã«è¿œå ã§ããã å°å ¥ã®èŠ³ç¹ããèŠããšãæ°ããã·ã¹ãã ã¯éåžžã«ç°¡åã«èµ·åã§ããŸãã æ§æãä¿åãããªããžããªã«ç§»åããããã«ã·ã¹ãã ã®å¥ã®æ§æãè¿œå ããã ãã§æºåã¯å®äºã§ãã Devops ã«ããè¿œå ã®åŽåãå¿ èŠãšããã«ãã·ã¹ãã ãå®çšŒåç°å¢ã«ãããã€ã§ããŸãã
- ãã¹ãŠ èšå®ãã¡ã€ã« XNUMX ã€ã®å ±éãªããžããªå 㧠æ€èšäžã§ããããšãå€æããã ä»®æ³ãµãŒããŒã䜿çšããŠã·ã¹ãã ããããã€ãããšãã¯ãæ§æãåããªããžããªã«ãã£ã Ansible ã䜿çšããŠããŸããã ãã ããã»ãšãã©ã®éçºè ã«ãšã£ãŠãããã¯å°ãäœæ¥ãå°é£ã§ããã ããã§ã¯ããµãŒãã¹ããããã€ããããã«è¿œå ããå¿ èŠãããæ§æãšã³ãŒãã®éãå€§å¹ ã«æžããŸããã ããã«ãDevOps ããããä¿®æ£ãŸãã¯å€æŽããã®ã¯éåžžã«ç°¡åã§ãã ããšãã°ãNomad ã®æ°ããããŒãžã§ã³ã«ç§»è¡ããå Žåãåãå Žæã«ãããã¹ãŠã®ãªãã¬ãŒãã£ã³ã° ãã¡ã€ã«ãååŸããŠäžæ¬æŽæ°ã§ããŸãã
ããããããã€ãã®æ¬ ç¹ã«ãééããŸããã
å€æããã®ã¯ã ã·ãŒã ã¬ã¹ãªå°å ¥ãå®çŸã§ããªãã£ã ãããã®å Žåã ããŸããŸãªæ¡ä»¶ã§ã³ã³ãããããŒã«ã¢ãŠããããšãã³ã³ãããå®è¡äžã§ããããšãå€æããå¯èœæ§ããããNomad ã¯ããããã©ãã£ãã¯ãåä¿¡ããæºåãã§ããŠããã³ã³ãããšããŠèªèããŸããã ããã¯ãå éšã®ã¢ããªã±ãŒã·ã§ã³ãèµ·åããåã«çºçããŸããã ãã®ããããŸã ãã©ãã£ãã¯ãåãå ¥ããæºåãã§ããŠããªãã³ã³ããã«ãã©ãã£ãã¯ãéä¿¡ããå§ãããããã·ã¹ãã ã¯çæé㧠500 ãšã©ãŒãçæãå§ããŸããã
ç§ãã¡ã¯ããã€ãã«ééããŸãã 沌ã«ãã£ãŠã æãé倧ãªãã°ã¯ãå€æ°ã®ã·ã¹ãã ãšã³ã³ãããããå ŽåãNomad ã倧èŠæš¡ãªã¯ã©ã¹ã¿ãŒãããŸãåŠçã§ããªãããšã§ãã Nomad ã¯ã©ã¹ã¿ãŒã«å«ãŸãããµãŒããŒã® XNUMX ã€ãã¡ã³ããã³ã¹ã®ããã«åãå€ãããå Žåãããªãã®ç¢ºçã§ã¯ã©ã¹ã¿ãŒã®èª¿åãæªãã厩å£ããŠããŸããŸãã ããšãã°ãäžéšã®ã³ã³ããã¯èœäžããŠäžæããªãå¯èœæ§ããããŸãããã¹ãŠã®éçšã·ã¹ãã ã Nomad ã«ãã£ãŠç®¡çãããã¯ã©ã¹ã¿å ã«é 眮ãããŠããå Žåãããã«ããåŸã 倧ããªã³ã¹ããããããŸãã
ããã§ã次ã«ã©ãã«è¡ãã¹ãããèããããšã«ããŸããã ãã®æç¹ã§ãç§ãã¡ã¯èªåãã¡ãäœãéæãããã®ããããããèªèããããã«ãªããŸããã ã€ãŸããä¿¡é Œæ§ãNomad ãæäŸããæ©èœãããããå°ãå€ãã®æ©èœããããŠããæçãããããå®å®ããã·ã¹ãã ãå¿ èŠã§ãã
ãã®ç¹ã§ãç§ãã¡ã¯ã¯ã©ã¹ã¿ãŒãèµ·åããããã®æã人æ°ã®ãããã©ãããã©ãŒã ãšã㊠Kubernetes ãéžæããŸããã ç¹ã«ãã³ã³ããã®ãµã€ãºãšæ°ãååã«å€§ããã£ãããšãèæ ®ãããšã ãã®ãããªç®çã«ã¯ãKubernetes ãæ€èšã§ããæãé©ããã·ã¹ãã ã§ãããšèããããŸããã
Kubernetes ãžã®ç§»è¡
Kubernetes ã®åºæ¬æŠå¿µãš Nomad ãšã®éãã«ã€ããŠå°ã説æããŸãã
ãŸããKubernetes ã®æãåºæ¬çãªæŠå¿µã¯ãããã®æŠå¿µã§ãã ããã åžžã«äžç·ã«å®è¡ããã 127.0.0.1 ã€ä»¥äžã®ã³ã³ããã®ã°ã«ãŒãã§ãã ãããŠããããã¯åžžã« XNUMX ã€ã®ä»®æ³ãã·ã³äžã§å³å¯ã«åäœãããã®ããã«åäœããŸãã ãããã¯ãç°ãªãããŒãäžã® IP XNUMX ãä»ããŠçžäºã«ã¢ã¯ã»ã¹ã§ããŸãã
nginx ãš php-fpm (å€å žçãªã¹ããŒã ) ã§æ§æããã PHP ã¢ããªã±ãŒã·ã§ã³ããããšä»®å®ããŸãããã ãããããnginx ã³ã³ãããš php-fpm ã³ã³ããã®äž¡æ¹ãåžžã«äžç·ã«ä¿æããŠãããããšæãã§ãããã Kubernetes ã§ã¯ããããã XNUMX ã€ã®å ±éã®ããããšããŠèšè¿°ããããšã§ãããå®çŸã§ããŸãã ããã¯ãŸãã« Nomad ã§ã¯å®çŸã§ããªãã£ãããšã§ãã
äºã€ç®ã®ã³ã³ã»ããã¯ã å±éã å®éã®ãšããããããèªäœã¯äžæçãªãã®ã§ãããå§ãŸã£ãŠã¯æ¶ããŸãã æåã«ä»¥åã®ã³ã³ããããã¹ãŠåŒ·å¶çµäºããŠãããæ°ããããŒãžã§ã³ãäžåºŠã«èµ·åããŸãã? ãããšãã段éçã«ããŒã«ã¢ãŠãããŸãã? ããã¯ããããã€ã¡ã³ãã®æŠå¿µãæ åœããããã»ã¹ã§ãã ãããããããã€ããæ¹æ³ãæ°éãæŽæ°æ¹æ³ã«ã€ããŠèª¬æããŸãã
XNUMXã€ç®ã®ã³ã³ã»ããã¯ã ãµãŒãã¹ã ãµãŒãã¹ã¯å®éã«ã¯ã·ã¹ãã ã§ããããã©ãã£ãã¯ãåä¿¡ããããããµãŒãã¹ã«å¯Ÿå¿ãã XNUMX ã€ä»¥äžã®ãããã«è»¢éããŸãã ã€ãŸããããããã®ååãæã€ããããã®ãµãŒãã¹ãžã®ãã¹ãŠã®åä¿¡ãã©ãã£ãã¯ããããã®ç¹å®ã®ãããã«éä¿¡ããå¿ èŠããããšæå®ã§ããŸãã åæã«ãã©ãã£ãã¯ã®ãã©ã³ã·ã³ã°ãå®çŸããŸãã ã€ãŸããã¢ããªã±ãŒã·ã§ã³ã® XNUMX ã€ã®ããããèµ·åã§ãããã¹ãŠã®åä¿¡ãã©ãã£ãã¯ã¯ãã®ãµãŒãã¹ã«é¢é£ãããããéã§åçã«åæ£ãããŸãã
ãããŠXNUMXã€ç®ã®åºæ¬ã³ã³ã»ããã¯ã é²å ¥ã ããã¯ãKubernetes ã¯ã©ã¹ã¿ãŒäžã§å®è¡ããããµãŒãã¹ã§ãã ãã¹ãŠã®ãªã¯ãšã¹ããåŒãç¶ãå€éšããŒã ãã©ã³ãµãŒãšããŠæ©èœããŸãã Kubernetes API ã䜿çšããŠãIngress ã¯ãããã®ãªã¯ãšã¹ãã®éä¿¡å ã決å®ã§ããŸãã ãããã圌ã¯ãããéåžžã«æè»ã«ãã£ãŠãããŸãã ãã®ãã¹ãããã³ããããã® URL ãžã®ãã¹ãŠã®ãªã¯ãšã¹ãããã®ãµãŒãã¹ã«éä¿¡ããããšèšããŸãã ãããŠããã®ãã¹ãããã³å¥ã® URL ã«éä¿¡ããããããã®ãªã¯ãšã¹ãã¯ãå¥ã®ãµãŒãã¹ã«éä¿¡ãããŸãã
ã¢ããªã±ãŒã·ã§ã³ãéçºãã人ã®èŠ³ç¹ããèŠãŠãæãçŽ æŽãããããšã¯ãã¢ããªã±ãŒã·ã§ã³ããã¹ãŠèªåã§ç®¡çã§ããããšã§ãã Ingress æ§æãèšå®ãããšãããããã® API ã«æ¥ããã¹ãŠã®ãã©ãã£ãã¯ããããšãã° Go ã§äœæãããå¥ã®ã³ã³ãããŒã«éä¿¡ã§ããŸãã ããããåããã¡ã€ã³ã«æ¥ããå¥ã® URL ã«æ¥ããã®ãã©ãã£ãã¯ã¯ãPHP ã§æžãããã³ã³ããã«éä¿¡ãããå¿ èŠããããŸããPHP ã«ã¯å€ãã®ããžãã¯ããããŸãããããã»ã©é«éã§ã¯ãããŸããã
ããããã¹ãŠã®æŠå¿µã Nomad ãšæ¯èŒãããšãæåã® XNUMX ã€ã®æŠå¿µã¯ãã¹ãŠãµãŒãã¹ã§ãããšèšããŸãã ãããŠæåŸã®æŠå¿µã¯ Nomad èªäœã«ã¯ååšããŸããã å€éšãã©ã³ãµãŒã䜿çšããŸãããããã«ã¯ãhaproxyãnginxãnginx+ ãªã©ã䜿çšã§ããŸãã ãã¥ãŒãã®å Žåããã®è¿œå ã®æŠå¿µãåå¥ã«å°å ¥ããå¿ èŠã¯ãããŸããã ãã ããIngress ãå éšçã«èŠããšããã㯠nginxãhaproxyããŸã㯠traefik ã®ããããã§ãããäžçš®ã® Kubernetes ã«çµã¿èŸŒãŸããŠããŸãã
ç§ã説æãããã¹ãŠã®æŠå¿µã¯ãå®éã«ã¯ãKubernetes ã¯ã©ã¹ã¿ãŒå ã«ååšãããªãœãŒã¹ã§ãã ãã¥ãŒãå ã§ããããèšè¿°ããã«ã¯ãNomad ã®å ŽåãHCL ãã¡ã€ã«ãããèªã¿ããã芪ãã¿ããã yaml 圢åŒã䜿çšãããŸãã ããããæ§é çã«ã¯ãããšãã°ãããã®å Žåã§ãåãããšã説æããŸãã 圌ãã¯ããèšããŸã - ç§ã¯ãããããã®ãããããããããã®ã€ã¡ãŒãžãšãšãã«ãããããã®éã§ãããã€ããããšèããŠããŸãã
ããã«ããããã€ã¡ã³ãããµãŒãã¹ãIngress ãªã©ã®åã
ã®ãªãœãŒã¹ãæåã§äœæããããªãããšã«æ°ä»ããŸããã 代ããã«ãå¿
èŠãªãªãœãŒã¹ã®äŸåé¢ä¿ããã¹ãŠæ£ããé åºã§æåã§åäœæããå¿
èŠããªãããã«ãå±éäžã«åã·ã¹ãã ã Kubernetes ã®èŠ³ç¹ãã説æããããšèããŸããã ãããå¯èœã«ããã·ã¹ãã ãšã㊠Helm ãéžã°ããŸããã
Helm ã®åºæ¬æŠå¿µ
ãã«ã 㯠ããã±ãŒãžãããŒãžã£ãŒ Kubernetesã®å Žåã ããã¯ãããã°ã©ãã³ã°èšèªã®ããã±ãŒãž ãããŒãžã£ãŒã®ä»çµã¿ãšãã䌌ãŠããŸãã ãããã«ãããããšãã°ãnginx ã®ãããã€ã¡ã³ããphp-fpm ã®ãããã€ã¡ã³ããIngress ã®æ§æãconfigmaps (ã·ã¹ãã ã®ç°å¢ããã®ä»ã®ãã©ã¡ãŒã¿ãŒãèšå®ã§ãããšã³ãã£ãã£) ã§æ§æããããµãŒãã¹ãã次ã®åœ¢åŒã§ä¿åã§ããŸãããã£ãŒããšåŒã°ããŸãã åæã«ãã«ã Kubernetes äžã§åäœããã ã€ãŸããããã¯èã«çœ®ãããããçš®ã®ã·ã¹ãã ã§ã¯ãªãããã¥ãŒãå ã§èµ·åãããå¥ã®ãµãŒãã¹ã«ãããŸããã ã³ã³ãœãŒã« ã³ãã³ããä»ã㊠API ãä»ããŠæäœããŸãã ãã®å©äŸ¿æ§ãšå©ç¹ã¯ãããšããã«ã ãå£ãããã¯ã©ã¹ã¿ãŒããåé€ãããšããŠãããã«ã ã¯æ¬è³ªçã«ã·ã¹ãã ãèµ·åããã ãã®åœ¹å²ãæããããããµãŒãã¹ãæ¶ããªãããšã§ãã Kubernetes èªäœããµãŒãã¹ã®ããã©ãŒãã³ã¹ãšç¶æ ã«è²¬ä»»ãè² ããŸãã
ç§ãã¡ããããå®æããŸãã ãã³ãã¬ãŒãåããã¯ã以åã¯æ§æã« jinja ãå°å ¥ããããšã§èªåã§è¡ãå¿ èŠããããŸãããããã㯠helm ã®äž»ãªæ©èœã® XNUMX ã€ã§ãã ã·ã¹ãã çšã«äœæãããã¹ãŠã®æ§æã¯ããã³ãã¬ãŒãã®åœ¢åŒã§ Helm ã«ä¿åãããŸãããã㯠jinja ã«å°ã䌌ãŠããŸãããå®éã«ã¯ãKubernetes ãªã©ã® Helm ãèšè¿°ããã Go èšèªã®ãã³ãã¬ãŒãã䜿çšããŸãã
Helm ã¯ããã«ããã€ãã®æŠå¿µãè¿œå ããŸãã
ãã£ãŒã - ããã¯ãµãŒãã¹ã®èª¬æã§ãã ä»ã®ããã±ãŒãž ãããŒãžã£ãŒã§ã¯ãããã±ãŒãžããã³ãã«ããŸãã¯åæ§ã®ãã®ãšåŒã°ããŸãã ããã§ã¯ããããã£ãŒããšåŒã³ãŸãã
䟡å€èŠ³ ã¯ããã³ãã¬ãŒãããæ§æãæ§ç¯ããããã«äœ¿çšããå€æ°ã§ãã
ãªãªãŒã¹ã Helm ã䜿çšããŠãããã€ããããµãŒãã¹ããªãªãŒã¹ã®å¢åããŒãžã§ã³ãåãåããã³ã«ã Helm ã¯ãåã®ãªãªãŒã¹ããã®åã®ãªãªãŒã¹ãªã©ã®ãµãŒãã¹æ§æãèŠããŠããŸãã ãããã£ãŠãããŒã«ããã¯ããå¿ èŠãããå Žåã¯ãhelm ã³ãŒã«ãã㯠ã³ãã³ããå®è¡ããŠã以åã®ãªãªãŒã¹ ããŒãžã§ã³ãæå®ããã ãã§ãã ããŒã«ããã¯æã«ãªããžããªå ã®å¯Ÿå¿ããæ§æãå©çšã§ããªãå Žåã§ããhelm ã¯ãã®æ§æãèšæ¶ããŠãããã·ã¹ãã ã以åã®ãªãªãŒã¹ã®ç¶æ ã«ããŒã«ããã¯ããŸãã
Helm ã䜿çšããå ŽåãKubernetes ã®éåžžã®æ§æããå€æ°ãé¢æ°ã䜿çšããæ¡ä»¶ã¹ããŒãã¡ã³ããé©çšã§ãããã³ãã¬ãŒãã«å€ãããŸãã ãã®æ¹æ³ã§ãç°å¢ã«å¿ããŠãµãŒãã¹æ§æãåéã§ããŸãã
å®éã«ã¯ãNomad ã®å Žåãšã¯å°ãç°ãªãæ¹æ³ã§ç©äºãè¡ãããšã«ããŸããã Nomad ã§ã¯ããµãŒãã¹ã®ãããã€ã«å¿
èŠãªãããã€ã¡ã³ãæ§æãš n å€æ°ã®äž¡æ¹ã XNUMX ã€ã®ãªããžããªã«ä¿åãããŠããå Žåãããã§ã¯ãããã XNUMX ã€ã®å¥åã®ãªããžããªã«åå²ããããšã«ããŸããã ãdeployããªããžããªã«ã¯ãããã€ã¡ã³ãã«å¿
èŠãª n å€æ°ã®ã¿ãä¿åããããhelmããªããžããªã«ã¯æ§æãŸãã¯ãã£ãŒããä¿åãããŸãã
ããã¯ç§ãã¡ã«äœããããããã®ã§ããããïŒ
ã«ãããããããæ§æãã¡ã€ã«èªäœã«ã¯æ¬åœã«æ©å¯ããŒã¿ã¯ä¿åãããŸããã ããšãã°ãããŒã¿ããŒã¹ã®ãã¹ã¯ãŒããªã©ã§ãã ããã㯠Kubernetes ã«ã·ãŒã¯ã¬ãããšããŠä¿åãããŸãããããã§ãã誰ã«ã§ãã¢ã¯ã»ã¹ã§ããããã«ããããªããã®ããããŸãã ãããã£ãŠããdeployããªããžããªãžã®ã¢ã¯ã»ã¹ã¯ããå¶éãããŠããããhelmããªããžããªã«ã¯ãµãŒãã¹ã®èª¬æãå«ãŸããã ãã§ãã ãã®ãããããå¹ åºãæ¹ã«å®å¿ããŠãå©çšããã ããŸãã
éçšç°å¢ã ãã§ãªãä»ã®ç°å¢ãååšããããããã®åé¢ã®ãããã§ããã«ã ãã£ãŒããåå©çšããŠãéçšç°å¢ã ãã§ãªããããšãã° QA ç°å¢ã«ããµãŒãã¹ããããã€ã§ããŸãã ã䜿çšããŠããŒã«ã«ã«ãããã€ããããšãã§ããŸã Minikube - ãã㯠Kubernetes ãããŒã«ã«ã§å®è¡ããããã®ãã®ã§ãã
åãªããžããªå ã§ã¯ããµãŒãã¹ããšã«åå¥ã®ãã£ã¬ã¯ããªã«åå²ãæ®ããŸããã ã€ãŸããåãã£ã¬ã¯ããªå ã«ã¯ã察å¿ãããã£ãŒãã«é¢é£ããã·ã¹ãã ãèµ·åããããã«ãããã€ããå¿ èŠããããªãœãŒã¹ã説æãããã³ãã¬ãŒãããããŸãã ãdeployããªããžããªã«ã¯ env ã®ã¿ãæ®ããŸããã ãã®å Žåãjinja ã䜿çšãããã³ãã¬ãŒãã¯äœ¿çšããŸããã§ãããããã¯ãhelm èªäœãããã«äœ¿ãããã³ãã¬ãŒããæäŸããããã§ããããã¯ãhelm ã®äž»ãªæ©èœã® XNUMX ã€ã§ãã
ãããã€ã¡ã³ã ã¹ã¯ãªãããdeploy.sh ãæ®ããŸãããããã¯ãhelm ã䜿çšãããããã€ã¡ã³ãã®èµ·åãç°¡çŽ åããæšæºåããŸãã ãã®ããããããã€ãåžæãã人ã«ãšã£ãŠãããã〠ã€ã³ã¿ãŒãã§ã€ã¹ã¯ Nomad çµç±ã§ãããã€ãããšããšãŸã£ããåãã«èŠããŸãã åãdeploy.shããµãŒãã¹ã®ååãããã³ããããããã€ããå Žæã ããã«ãããhelm ãå éšã§èµ·åããŸãã 次ã«ããã³ãã¬ãŒãããæ§æãåéããå¿ èŠãªå€ãã¡ã€ã«ããããã«æ¿å ¥ããŠãããããã€ããŠãKubernetes ã«èµ·åããŸãã
æèŠ
Kubernetes ãµãŒãã¹ã¯ Nomad ãããè€éã§ããããã§ãã
ããã§ãéä¿¡ãã©ãã£ãã¯ã Ingress ã«éä¿¡ãããŸãã ããã¯åãªãããã³ã ã³ã³ãããŒã©ãŒã§ããããã¹ãŠã®ãªã¯ãšã¹ããåŒãç¶ãããã®åŸãªã¯ãšã¹ã ããŒã¿ã«å¯Ÿå¿ãããµãŒãã¹ã«ãªã¯ãšã¹ããéä¿¡ããŸãã ãããã¯ãhelm å
ã®ã¢ããªã±ãŒã·ã§ã³ã®èª¬æã®äžéšã§ãããéçºè
ãç¬èªã«èšå®ããæ§æã«åºã¥ããŠæ±ºå®ãããŸãã ãµãŒãã¹ã¯ãªã¯ãšã¹ãããã®ããããã€ãŸãç¹å®ã®ã³ã³ãããŒã«éä¿¡ãããã®ãµãŒãã¹ã«å±ãããã¹ãŠã®ã³ã³ãããŒéã§åä¿¡ãã©ãã£ãã¯ã®ãã©ã³ã¹ããšããŸãã ãããŠãã¡ããããããã¯ãŒã¯ ã¬ãã«ã®ã»ãã¥ãªãã£ããé¢ããã¹ãã§ã¯ãªãããšãå¿ããŠã¯ãªããŸããã ãããã£ãŠãã»ã°ã¡ã³ããŒã·ã§ã³ã¯ã¿ã°ä»ãã«åºã¥ãã Kubernetes ã¯ã©ã¹ã¿ãŒã§æ©èœããŸãã ãã¹ãŠã®ãµãŒãã¹ã«ã¯ç¹å®ã®ã¿ã°ããããã¯ã©ã¹ã¿å
å€ã®ç¹å®ã®å€éš/å
éšãªãœãŒã¹ã«å¯ŸãããµãŒãã¹ã®ã¢ã¯ã»ã¹æš©ãé¢é£ä»ããããŠããŸãã
移è¡ãé²ããŠãããšãKubernetes ã«ã¯ä»¥å䜿çšããŠãã Nomad ã®ãã¹ãŠã®æ©èœããããããã«å€ãã®æ°ããæ©èœãè¿œå ãããŠããããšãããããŸããã ããã¯ãã©ã°ã€ã³ãéããŠæ¡åŒµã§ããå®éã«ã¯ã«ã¹ã¿ã ãªãœãŒã¹ ã¿ã€ããéããŠæ¡åŒµã§ããŸãã ã€ãŸããKubernetes ã«ä»å±ããŠãããã®ããã®ãŸãŸäœ¿çšããã ãã§ãªããç¬èªã®ãªãœãŒã¹ããªãœãŒã¹ãèªã¿åããµãŒãã¹ãäœæããæ©äŒããããŸãã ããã«ãããKubernetes ãåã€ã³ã¹ããŒã«ããããå€æŽãå ãããããããšãªããã·ã¹ãã ãæ¡åŒµããããã®è¿œå ã®ãªãã·ã§ã³ãæäŸãããŸãã
ãã®ãããªäœ¿çšäŸãšããŠã¯ãKubernetes ã¯ã©ã¹ã¿ãŒå ã§å®è¡ããã Prometheus ããããŸãã ç¹å®ã®ãµãŒãã¹ããã¡ããªã¯ã¹ã®åéãéå§ããã«ã¯ãè¿œå ã®ã¿ã€ãã®ãªãœãŒã¹ããããããµãŒãã¹ ã¢ãã¿ãŒããµãŒãã¹ã®èª¬æã«è¿œå ããå¿ èŠããããŸãã Prometheus ã¯ãKubernetes ã§ã®èµ·åæã«ã«ã¹ã¿ã ãªãœãŒã¹ ã¿ã€ããèªã¿åãããšãã§ãããããæ°ããã·ã¹ãã ããèªåçã«ã¡ããªã¯ã¹ã®åéãéå§ããŸãã ãšãŠã䟿å©ã§ãã
Kubernetes ãžã®æåã®ãããã€ã¯ 2018 幎 3000 æã§ããã ãã®éãç§ãã¡ã¯ããã«é¢ããŠäœã®åé¡ãçµéšããŸããã§ããã é倧ãªãã°ããªãéåžžã«å®å®ããŠåäœããŸãã ããã«ããããããã«æ¡åŒµããããšãã§ããŸãã çŸåšãç§ãã¡ã¯ Kubernetes ã®æ©èœãååã«åããŠãããKubernetes ã®éçºã®ããŒã¹ãéåžžã«æ°ã«å
¥ã£ãŠããŸãã çŸåšãXNUMX ãè¶
ããã³ã³ããã Kubernetes ã«ååšããŸãã ã¯ã©ã¹ã¿ãŒã¯è€æ°ã®ããŒããå æããŸãã åæã«ãä¿å®æ§ãé«ããå®å®ããŠãããéåžžã«å¶åŸ¡å¯èœã§ãã
åºæïŒ habr.com