Web ãµã€ãéçºã®äžçã§ã¯ãKubernetes ã¯ãã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ã®ãããã€ãã¹ã±ãŒãªã³ã°ã管çãèªååããç»æçãªãªãŒãã³ãœãŒã¹ ã³ã³ãã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ãã©ãããã©ãŒã ã§ãããã®åŒ·åãªãœãªã¥ãŒã·ã§ã³ã¯ãããšããš Google ã«ãã£ãŠéçºãããçŸåšã¯ Cloud Native Computing Foundation (CNCF) ã«ãã£ãŠç¶æãããŠãããè€éãªã¢ããªã±ãŒã·ã§ã³ãå€§èŠæš¡ã«å®è¡ããéã®éçšäžã®èª²é¡ãç°¡çŽ åããäžã§éèŠãªåœ¹å²ãæãããŠãããå¢å€§ããããŒãºã«å¯Ÿå¿ããããšããŠããçµç¹ã«ãšã£ãŠäžå¯æ¬ ãªãã®ãšãªã£ãŠããŸããå¹ççã§ä¿¡é Œæ§ã®é«ããœãããŠã§ã¢éçºãæ±ããããŠããŸãã
Kubernetes ã¯ãè€æ°ã®ãã¹ãã«ãããã³ã³ããã®ã¯ã©ã¹ã¿ãåŠçããããã®çµ±åãã¬ãŒã ã¯ãŒã¯ãæäŸããéçºè ãã¢ããªã±ãŒã·ã§ã³ããã€ã¯ããµãŒãã¹ãšåŒã°ããå°ããªã³ã³ããŒãã³ãã«åå²ããã³ã³ããããŒã¹ã®ãŠããããšããŠãããã€ã§ããããã«ããŸãããã®ã¢ãããŒãã«ãããã¢ããªã±ãŒã·ã§ã³ãšãã®ã€ã³ãã©ã¹ãã©ã¯ã㣠ã³ã³ããŒãã³ãã®äž¡æ¹ã«å¯ŸããŠãããé«åºŠãªæè»æ§ãæ¡åŒµæ§ã埩å åãä¿èšŒãããŸãã Kubernetes ã®äž»ãªå©ç¹ã¯ãã³ã³ããã®ã©ã€ããµã€ã¯ã«ã管çããã³ã³ããã®èªåããŒã«ã¢ãŠããšããŒã«ããã¯ãå®çŸããã³ã³ãã ãµãŒãã¹ã®é«å¯çšæ§ãç¶æããã³ã³ãã ã€ã³ã¹ã¿ã³ã¹éã®è² è·åæ£ãæé©åããããšã§ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã®å¹ççãªäœ¿çšãä¿é²ã§ããããšã§ãã
Kubernetes ã®äžæ žãšãªãæ§æèŠçŽ ã«ã¯æ¬¡ã®ãã®ããããŸãã
- ããŒã: Kubernetes ã¯ã©ã¹ã¿ãŒã®åºæ¬åäœã§ããããŒãã¯ãã³ã³ãããŒãå®è¡ããç©çãã·ã³ãŸãã¯ä»®æ³ãã·ã³ã§ããã¯ãŒã¯ããŒãèŠä»¶ã«åºã¥ããŠãã¯ã©ã¹ã¿ãŒã«ããŒããç°¡åã«è¿œå ãŸãã¯ã¯ã©ã¹ã¿ãŒããåé€ã§ããŸãã
- ããã: Kubernetes ãªããžã§ã¯ã ã¢ãã«ã®æå°ãã€æãåçŽãªåäœã§ãããããã¯ãå®è¡äžã®ããã»ã¹ã®åäžã€ã³ã¹ã¿ã³ã¹ã衚ãã1 ã€ä»¥äžã®ã³ã³ãããå«ããããšãã§ããŸãããããå ã®ã³ã³ãããŒã¯ãå ±éã®ãããã¯ãŒã¯åå空éãšã¹ãã¬ãŒãž ããªã¥ãŒã ãå ±æããŸãã
- ãµãŒãã¹: Kubernetes ãµãŒãã¹ã¯ããããã®è«çã»ãããšãããã«ã¢ã¯ã»ã¹ããããã®ãããã¯ãŒã¯ ããªã·ãŒãå®çŸ©ããæœè±¡æŠå¿µã§ãããµãŒãã¹ã¯å®å®ãã IP ã¢ãã¬ã¹ãš DNS åãæäŸããã¢ããªã±ãŒã·ã§ã³ã®ããŸããŸãªã³ã³ããŒãã³ãéã®ã·ãŒã ã¬ã¹ãªéä¿¡ãå¯èœã«ããŸãã
- Ingress: Ingress ã¯ãå€éšãã©ãã£ãã¯ã Kubernetes ã¯ã©ã¹ã¿ãŒå ã§å®è¡ãããŠãããµãŒãã¹ã«å°éã§ããããã«ããã«ãŒã«ãå®çŸ©ãã API ãªããžã§ã¯ãã§ããããã«ãããè² è·åæ£ãSSL çµç«¯ãåä¿¡ãã©ãã£ãã¯ã®ãã¹ããŸãã¯ãã¹ããŒã¹ã®ã«ãŒãã£ã³ã°ãå¯èœã«ãªããŸãã
- ConfigMaps ãš Secrets: ConfigMap ãš Secrets ã¯ããããæ§æããŒã¿ãšæ©å¯æ å ±ãä¿åãããªããžã§ã¯ãã§ãéçºè ã¯ã¢ããªã±ãŒã·ã§ã³åºæã®èšå®ãšè³æ Œæ å ±ãã³ã³ãã㌠ã€ã¡ãŒãžãšã¯å¥ã«ç®¡çã§ããŸãã
ãããã®ã³ã³ããŒãã³ããæŽ»çšããããšã§ãKubernetes ã䜿çšãããšãã¢ããªã±ãŒã·ã§ã³éçºè ã¯åºç€ãšãªãã€ã³ãã©ã¹ãã©ã¯ãã£ãæ°ã«ããããšãªããã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ããããã€ããã³ç®¡çã§ããããã«ãªããDevOps ããŒã ãšã€ã³ãã©ã¹ãã©ã¯ã㣠ããŒã ã管çã§ããããã«ãªããŸãããã®æžå¿µã®åé¢ã«ãããéçºãµã€ã¯ã«ãççž®ãããã¢ããªã±ãŒã·ã§ã³ã®åžå Žæå ¥ãŸã§ã®æéãççž®ãããŸãã
ããšãã°ã AppMasterno-codeãã©ãããã©ãŒã ã¯ãããŒã¿ ã¢ãã«ãšããžãã¹ ããžãã¯ããã«ãŒããªã³ããšããŠèŠèŠçã«çæããããšã§ãããã¯ãšã³ããWebãããã³ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã»ã¹ãç°¡çŽ åããŸãããããã®ãã«ãŒããªã³ãããããã€ããããšãGoãVue.jsãKotlin ãªã©ã®æå 端ã®ãã¯ãããžãŒã䜿çšããŠæ§ç¯ãããå®å šã«æ©èœããã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ã«å€æãããDocker ã³ã³ããã«ã«ãã»ã«åãããŠã¯ã©ãŠãã«ãããã€ãããŸãã AppMaster ãåºç€ãšãªãã³ã³ãã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ãã©ãããã©ãŒã ãšã㊠Kubernetes ãæ¡çšããããšã§ãæãèŠæ±ã®å³ããã¯ãŒã¯ããŒãã䜿çšã·ããªãªã®äžã§ããã¢ããªã±ãŒã·ã§ã³ã®ã¹ã±ãŒã©ããªãã£ãå埩åãããã©ãŒãã³ã¹ãé«ãç¶æãããããšãä¿èšŒããŸãããã®å æ¬çãªã¢ãããŒãã«ãããçµç¹ã¯æè¡çè² åµãè² ãããšãªãã10 åé«éã〠3 åã®ã³ã¹ãå¹çã®é«ãã¢ããªã±ãŒã·ã§ã³ã®éçºãå±éã管çãè¡ãããšãã§ããŸãã
æè¿ã® CNCF 調æ»ã«ãããšãåçè ã®ã»ãŒ 83% ãéçšç°å¢ã§ Kubernetes ã䜿çšããŠãããšå ±åããŠããããã®åŒ·åãªãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ãã©ãããã©ãŒã ã®æ¡çšã®å¢å ãåæ ããŠããŸããããã«ãKubernetes ã®æ¡åŒµæ§ã«ãããAWSãAzureãGoogle Cloud Platform ãªã©ã®ã¯ã©ãŠã ãããã€ããŒã CI/CD ãã€ãã©ã€ã³ãç£èŠã·ã¹ãã ãªã©ãããŸããŸãªãã©ãããã©ãŒã ãããŒã«ãšçµ±åã§ããŸãã
Kubernetes ã«ã¯å€ãã®å©ç¹ããããŸãããåŠç¿æ²ç·ãæ¥ã§ããããšã«ã泚æããããšãéèŠã§ãããããã AppMasterã®ãããªäŒæ¥ã¯ãåºç€ãšãªããã¯ãããžãŒãæœè±¡åããæŽç·Žããããã©ãããã©ãŒã ãæäŸããããšã§ Kubernetes ã®è€éããåçåããéçºè ãäŒæ¥ãã³ã¢ ã³ã³ããã³ã·ãŒã«éäžã§ããããã«ããŸããã
èŠçŽãããšãKubernetes ã¯ã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ã®ç®¡çããããã€ãæ¡åŒµã®æ¹æ³ã«é©åœããããããWeb ãµã€ãéçºã®å°éå®¶ã«å ç¢ã§æ¡åŒµå¯èœãªã³ã³ãã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ãã©ãããã©ãŒã ãæäŸããŸãã Kubernetes ã®ãã¯ãŒã掻çšãã AppMasterno-codeãã©ãããã©ãŒã ã®ãããªãœãªã¥ãŒã·ã§ã³ã®ã·ã³ãã«ããæŽ»çšããããšã§ãçµç¹ã¯åŸæ¥ã®ãœãããŠã§ã¢éçºããã»ã¹ã«ãããæéãšã³ã¹ãã®æ°åã® 1 ã§ãå埩åãšã¹ã±ãŒã©ãã«ãªã¢ããªã±ãŒã·ã§ã³ãå¹ççã«éçºãå±éã管çã§ããŸãã