ãã¯ã©ãŠã ãã€ãã£ãããŸãã¯åã«ãã¯ã©ãŠããã¢ããªã±ãŒã·ã§ã³ã¯ãç¹ã«ã¯ã©ãŠã ã€ã³ãã©ã¹ãã©ã¯ãã£ã§åäœããããã«äœæãããŠããŸãããããã¯éåžžãã³ã³ãããŒã«ããã±ãŒãžåãããççµåãã€ã¯ããµãŒãã¹ã®ã»ãããšããŠæ§ç¯ãããã¯ã©ãŠã ãã©ãããã©ãŒã ã«ãã£ãŠç®¡çãããŸãããã®ãããªã¢ããªã±ãŒã·ã§ã³ã¯ããã©ã«ãã§é害察å¿ãšãªã£ãŠãããã€ã³ãã©ã¹ãã©ã¯ã㣠ã¬ãã«ã®é倧ãªé害ãçºçããå Žåã§ã確å®ã«åäœããæ¡åŒµå¯èœã§ããã³ã€ã³ã®è£åŽã¯ãã³ã³ãã ã¢ããªã±ãŒã·ã§ã³ãèªåçã«ç®¡çã§ããããã«ããããã«ãã¯ã©ãŠã ãã©ãããã©ãŒã ãã³ã³ãã ã¢ããªã±ãŒã·ã§ã³ã«èª²ãäžé£ã®å¶é (å¥çŽ) ã§ãã
å€ãã®çµç¹ã¯ãã¯ã©ãŠãããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ã«ç§»è¡ããå¿
èŠæ§ãšéèŠæ§ãååã«èªèããŠããŸãããã©ãããå§ããã°ããã®ããŸã ããããŸããããã®æçš¿ã§ã¯ãã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ãéçºããéã«åŸãã°ãIT ã€ã³ãã©ã¹ãã©ã¯ãã£ã§é倧ãªé害ãçºçããå Žåã§ããã¯ã©ãŠã ãã©ãããã©ãŒã ã®å¯èœæ§ãå®çŸããã¢ããªã±ãŒã·ã§ã³ã®ä¿¡é Œæ§ã®é«ãéçšãšã¹ã±ãŒãªã³ã°ãå®çŸã§ããããã«ãªãå€ãã®ååãèŠãŠãããŸããã¬ãã«ãããã§æŠèª¬ããååã®æçµç®æšã¯ãKubernetes ãªã©ã®ã¯ã©ãŠã ãã©ãããã©ãŒã ã§èªåçã«ç®¡çã§ããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããæ¹æ³ãåŠã¶ããšã§ãã
ãœãããŠã§ã¢èšèšåå
ããã°ã©ãã³ã°ã®äžçã§ã¯ãååãšã¯ããœãããŠã§ã¢ãéçºããéã«åŸããªããã°ãªããªãããªãäžè¬çãªã«ãŒã«ãæããŸãããããã¯ãä»»æã®ããã°ã©ãã³ã°èšèªã䜿çšãããšãã«äœ¿çšã§ããŸããããããã®ååã«ã¯ç¬èªã®ç®æšãããããããéæããããã®ããŒã«ã¯éåžžããã³ãã¬ãŒããšå®è·µã§ããé«å質ã®ãœãããŠã§ã¢ãäœæããããã®åºæ¬ååãå€æ°ãããããããä»ã®ãã¹ãŠã®ååãçãŸããŸããåºæ¬ååã®äŸãããã€ã瀺ããŸãã
KISS ïŒåçŽã«ããŠãã ãããæãè ïŒ â è€éã«ããªãã§ãã ãããDRY ïŒåãããšãç¹°ãè¿ããªãã§ãã ããïŒ - åãããšãç¹°ãè¿ããªãã§ãã ãããã€ã® (å¿ èŠã«ãªãããã§ã¯ãããŸãã) - ããã«å¿ èŠã§ãªããã®ã¯äœæããªãã§ãã ãããSoCã® é¢å¿äºã®åé¢ â 責任ãå ±æããŸãã
ã芧ã®ãšããããããã®ååã¯ç¹å®ã®ã«ãŒã«ãå®ããŠããããã§ã¯ãããŸããããå®åçµéšã«åºã¥ãããããåžžèçãªèæ
®äºé
ã®ã«ããŽãªãŒã«å±ããŠãããå€ãã®éçºè
ãå
±æããå®æçã«åç
§ããŠããŸãã
ãŸãã
SOLID åå㯠OOP ã®åéã«å±ããã¯ã©ã¹ãã€ã³ã¿ãŒãã§ã€ã¹ãç¶æ¿ãªã©ã®æŠå¿µãæŠå¿µã®èšèªã§å®åŒåãããŸããåæ§ã«ãéçºååã¯ã¯ã©ãŠã ã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠãå®åŒåã§ããŸããããã§ã®åºæ¬èŠçŽ ã¯ã¯ã©ã¹ã§ã¯ãªãã³ã³ããã ãã§ãããããã®ååã«åŸãããšã§ãKubernetes ãªã©ã®ã¯ã©ãŠã ãã©ãããã©ãŒã ã®ç®æšãšç®çãããé©åã«æºããã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã
ã¯ã©ãŠããã€ãã£ãã³ã³ãã: Red Hat ã®ã¢ãããŒã
çŸåšãã»ãšãã©ãã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãæ¯èŒçç°¡åã«ã³ã³ããã«ããã±ãŒãžåã§ããŸããããããKubernetes ã®ãããªã¯ã©ãŠã ãã©ãããã©ãŒã å
ã§ã¢ããªã±ãŒã·ã§ã³ãå¹æçã«èªååãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããã«ã¯ããããªãåªåãå¿
èŠã§ãã
以äžã«æŠèª¬ããã¢ã€ãã¢ã®åºç€ãšãªã£ãã®ã¯æ¹æ³è«ã§ãã
åäžæžå¿µåå (SCP)
ãã®ååã¯å€ãã®ç¹ã§åäžè²¬ä»»ååãšäŒŒãŠããŸãã
SCP ã§ã¯ãOOP ã¯ã©ã¹ãšæ¯èŒããŠã³ã³ããã®ããé«ãã¬ãã«ã®æœè±¡åãšããåºç¯ãªç®çã瀺ãããã«ãã責任ããšããèšèã®ä»£ããã«ãæžå¿µããšããèšèã䜿çšããŸãããããŠãSRP ã®ç®æšãå€æŽã®çç±ã XNUMX ã€ã ãã«ããããšã§ããå ŽåãSCP ã®èåŸã«ã¯ãã³ã³ããã®åå©çšãšçœ®ãæãã®æ©èœãæ¡åŒµããããšããé¡æããããŸãã SRP ã«åŸã£ãŠãåäžã®åé¡ã解決ããæ©èœçã«å®å šãªæ¹æ³ã§å®è¡ããã³ã³ãããŒãäœæãããšããã®ã³ã³ãã㌠ã€ã¡ãŒãžãããŸããŸãªã¢ããªã±ãŒã·ã§ã³ ã³ã³ããã¹ãã§åå©çšã§ããå¯èœæ§ãé«ãŸããŸãã
SCP ã®ååã§ã¯ãåã³ã³ãã㯠XNUMX ã€ã®åé¡ã解決ãããããé©åã«å®è¡ããå¿ èŠããããšèŠå®ãããŠããŸããããã«ãã³ã³ããäžçã® SCP ã¯ãOOP äžçã® SRP ãããéæãç°¡åã§ããããã¯ãã³ã³ããã¯éåžž XNUMX ã€ã®ããã»ã¹ãå®è¡ããã»ãšãã©ã®å Žåããã®ããã»ã¹ã XNUMX ã€ã®ã¿ã¹ã¯ã解決ããããã§ãã
ã³ã³ãã㌠ãã€ã¯ããµãŒãã¹ãè€æ°ã®åé¡ãäžåºŠã«è§£æ±ºããå¿ èŠãããå Žåã¯ããµã€ãã«ãŒ ãã³ãã¬ãŒããš init ã³ã³ãã㌠ãã³ãã¬ãŒãã䜿çšããŠããã€ã¯ããµãŒãã¹ãåäžã¿ã¹ã¯ã®ã³ã³ãããŒã«åå²ããXNUMX ã€ã®ããã (ã³ã³ãã㌠ãã©ãããã©ãŒã ãããã€ã¡ã³ãã®åäœ) å ã§çµã¿åãããããšãã§ããŸããããã«ãSCP ã䜿çšãããšãå€ãã³ã³ãã (Web ãµãŒããŒãã¡ãã»ãŒãž ãããŒã«ãŒãªã©) ããåãåé¡ã解決ããªããæ©èœãæ¡åŒµããããæ¡åŒµæ§ãåäžããæ°ããã³ã³ããã«ç°¡åã«çœ®ãæããããšãã§ããŸãã
é«å¯èŠ³æž¬æ§ã®åå (HOP)
ã¢ããªã±ãŒã·ã§ã³ãããã±ãŒãžåããŠå®è¡ããããã®çµ±äžãããæ¹æ³ãšããŠã³ã³ãããŒã䜿çšãããå Žåãã¢ããªã±ãŒã·ã§ã³èªäœã¯ãã©ã㯠ããã¯ã¹ãšããŠæ±ãããŸãããã ããããããã¯ã©ãŠã ã³ã³ãããŒã®å Žåã¯ãã³ã³ãããŒã®ç¶æ ãç£èŠããå¿ èŠã«å¿ããŠé©åãªã¢ã¯ã·ã§ã³ãå®è¡ããããã«ç¹å¥ãª API ãã©ã³ã¿ã€ã ã«æäŸããå¿ èŠããããŸããããããªããã°ãã³ã³ããã®æŽæ°ãšã©ã€ããµã€ã¯ã«ç®¡çã®èªååãçµ±åããããšãã§ããããã®çµæããœãããŠã§ã¢ ã·ã¹ãã ã®å®å®æ§ãšäœ¿ãããããæªåããŸãã
å®éã«ã¯ãã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ã«ã¯ãå°ãªããšããã©ã€ããã¹ ãã¹ããæºåãã¹ããªã©ãããŸããŸãªçš®é¡ã®ãã«ã¹ ãã§ãã¯çšã® API ãå¿
èŠã§ããã¢ããªã±ãŒã·ã§ã³ããã以äžã®ããšãè¡ããšäž»åŒµããå Žåã¯ããã®ç¶æ
ãç£èŠããä»ã®æ段ãæäŸããå¿
èŠããããŸããããšãã°ãFluentdãLogstashãããã³ãã®ä»ã®åæ§ã®ããŒã«ã䜿çšãããã°éçŽã®ããã«ãSTDERR ããã³ STDOUT çµç±ã§éèŠãªã€ãã³ãããã°ã«èšé²ããŸãã OpenTracingãPrometheus ãªã©ã®ãã¬ãŒã¹ããã³ã¡ããªã¯ã¹åéã©ã€ãã©ãªãšã®çµ±åãå¯èœã§ãã
äžè¬ã«ãã¢ããªã±ãŒã·ã§ã³ã¯äŸç¶ãšããŠãã©ã㯠ããã¯ã¹ãšããŠæ±ãããšãã§ããŸãããå¯èœãªéãæåã®æ¹æ³ã§ç£èŠããã³ç®¡çããããã«ãã©ãããã©ãŒã ãå¿ èŠãšãããã¹ãŠã® API ãã¢ããªã±ãŒã·ã§ã³ã«æäŸããå¿ èŠããããŸãã
ã©ã€ããµã€ã¯ã«é©ååå (LCP)
LCP 㯠HOP ã®å¯Ÿæ¥µã§ãã HOP ã§ã¯ãã³ã³ãããŒãèªã¿åã API ããã©ãããã©ãŒã ã«å ¬éããå¿ èŠããããšèŠå®ãããŠããŸãããLCP ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ããã©ãããã©ãŒã ããæ å ±ãåãå ¥ããããšãã§ããå¿ èŠããããŸããããã«ãã³ã³ããã¯ã€ãã³ããåä¿¡ããã ãã§ãªããã€ãã³ãã«é©å¿ãã€ãŸãåå¿ããå¿ èŠããããŸãããããã£ãŠããã®ååã®ååã¯ããã©ãããã©ãŒã ã« API ã®æžã蟌ã¿ãæäŸããããã®èŠä»¶ãšèããããšãã§ããŸãã
ãã©ãããã©ãŒã ã«ã¯ãã³ã³ãããŒã®ã©ã€ããµã€ã¯ã«ã®ç®¡çã«åœ¹ç«ã€ããŸããŸãªçš®é¡ã®ã€ãã³ãããããŸãããã ãããããã®ã©ããèªèããã©ã®ããã«åå¿ãããã決å®ããã®ã¯ã¢ããªã±ãŒã·ã§ã³èªäœæ¬¡ç¬¬ã§ãã
äžéšã®ã€ãã³ããä»ã®ã€ãã³ããããéèŠã§ããããšã¯æããã§ããããšãã°ãã¢ããªã±ãŒã·ã§ã³ãã¯ã©ãã·ã¥ãããŸã蚱容ããªãå Žåã¯ãsignal: terminate (SIGTERM) ã¡ãã»ãŒãžãåãå ¥ããã§ããã ãæ©ãçµäºã«ãŒãã³ãéå§ããŠãSIGTERM ã®åŸã«æ¥ã signal: kill (SIGKILL) ããã£ããããå¿ èŠããããŸãã
ããã«ãPostStart ã PreStop ãªã©ã®ã€ãã³ãã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã©ã€ããµã€ã¯ã«ã«ãšã£ãŠéèŠãªå ŽåããããŸããããšãã°ãã¢ããªã±ãŒã·ã§ã³ãèµ·åããåŸããªã¯ãšã¹ãã«å¿çãããŸã§ã«ãŠã©ãŒã ã¢ããæéãå¿ èŠã«ãªãå ŽåããããŸãããŸãã¯ãã¢ããªã±ãŒã·ã§ã³ã¯ã·ã£ããããŠã³æã«ç¹å¥ãªæ¹æ³ã§ãªãœãŒã¹ã解æŸããå¿ èŠããããŸãã
ç»åäžå€åå (IIP)
ã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ã¯ãç°ãªãç°å¢ã§å®è¡ãããå Žåã§ããæ§ç¯åŸã¯å€æŽãããªãããšãäžè¬çã§ãããã®ãããå®è¡æã«ããŒã¿ ã¹ãã¬ãŒãžãå€éšåãã (ã€ãŸãããã®ããã«å€éšããŒã«ã䜿çšãã) å¿ èŠããããç°å¢ããšã«åºæã®ã³ã³ãããå€æŽãŸãã¯äœæããã®ã§ã¯ãªããå€éšã®å®è¡æåºæã®æ§æã«äŸåããå¿ èŠããããŸããã¢ããªã±ãŒã·ã§ã³ã«å€æŽãå ããåŸã¯ãã³ã³ãã㌠ã€ã¡ãŒãžãåæ§ç¯ããŠã䜿çšãããŠãããã¹ãŠã®ç°å¢ã«ãããã€ããå¿ èŠããããŸãããšããã§ãIT ã·ã¹ãã ã管çããéã«ãããµãŒããŒãã€ã³ãã©ã¹ãã©ã¯ãã£ã®äžå€æ§ã®ååãšããŠç¥ãããåæ§ã®ååã䜿çšãããŸãã
IIP ã®ç®æšã¯ãç°ãªãã©ã³ã¿ã€ã ç°å¢ã«å¯ŸããŠåå¥ã®ã³ã³ãã㌠ã€ã¡ãŒãžãäœæãããã®ãé²ããé©åãªç°å¢åºæã®æ§æãšãšãã«ã©ãã§ãåãã€ã¡ãŒãžã䜿çšã§ããããã«ããããšã§ãããã®ååã«åŸãããšã§ãã¢ããªã±ãŒã·ã§ã³æŽæ°ã®ããŒã«ããã¯ãããŒã«ãã©ã¯ãŒããªã©ãã¯ã©ãŠã ã·ã¹ãã ã®èªååã®èŠ³ç¹ããéèŠãªãã©ã¯ãã£ã¹ãå®è£ ã§ããŸãã
ããã»ã¹äœ¿ãæšãŠåå (PDP)
ã³ã³ããã®æãéèŠãªç¹æ§ã® XNUMX ã€ã¯ãã®äžææ§ã§ããã³ã³ããã®ã€ã³ã¹ã¿ã³ã¹ã¯äœæãç Žæ£ãç°¡åãªã®ã§ããã€ã§ãç°¡åã«å¥ã®ã€ã³ã¹ã¿ã³ã¹ã«çœ®ãæããããšãã§ããŸãããã®ãããªçœ®ãæãã«ã¯ãä¿å®æ§ãã¹ãã®å€±æãã¢ããªã±ãŒã·ã§ã³ã®ã¹ã±ãŒãªã³ã°ãå¥ã®ãã¹ããžã®è»¢éããã©ãããã©ãŒã ãªãœãŒã¹ã®æ¯æžããã®ä»ã®ç¶æ³ãªã©ãããŸããŸãªçç±ãèããããŸãã
ãã®çµæãã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ã¯ãäœããã®å€éšæ段ã䜿çšããŠç¶æ
ãç¶æãããããã®ããã«åé·æ§ã®ããå
éšåæ£ã¹ããŒã ã䜿çšããå¿
èŠããããŸããããã«ãã¢ããªã±ãŒã·ã§ã³ã¯è¿
éã«èµ·åããŠè¿
éã«ã·ã£ããããŠã³ããçªç¶ã®èŽåœçãªããŒããŠã§ã¢é害ã«åããªããã°ãªããŸããã
ãã®ååã®å®è£ ã«åœ¹ç«ã€ XNUMX ã€ã®å®è·µæ¹æ³ã¯ãã³ã³ãããŒãå°ããä¿ã€ããšã§ããã¯ã©ãŠãç°å¢ã§ã¯ãã³ã³ãã ã€ã³ã¹ã¿ã³ã¹ãèµ·åãããã¹ããèªåçã«éžæã§ãããããã³ã³ãããå°ããã»ã©èµ·åãéããªããŸãããããã¯ãŒã¯çµç±ã§ã¿ãŒã²ãã ãã¹ãã«ã³ããŒããã ãã§é«éã«ãªããŸãã
èªå·±å°ã蟌ãåå (S-CP)
ãã®ååã«åŸã£ãŠãçµã¿ç«ãŠæ®µéã§ãå¿ èŠãªãã¹ãŠã®ã³ã³ããŒãã³ããã³ã³ããã«å«ãŸããŸããã³ã³ãããŒã¯ãã·ã¹ãã ã«çŽç²ãª Linux ã«ãŒãã«ã®ã¿ãããããšãåæãšããŠæ§ç¯ããå¿ èŠããããããå¿ èŠãªè¿œå ã©ã€ãã©ãªã¯ãã¹ãŠã³ã³ãããŒèªäœã«é 眮ããå¿ èŠããããŸãããŸãã察å¿ããããã°ã©ãã³ã°èšèªã®ã©ã³ã¿ã€ã ãã¢ããªã±ãŒã·ã§ã³ ãã©ãããã©ãŒã (å¿ èŠãªå Žå)ãã³ã³ãã ã¢ããªã±ãŒã·ã§ã³ã®å®è¡äžã«å¿ èŠãšãªããã®ä»ã®äŸåé¢ä¿ãªã©ãå«ããå¿ èŠããããŸãã
äŸå€ã¯ãç°å¢ããšã«ç°ãªãæ§æã§ãããKubernetes ConfigMap ãªã©ãä»ããŠå®è¡æã«æäŸããå¿ èŠããããŸãã
ã¢ããªã±ãŒã·ã§ã³ã«ã¯ãã³ã³ããåããã Web ã¢ããªã±ãŒã·ã§ã³å ã®åå¥ã® DBMS ã³ã³ãããªã©ãããã€ãã®ã³ã³ããåãããã³ã³ããŒãã³ããå«ãŸããå ŽåããããŸãã S-CP ååã«ããã°ããããã®ã³ã³ãã㯠XNUMX ã€ã«çµåãããã¹ãã§ã¯ãªããDBMS ã³ã³ããã«ã¯ããŒã¿ããŒã¹ã®æäœã«å¿ èŠãªãã®ããã¹ãŠå«ãŸããWeb ã¢ããªã±ãŒã·ã§ã³ ã³ã³ããã«ã¯ Web ã®æäœã«å¿ èŠãªãã®ããã¹ãŠå«ãŸããããã«äœæããå¿ èŠããããŸããã¢ããªã±ãŒã·ã§ã³ãåã Web ãµãŒããŒããã®çµæãå®è¡æã« Web ã¢ããªã±ãŒã·ã§ã³ ã³ã³ãã㯠DBMS ã³ã³ããã«äŸåããå¿ èŠã«å¿ã㊠DBMS ã³ã³ããã«ã¢ã¯ã»ã¹ããŸãã
å®è¡æå¶éåå (RCP)
S-CP ååã¯ãã³ã³ãããŒã®æ§ç¯æ¹æ³ãšã€ã¡ãŒãž ãã€ããªã«äœãå«ããã¹ãããå®çŸ©ããŸããããããã³ã³ããã¯ããã¡ã€ã« ãµã€ãºãšãã XNUMX ã€ã®ç¹æ§ã ããåããåãªãããã©ã㯠ããã¯ã¹ãã§ã¯ãããŸãããå®è¡äžãã³ã³ãããŒã¯ã䜿çšãããã¡ã¢ãªéãCPU æéããã®ä»ã®ã·ã¹ãã ãªãœãŒã¹ãªã©ã®ä»ã®åŽé¢ãæã¡ãŸãã
ãã㧠RCP ååã圹ã«ç«ã¡ãŸããããã«ããã°ãã³ã³ããã¯ã·ã¹ãã ãªãœãŒã¹ã®èŠä»¶ãæºãããŠãã©ãããã©ãŒã ã«è»¢éããå¿
èŠããããŸããåã³ã³ãããŒã®ãªãœãŒã¹ ãããã¡ã€ã« (å¿
èŠãª CPUãã¡ã¢ãªããããã¯ãŒã¯ããã£ã¹ã¯ ãªãœãŒã¹ã®é) ã䜿çšããŠããã©ãããã©ãŒã ã¯ã¹ã±ãžã¥ãŒãªã³ã°ãšèªåã¹ã±ãŒãªã³ã°ãæé©ã«å®è¡ããIT 容éã管çããã³ã³ãããŒã® SLA ã¬ãã«ãç¶æã§ããŸãã
ã³ã³ããã®ãªãœãŒã¹èŠä»¶ãæºããããšã«å ããŠãã¢ããªã±ãŒã·ã§ã³ãç¬èªã®å¢çãè¶ ããªãããšãéèŠã§ããããããªããšããªãœãŒã¹äžè¶³ãçºçãããšãã«ããã©ãããã©ãŒã ãçµäºãŸãã¯ç§»è¡ããå¿ èŠãããã¢ããªã±ãŒã·ã§ã³ã®ãªã¹ãã«ãã®ãªãœãŒã¹ãå«ããå¯èœæ§ãé«ããªããŸãã
ã¯ã©ãŠããã¡ãŒã¹ãã«ã€ããŠèªããšããç§ãã¡ã¯åãæ¹ã«ã€ããŠè©±ããŠããŸãã
äžèšã§ã¯ãã¯ã©ãŠãç°å¢åãã®é«å質ã®ã³ã³ãã ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®æ¹æ³è«çåºç€ã確ç«ããå€ãã®äžè¬ååãå®åŒåããŸããã
ãããã®äžè¬ååã«å ããŠãã³ã³ãããŒãæäœããããã®è¿œå ã®é«åºŠãªæ¹æ³ãšãã¯ããã¯ãå¿ èŠã«ãªãããšã«æ³šæããŠãã ãããããã«ãç¶æ³ã«å¿ããŠé©çšãã (ãŸãã¯é©çšããªã) å¿ èŠããããããå ·äœçãªçãæšå¥šäºé ãããã€ããããŸãã
- ã€ã¡ãŒãžã®ãµã€ãºãæžããããã«ããŠãã ãããäžæãã¡ã€ã«ãåé€ããäžèŠãªããã±ãŒãžãã€ã³ã¹ããŒã«ããªãã§ãã ãããã³ã³ãããŒã®ãµã€ãºãå°ããã»ã©ãã³ã³ãããŒã®ã¢ã»ã³ãã«ãšãããã¯ãŒã¯çµç±ã®ã¿ãŒã²ãã ãã¹ããžã®ã³ããŒãéããªããŸãã
- ä»»æã®ãŠãŒã¶ãŒ ID ã«æ³šç®ããŠãã ãããã³ã³ãããŒã®èµ·åã« sudo ã³ãã³ããç¹å¥ãªãŠãŒã¶ãŒ ID ã䜿çšããªãã§ãã ããã
- éèŠãªããŒãã«ããŒã¯ãä»ãã: å®è¡æã«ããŒãçªå·ãèšå®ã§ããŸãããEXPOSE ã³ãã³ãã䜿çšããŠæå®ããããšããå§ãããŸããããã«ãããä»ã®äººãããã°ã©ã ãã€ã¡ãŒãžã䜿çšãããããªããŸãã
- æ°žç¶ããŒã¿ãããªã¥ãŒã ã«ä¿åãã: ã³ã³ãããŒãç Žæ£ãããåŸãæ®ãã¹ãããŒã¿ã¯ãããªã¥ãŒã ã«æžã蟌ãŸããå¿ èŠããããŸãã
- ç»åã¡ã¿ããŒã¿ãæžã蟌ã: ã¿ã°ãã©ãã«ã泚éã«ããç»åã䜿ãããããªããŸã - ä»ã®éçºè ã¯ããªãã«æè¬ããã§ãããã
- ãã¹ããšã€ã¡ãŒãžãåæãã: äžéšã®ã³ã³ãããŒåã¢ããªã±ãŒã·ã§ã³ã§ã¯ãã³ã³ãããŒãæéããã·ã³ ID ãªã©ã®ç¹å®ã®å±æ§ã§ãã¹ããšåæããå¿ èŠããããŸãã
- çµè«ãšããŠãäžèšã®ååãããå¹æçã«å®è£
ããã®ã«åœ¹ç«ã€ãã³ãã¬ãŒããšãã¹ã ãã©ã¯ãã£ã¹ãå
±æããŸãã
www.slideshare.net/luebken/container-patterns
docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices
docs.projectatomic.io/container-best-practices
docs.openshift.com/enterprise/3.0/creating_images/guidelines.html
www.usenix.org/system/files/conference/hotcloud16/hotcloud16_burns.pdf
leanpub.com/k8spatterns
12factor.net
11æ11.00æ¥XNUMXæXNUMXå
åŠã¶å 容:
- äžå€ã® Red Hat Enterprise Linux CoreOS
- OpenShift ãµãŒãã¹ ã¡ãã·ã¥
- ãªãã¬ãŒã¿ãŒãã¬ãŒã ã¯ãŒã¯
- Knative ãã¬ãŒã ã¯ãŒã¯
åºæïŒ habr.com