é·å¹Žã«ããããPinterest ã® 300 å人ã®ãŠãŒã¶ãŒã¯ã200 å以äžã®ããŒãã« 4 å以äžã®ãã³ãäœæããŠããŸããã ãã®å€æ°ã®ãŠãŒã¶ãŒãšèšå€§ãªã³ã³ãã³ã ããŒã¹ã«ãµãŒãã¹ãæäŸããããã«ãããŒã¿ã«ã¯ãå°æ°ã® CPU ã§åŠçã§ãããã€ã¯ããµãŒãã¹ãããä»®æ³ãã·ã³å
šäœã§å®è¡ããã巚倧ãªã¢ããªã¹ã«è³ããŸã§ãäœåãã®ãµãŒãã¹ãéçºããŠããŸããã ãããŠãäŒæ¥ã®èŠç·ãk8sã«æ³šãããç¬éããã£ãŠæ¥ãŸããã Pinterest ã§ãç«æ¹äœããããæ ããã®ã¯ãªãã§ãã? ããã«ã€ããŠã¯ãæè¿ã®èšäºã®ç¿»èš³ããåŠã¶ããšãã§ããŸãã
ã€ãŸããäœåãã®ãŠãŒã¶ãŒãšäœååãã®ãã³ãååšããŸãã ãã®å€§å¢ã®ãŠãŒã¶ãŒãšèšå€§ãªã³ã³ãã³ã ããŒã¹ã«ãµãŒãã¹ãæäŸããããã«ãç§ãã¡ã¯æ°åã® CPU ã§åŠçã§ãããã€ã¯ããµãŒãã¹ãããä»®æ³ãã·ã³ã®ããªãŒãå
šäœã§å®è¡ããã巚倧ãªã¢ããªã¹ã«è³ããŸã§ãäœåãã®ãµãŒãã¹ãéçºããŠããŸããã ããã«ãCPUãã¡ã¢ãªããŸã㯠I/O ã¢ã¯ã»ã¹ãå¿
èŠãšããããŸããŸãªãã¬ãŒã ã¯ãŒã¯ããããŸãã
ãã®ããŒã«ã®åç©åãç¶æããäžã§ãéçºããŒã ã¯å€ãã®èª²é¡ã«çŽé¢ããŠããŸãã
- ãšã³ãžãã¢ãå®çšŒåç°å¢ãå®è¡ããããã®çµ±äžãããæ¹æ³ã¯ãããŸããã ã¹ããŒãã¬ã¹ ãµãŒãã¹ãã¹ããŒããã« ãµãŒãã¹ãããã³çŸåšéçºäžã®ãããžã§ã¯ãã¯ããŸã£ããç°ãªããã¯ãããžãŒ ã¹ã¿ãã¯ã«åºã¥ããŠããŸãã ããã«ããããšã³ãžãã¢åãã®ãã¬ãŒãã³ã° ã³ãŒã¹å šäœãäœæãããããšã«ãªããã€ã³ãã©ã¹ãã©ã¯ã㣠ããŒã ã®äœæ¥ãå€§å¹ ã«è€éåããŸããã
- ç¬èªã®ä»®æ³ãã·ã³çŸ€ãæã€éçºè ã¯ãå éšç®¡çè ã«å€§ããªè² æ ãäžããŸãã ãã®çµæãOS ã AMI ã®æŽæ°ãªã©ã®åçŽãªæäœã«ã¯æ°é±éããæ°ãæããããŸãã ããã«ãããäžèŠæ¥åžžçãªç¶æ³ã§ãäœæ¥éãå¢å ããŸãã
- æ¢åã®ãœãªã¥ãŒã·ã§ã³ã«å ããŠã°ããŒãã« ã€ã³ãã©ã¹ãã©ã¯ãã£ç®¡çããŒã«ãäœæããããšã®é£ããã ä»®æ³ãã·ã³ã®ææè ãèŠã€ããã®ãç°¡åã§ã¯ãªããšããäºå®ã«ãããç¶æ³ã¯ããã«è€éã«ãªããŸãã ã€ãŸãããã®å®¹éãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ä»ã®éšåã§åäœãããããã«å®å šã«æœåºã§ãããã©ããã¯ããããŸããã
ã³ã³ãã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ã·ã¹ãã ã¯ãã¯ãŒã¯ããŒã管çãçµ±åããæ¹æ³ã§ãã ãããžã§ã¯ãã«é¢ä¿ãããã¹ãŠã®ãªãœãŒã¹ã XNUMX ã€ã®éäžã·ã¹ãã ã§ç®¡çããããããéçºé床ãåäžããã€ã³ãã©ã¹ãã©ã¯ãã£ç®¡çãç°¡çŽ åãããŸãã
å³ 1: ã€ã³ãã©ã¹ãã©ã¯ãã£ã®åªå
é äœ (ä¿¡é Œæ§ãéçºè
ã®çç£æ§ãå¹çæ§)ã
Pinterest ã®ã¯ã©ãŠã管çãã©ãããã©ãŒã ããŒã ã¯ã8 幎㫠K2017 ãçºèŠããŸããã 2017 幎ååãŸã§ã«ãAPI ããã¹ãŠã® Web ãµãŒããŒãå«ããã»ãšãã©ã®éçšæ©èœãææžåããŸããã ãã®åŸãã³ã³ãã ãœãªã¥ãŒã·ã§ã³ã®èª¿æŽãã¯ã©ã¹ã¿ã®æ§ç¯ãããã³é£æºã®ããã®ããŸããŸãªã·ã¹ãã ã®åŸ¹åºçãªè©äŸ¡ãå®æœããŸããã 2017 幎ã®çµããé ãç§ãã¡ã¯ Kubernetes ã䜿çšããããšã«æ±ºããŸããã ããã¯éåžžã«æè»ã§ãéçºè ã³ãã¥ããã£ã§åºããµããŒããããŠããŸããã
ãããŸã§ã«ãKops ã«åºã¥ããŠç¬èªã®ã¯ã©ã¹ã¿ãŒ ããŒã ããŒã«ãæ§ç¯ãããããã¯ãŒãã³ã°ãã»ãã¥ãªãã£ãã¡ããªã¯ã¹ããã®ã³ã°ãã¢ã€ãã³ãã£ãã£ç®¡çããã©ãã£ãã¯ãªã©ã®æ¢åã®ã€ã³ãã©ã¹ãã©ã¯ã㣠ã³ã³ããŒãã³ãã Kubernetes ã«ç§»è¡ããŠããŸããã ãŸãããªãœãŒã¹ã®ã¯ãŒã¯ããŒã ã¢ããªã³ã° ã·ã¹ãã ãå®è£ ããŸãããããã®è€éãã¯éçºè ã«ã¯é ãããŠããŸãã çŸåšãç§ãã¡ã¯ã¯ã©ã¹ã¿ãŒã®å®å®æ§ã確ä¿ããã¯ã©ã¹ã¿ãŒãæ¡åŒµããæ°ããã¯ã©ã€ã¢ã³ããæ¥ç¶ããããšã«éç¹ã眮ããŠããŸãã
Kubernetes: Pinterest ã®ããæ¹
åœç€Ÿã®ãšã³ãžãã¢ã奜ããã©ãããã©ãŒã ãšã㊠Pinterest ã®èŠæš¡ã§ Kubernetes ã䜿ãå§ããã«ã¯ãå€ãã®èª²é¡ã䌎ããŸããã
倧äŒæ¥ãšããŠãåœç€Ÿã¯ã€ã³ãã©ã¹ãã©ã¯ã㣠ããŒã«ã«å€é¡ã®æè³ãè¡ã£ãŠããŸããã äŸã«ã¯ã蚌ææžã®åŠçãšããŒã®é åžãåŠçããã»ãã¥ãªã㣠ããŒã«ããã©ãã£ãã¯å¶åŸ¡ã³ã³ããŒãã³ãããµãŒãã¹æ€åºã·ã¹ãã ãå¯èŠæ§ã³ã³ããŒãã³ãããã°ãšã¡ããªã¯ã¹ã®ãã£ã¹ããã ã³ã³ããŒãã³ããå«ãŸããŸãã ããããã¹ãŠã«ã¯çç±ããã£ãŠéããããã®ã§ããç§ãã¡ã¯éåžžã®è©Šè¡é¯èª€ã®éãçµãŠãããããæ°ãããã©ãããã©ãŒã ã§å€ãè»èŒªãåçºæããã®ã§ã¯ãªããããããã¹ãŠã®æ©åšã Kubernetes äžã®æ°ããã€ã³ãã©ã¹ãã©ã¯ãã£ã«çµ±åããããšèããŸããã ãã®ã¢ãããŒãã§ã¯ããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ ãµããŒãããã§ã«ååšããæåããäœæããå¿ èŠããªãããã移è¡ãå šäœçã«ç°¡çŽ åãããŸããã
äžæ¹ã§ãKubernetes èªäœã®è² è·äºæž¬ã¢ãã« (ãããã€ã¡ã³ãããžã§ããããŒã¢ã³ ã»ãããªã©) ã¯ãç§ãã¡ã®ãããžã§ã¯ãã«ã¯ååã§ã¯ãããŸããã ãããããŠãŒã¶ããªãã£ã®åé¡ã¯ãKubernetes ãžã®ç§»è¡ã«ãšã£ãŠå€§ããªéå£ãšãªããŸãã ããšãã°ããã°ã€ã³èšå®ãæ¬ èœããŠããããŸãã¯æ£ãããªããšãããµãŒãã¹éçºè ããã®èŠæ ãèããããšããããŸãã ãŸããåãä»æ§ãšã¿ã¹ã¯ã§äœçŸãã®ã³ããŒãäœæãããå Žåããã³ãã¬ãŒã ãšã³ãžã³ã®èª€ã£ã䜿çšã«ãééããæªå€¢ã®ãããªãããã°åé¡ãçºçããŸããã
åãã¯ã©ã¹ã¿ãŒå ã§ç°ãªãããŒãžã§ã³ãç¶æããããšãéåžžã«å°é£ã§ããã åãã©ã³ã¿ã€ã ç°å¢ã®è€æ°ã®ããŒãžã§ã³ã§ããã¹ãŠã®åé¡ããã°ãã¢ããããŒããåæã«åŠçããå¿ èŠãããå Žåã®ã«ã¹ã¿ã㌠ãµããŒãã®è€éããæ³åããŠã¿ãŠãã ããã
Pinterest ãŠãŒã¶ãŒã®ããããã£ãšã³ã³ãããŒã©ãŒ
ãšã³ãžãã¢ã«ãã Kubernetes ã®å®è£ ã容æã«ããã€ã³ãã©ã¹ãã©ã¯ãã£ãç°¡çŽ åããŠé«éåããããã«ãåœç€Ÿã¯ç¬èªã®ã«ã¹ã¿ã ãªãœãŒã¹å®çŸ© (CRD) ãéçºããŸããã
CRD ã¯æ¬¡ã®æ©èœãæäŸããŸãã
- ããŸããŸãªãã€ãã£ã Kubernetes ãªãœãŒã¹ãçµã¿åãããŠãåäžã®ã¯ãŒã¯ããŒããšããŠæ©èœããããã«ããŸãã ããšãã°ãPinterestService ãªãœãŒã¹ã«ã¯ããããã€ã¡ã³ãããã°ã€ã³ ãµãŒãã¹ãæ§æããããå«ãŸããŠããŸãã ããã«ãããéçºè 㯠DNS ã®èšå®ã«ã€ããŠå¿é ããå¿ èŠããªããªããŸãã
- å¿ èŠãªã¢ããªã±ãŒã·ã§ã³ã®ãµããŒããå®è£ ããŸãã ãŠãŒã¶ãŒã¯ããžãã¹ ããžãã¯ã«åŸã£ãŠã³ã³ãããŒã®ä»æ§ã®ã¿ã«æ³šç®ããå¿ èŠããããŸãããCRD ã³ã³ãããŒã©ãŒã¯å¿ èŠãªåæã³ã³ãããŒãç°å¢å€æ°ãããã³ãããã®ä»æ§ããã¹ãŠå®è£ ããŸãã ããã«ãããéçºè ã«ã¯æ ¹æ¬çã«ç°ãªãã¬ãã«ã®å¿«é©ããæäŸãããŸãã
- CRD ã³ã³ãããŒã©ãŒã¯ããã€ãã£ã ãªãœãŒã¹ã®ã©ã€ããµã€ã¯ã«ã管çãããããã°ã®å¯çšæ§ãåäžãããŸãã ããã«ã¯ãæãŸããä»æ§ãšå®éã®ä»æ§ã®èª¿æŽãCRD ã¹ããŒã¿ã¹ã®æŽæ°ãã€ãã³ã ãã°ã®ç¶æãªã©ãå«ãŸããŸãã CRD ããªããã°ãéçºè ã¯è€æ°ã®ãªãœãŒã¹ã管çããå¿ èŠãããããšã©ãŒã®å¯èœæ§ãé«ãŸãã ãã§ãã
以äžã¯ãPinterestService ãšã³ã³ãããŒã©ãŒã«ãã£ãŠç®¡çãããå éšãªãœãŒã¹ã®äŸã§ãã
äžã§ãããããã«ãã«ã¹ã¿ã ã³ã³ããããµããŒãããã«ã¯ãã»ãã¥ãªãã£ãå¯èŠæ§ãããã³ãããã¯ãŒã¯ ãã©ãã£ãã¯ãæäŸããããã«ãinit ã³ã³ãããšããã€ãã®ã¢ããªã³ãçµ±åããå¿
èŠããããŸãã ããã«ãæ§æããã ãã³ãã¬ãŒããäœæããããã ãžã§ãçšã® PVC ãã³ãã¬ãŒãã®ãµããŒããå®è£
ããã»ããIDããªãœãŒã¹æ¶è²»ãã¬ããŒãž ã³ã¬ã¯ã·ã§ã³ã远跡ããããã®è€æ°ã®ç°å¢å€æ°ã®è¿œè·¡ãå®è£
ããŸããã
éçºè ã CRD ãµããŒããªãã§ãããã®æ§æãã¡ã€ã«ãæåã§äœæããããšãæããšã¯æ³åãã«ããã§ãããŸããŠããæ§æãããã«ä¿å®ããããããã°ãããããããšã¯èšããŸã§ããããŸããã
ã¢ããªã±ãŒã·ã§ã³å°å ¥ã¯ãŒã¯ãããŒ
äžã®ç»åã¯ãPinterest ã«ã¹ã¿ã ãªãœãŒã¹ã Kubernetes ã¯ã©ã¹ã¿ãŒã«ãããã€ããæ¹æ³ã瀺ããŠããŸãã
- éçºè ã¯ãCLI ãšãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ãéã㊠Kubernetes ã¯ã©ã¹ã¿ãŒãšå¯Ÿè©±ããŸãã
- CLI/UI ããŒã«ã¯ãã¯ãŒã¯ãããŒæ§æ YAML ãã¡ã€ã«ãšãã®ä»ã®ãã«ã ãããã㣠(åãããŒãžã§ã³ ID) ã Artifactory ããååŸãããããããžã§ãéä¿¡ãµãŒãã¹ã«éä¿¡ããŸãã ãã®æé ã«ãããéçšããŒãžã§ã³ã®ã¿ãã¯ã©ã¹ã¿ãŒã«é ä¿¡ãããããã«ãªããŸãã
- JSS ã¯ãKubernetes ãå«ãããŸããŸãªãã©ãããã©ãŒã ã®ã²ãŒããŠã§ã€ã§ãã ããã§ãŠãŒã¶ãŒãèªèšŒãããã¯ã©ãŒã¿ãçºè¡ãããCRD ã®æ§æãéšåçã«ãã§ãã¯ãããŸãã
- JSSåŽã§CRDã確èªããåŸãk8sãã©ãããã©ãŒã APIã«æ å ±ãéä¿¡ããŸãã
- CRD ã³ã³ãããŒã©ãŒã¯ããã¹ãŠã®ãŠãŒã¶ãŒ ãªãœãŒã¹äžã®ã€ãã³ããç£èŠããŸãã CR ããã€ãã£ã k8s ãªãœãŒã¹ã«å€æããå¿ èŠãªã¢ãžã¥ãŒã«ãè¿œå ããé©åãªç°å¢å€æ°ãèšå®ãããã®ä»ã®ãµããŒãäœæ¥ãå®è¡ããŠãã³ã³ããåããããŠãŒã¶ãŒ ã¢ããªã±ãŒã·ã§ã³ãååãªã€ã³ãã©ã¹ãã©ã¯ã㣠ãµããŒãã確ä¿ã§ããããã«ããŸãã
- 次ã«ãCRD ã³ã³ãããŒã©ãŒã¯åä¿¡ããããŒã¿ã Kubernetes API ã«æž¡ããã¹ã±ãžã¥ãŒã©ãŒã«ãã£ãŠåŠçãããŠå®çšŒåç°å¢ã«æå ¥ã§ããããã«ããŸãã
泚æ: ãã®ãã¬ãªãªãŒã¹å±éã¯ãŒã¯ãããŒã¯ãæ°ãã k8s ãã©ãããã©ãŒã ã®æåã®ãŠãŒã¶ãŒåãã«äœæãããŸããã çŸåšãæ°ãã CI/CD ãšå®å šã«çµ±åããããã«ãã®ããã»ã¹ãæ¹è¯äžã§ãã ã€ãŸããKubernetes ã«é¢é£ãããã¹ãŠããäŒãããããšã¯ã§ããŸããã 次åã®ããã°æçš¿ãPinterest çšã® CI/CD ãã©ãããã©ãŒã ã®æ§ç¯ãã§ããã®æ¹åã«ãããç§ãã¡ã®çµéšãšããŒã ã®é²æç¶æ³ãå ±æã§ããããšã楜ãã¿ã«ããŠããŸãã
ç¹æ®ãªãœãŒã¹ã®çš®é¡
ÐÑÑ ÐŸÐŽÑ ÐžÐ· кПМкÑеÑÐœÑÑ Ð¿ÐŸÑÑебМПÑÑей Pinterest, ÐŒÑ ÑазÑабПÑалО ÑлеЎÑÑÑОе CRD, кПÑПÑÑе Ð¿ÐŸÐŽÑ ÐŸÐŽÑÑ ÐŽÐ»Ñ ÑазлОÑÐœÑÑ ÑабПÑÐžÑ Ð¿ÑПÑеÑÑПв:
- PinterestService ã¯ãé·æéã«ããã£ãŠå®è¡ãããŠããã¹ããŒãã¬ã¹ãªãµãŒãã¹ã§ãã åœç€Ÿã®ã³ã¢ ã·ã¹ãã ã®å€ãã¯ããã®ãããªãµãŒãã¹ã®ã»ããã«åºã¥ããŠããŸãã
- PinterestJobSet ã¯ãã«ãµã€ã¯ã«ã®ããã ãžã§ããã¢ãã«åããŸãã Pinterest ã§ã®äžè¬çãªã·ããªãªã¯ãä»ã®åæ§ã®ããã»ã¹ã«é¢ä¿ãªããè€æ°ã®ãžã§ããåãã³ã³ããã䞊è¡ããŠå®è¡ããããšã§ãã
- PinterestCronJob ã¯ãå°èŠæš¡ãªå®æçãªè² è·ãšçµã¿åãããŠåºã䜿çšãããŠããŸãã ããã¯ãã»ãã¥ãªãã£ããã©ãã£ãã¯ããã°ãã¡ããªã¯ã¹ãæ åœãã Pinterest ãµããŒã ã¡ã«ããºã ã䜿çšãããã€ãã£ã cron äœæ¥ã®ã©ãããŒã§ãã
- PinterestDaemon ã«ã¯ã€ã³ãã©ã¹ãã©ã¯ã㣠ããŒã¢ã³ãå«ãŸããŠããŸãã ãã®ãã¡ããªãŒã¯ãã¯ã©ã¹ã¿ãŒã«ãµããŒããè¿œå ããã«ã€ããŠæé·ãç¶ããŸãã
- PinterestTrainingJob 㯠Tensorflow ããã³ Pytorch ããã»ã¹ã«æ¡åŒµãããä»ã®ãã¹ãŠã® CRD ãšåãã¬ãã«ã®ã©ã³ã¿ã€ã ãµããŒããæäŸããŸãã Pinterest 㯠Tensorflow ããã®ä»ã®æ©æ¢°åŠç¿ã·ã¹ãã ãç©æ¥µçã«äœ¿çšããŠãããããããããäžå¿ã«å¥ã® CRD ãæ§ç¯ããçç±ããããŸããã
ãŸããéããªãããŒã¿ ãŠã§ã¢ããŠã¹ããã®ä»ã®ã¹ããŒããã« ã·ã¹ãã ã«é©å¿ããã PinterestStatefulSet ã«ãåãçµãã§ããŸãã
ã©ã³ã¿ã€ã ãµããŒã
ã¢ããªã±ãŒã·ã§ã³ ãããã Kubernetes äžã§å®è¡ããããšãããèªäœãèå¥ããããã®èšŒææžãèªåçã«åãåããŸãã ãã®èšŒææžã¯ãã·ãŒã¯ã¬ãã ã¹ãã¬ãŒãžã«ã¢ã¯ã»ã¹ããããmTLS çµç±ã§ä»ã®ãµãŒãã¹ãšéä¿¡ãããããããã«äœ¿çšãããŸãã äžæ¹ãContainer Init Configurator ãš Daemon ã¯ãã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ãå®è¡ããåã«ãå¿ èŠãªäŸåé¢ä¿ããã¹ãŠããŠã³ããŒãããŸãã ãã¹ãŠã®æºåãå®äºãããšããã©ãã£ã㯠ãµã€ãã«ãŒãšããŒã¢ã³ã¯ã¢ãžã¥ãŒã«ã® IP ã¢ãã¬ã¹ã Zookeeper ã«ç»é²ããã¯ã©ã€ã¢ã³ããã¢ãžã¥ãŒã«ãæ€åºã§ããããã«ããŸãã ã¢ããªã±ãŒã·ã§ã³ãèµ·åãããåã«ãããã¯ãŒã¯ ã¢ãžã¥ãŒã«ãèšå®ãããŠãããããããã¯ãã¹ãŠæ©èœããŸãã
äžèšã¯ãã¯ãŒã¯ããŒãã®ã©ã³ã¿ã€ã ãµããŒãã®å žåçãªäŸã§ãã ä»ã®ã¿ã€ãã®ã¯ãŒã¯ããŒãã§ã¯è¥å¹²ç°ãªããµããŒããå¿ èŠã«ãªãå ŽåããããŸããããããã¯ãã¹ãŠããã ã¬ãã«ã®ãµã€ãã«ãŒãããŒã ã¬ãã«ãŸãã¯ä»®æ³ãã·ã³ ã¬ãã«ã®ããŒã¢ã³ã®åœ¢åŒã§æäŸãããŸãã ããããã¹ãŠã管çã€ã³ãã©ã¹ãã©ã¯ãã£å ã«å±éãããã¢ããªã±ãŒã·ã§ã³éã§äžè²«ããŠããããšãä¿èšŒãããããæçµçã«ã¯æè¡çãªäœæ¥ãšé¡§å®¢ãµããŒãã®é¢ã§ã®è² æ ãå€§å¹ ã«è»œæžãããŸãã
ãã¹ããšQA
æ¢åã® Kubernetes ãã¹ã ã€ã³ãã©ã¹ãã©ã¯ãã£äžã«ãšã³ãããŒãšã³ãã®ãã¹ã ãã€ãã©ã€ã³ãæ§ç¯ããŸããã ãããã®ãã¹ãã¯ãã¹ãŠã®ã¯ã©ã¹ã¿ãŒã«é©çšãããŸãã ç§ãã¡ã®ãã€ãã©ã€ã³ã¯ã補åã¯ã©ã¹ã¿ãŒã®äžéšãšãªããŸã§ã«å€ãã®æ¹èšãçµãŸããã
åœç€Ÿã§ã¯ããã¹ã ã·ã¹ãã ã«å ããŠãã·ã¹ãã ã³ã³ããŒãã³ãã®ã¹ããŒã¿ã¹ããªãœãŒã¹æ¶è²»ããã®ä»ã®éèŠãªææšãåžžã«ç£èŠãã人éã®ä»å ¥ãå¿ èŠãªå Žåã«ã®ã¿éç¥ããç£èŠããã³èŠåã·ã¹ãã ãåããŠããŸãã
代æ¿æ¡
ç§ãã¡ã¯ããã¥ãŒããŒã·ã§ã³ ã¢ã¯ã»ã¹ ã³ã³ãããŒã©ãŒããã³ãã¬ãŒã ã·ã¹ãã ãªã©ãã«ã¹ã¿ã ãªãœãŒã¹ã®ä»£æ¿æ段ãããã€ãæ€èšããŸããã ãã ãããããã¯ãã¹ãŠéçšäžã®é倧ãªèª²é¡ã䌎ããããç§ãã¡ã¯ CRD ã«ãŒããéžæããŸããã
ãã¥ãŒããŒã·ã§ã³ ã¢ãããã·ã§ã³ ã³ã³ãããŒã©ãŒã䜿çšããŠããµã€ãã«ãŒãç°å¢å€æ°ããã®ä»ã®ã©ã³ã¿ã€ã ãµããŒããå°å ¥ãããŸããã ããããCRD ã§ã¯çºçããªããªãœãŒã¹ ãã€ã³ãã£ã³ã°ãã©ã€ããµã€ã¯ã«ç®¡çãªã©ãããŸããŸãªåé¡ã«çŽé¢ããŸããã
泚æïŒ Helm ãã£ãŒããªã©ã®ãã³ãã¬ãŒã ã·ã¹ãã ããåæ§ã®æ§æã§ã¢ããªã±ãŒã·ã§ã³ãå®è¡ããããã«åºã䜿çšãããŠããŸãã ãã ããä»äºã®ã¢ããªã±ãŒã·ã§ã³ã¯å€æ§ãããŠããã³ãã¬ãŒãã䜿çšããŠç®¡çããããšã¯ã§ããŸããã ãŸããç¶ç¶çãªãããã€äžã«ããã³ãã¬ãŒãã䜿çšãããšãšã©ãŒãå€ãããŸãã
ä»åŸã®ä»äº
çŸåšããã¹ãŠã®ã¯ã©ã¹ã¿ãŒã«ãããæ··åè² è·ã«å¯ŸåŠããŠããŸãã ãã®ãããªããŸããŸãªçš®é¡ãèŠæš¡ã®ããã»ã¹ããµããŒãããããã«ãç§ãã¡ã¯æ¬¡ã®åéã«åãçµãã§ããŸãã
- ã¯ã©ã¹ã¿ãŒã®éåã«ãããã¹ã±ãŒã©ããªãã£ãšå®å®æ§ã確ä¿ããããã«ã倧èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ãããŸããŸãªã¯ã©ã¹ã¿ãŒã«åæ£ãããŸãã
- ã¯ã©ã¹ã¿ãŒã®å®å®æ§ãæ¡åŒµæ§ãå¯èŠæ§ã確ä¿ããŠãã¢ããªã±ãŒã·ã§ã³ã®æ¥ç¶æ§ãš SLA ãäœæããŸãã
- ã¢ããªã±ãŒã·ã§ã³ãäºãã«ç«¶åããªãããã«ãªãœãŒã¹ãšã¯ã©ãŒã¿ã管çããã¯ã©ã¹ã¿ãŒã®èŠæš¡ãå¶åŸ¡ããŸãã
- Kubernetes äžã§ã¢ããªã±ãŒã·ã§ã³ããµããŒãããã³ãããã€ããããã®æ°ãã CI/CD ãã©ãããã©ãŒã ã
åºæïŒ habr.com