ãµãŒããŒã¬ã¹ ã³ã³ãã¥ãŒãã£ã³ã°ã®ã³ã³ããã¹ãã§ã¯ããIngressãã¯ããã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ããµãŒããŒã¬ã¹ ã³ã³ãã¥ãŒãã£ã³ã°ç°å¢ãªã©ã®åæ£ã·ã¹ãã å ã®ç¹å®ã®ãµãŒãã¹ã«ã«ãŒãã£ã³ã°ãããåä¿¡ãããã¯ãŒã¯ ãã©ãã£ã㯠(é垞㯠HTTP/HTTPS ãªã¯ãšã¹ã) ã管çããããã»ã¹ãæããŸããããã¯ãã·ã¹ãã ã®ãªãœãŒã¹ãžã®å€éšã¢ã¯ã»ã¹ãå¶åŸ¡ããã·ã¹ãã ã®ããã©ãŒãã³ã¹ãšä¿¡é Œæ§ãç¶æããããã«äžå¯æ¬ ãªé©åãªãªã¯ãšã¹ã ã«ãŒãã£ã³ã°ãè² è·åæ£ãããã³ã»ãã¥ãªãã£æ§æãä¿èšŒããäžã§éèŠãªåœ¹å²ãæãããŸãã
ãµãŒããŒã¬ã¹ ã³ã³ãã¥ãŒãã£ã³ã°ã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã¯å¿ èŠã«å¿ããŠèªåçã«æ¡åŒµããããã«èšèšãããŠãããã¢ããªã±ãŒã·ã§ã³éçºè ã管çãããµãŒããŒäžã§ãã¹ããããããšã¯ãããŸããã代ããã«ãã¯ã©ãŠã ãããã€ããŒããªãœãŒã¹ãåçã«å²ãåœãŠãã¢ããªã±ãŒã·ã§ã³ãè¿ éã«ããããžã§ãã³ã°ãã¹ã±ãŒãªã³ã°ããªãªãŒã¹ã§ããããã«ããŸãããµãŒããŒã¬ã¹ ã»ããã¢ããã«ã¯ãµãŒããŒãååšããªããšããããšã¯ãã€ã³ã°ã¬ã¹ ããã»ã¹ãå«ããããã¯ãŒã¯ ã³ã³ããŒãã³ããã¢ããªã±ãŒã·ã§ã³å ããåŠçããããã¯ã©ãŠã ãããã€ããŒãæäŸããå€éšã³ã³ããŒãã³ãã®å©ããåããŠåŠçããå¿ èŠãããããšãæå³ããŸããããã«ãããéçºè ã¯åºç€ãšãªãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ç®¡çã§ã¯ãªããã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ ããžãã¯ã«éäžã§ããããã«ãªããŸãã
Ingress ã¯ãURL ãã¹ããã¹ãããã®ä»ã®ã«ã¹ã¿ã ã«ãŒã«ãªã©ã®ããŸããŸãªèŠçŽ ã«å¿ããŠãåä¿¡ãªã¯ãšã¹ããé©åãªãµãŒããŒã¬ã¹æ©èœãŸãã¯ãµãŒãã¹ã«æ£ããã«ãŒãã£ã³ã°ãããããã«ããããããµãŒããŒã¬ã¹ ãã©ãã€ã ã®éèŠãªã³ã³ããŒãã³ãã§ããåä¿¡ãããã¯ãŒã¯ ãã©ãã£ãã¯ã®å¹ççãªç®¡çã«ãããåŸ ã¡æéãççž®ããããµãŒãã¹ã®è€æ°ã®ã€ã³ã¹ã¿ã³ã¹ã«ãããè² è·åæ£ãæ¹åããããªã¯ãšã¹ã ã¬ãŒãå¶éãSSL çµäºãã¢ã¯ã»ã¹å¶åŸ¡ãªã©ã®è¿œå æ©èœãæäŸãããŸãã
äžè¬ã«ãIngress ã¯ãIngress æ§æã管çããããã«å¿ããŠåä¿¡ãªã¯ãšã¹ããã«ãŒãã£ã³ã°ãã圹å²ãæ ãå°çšã³ã³ããŒãã³ãã§ãã Ingress ã³ã³ãããŒã©ãŒãå©çšããŠå®è£ ãããŸãã Ingress ã³ã³ãããŒã©ãŒã¯éåžžãã¯ã©ãŠã ãããã€ããŒãŸãã¯ãµãŒãããŒã㣠ããŒã«ã«ãã£ãŠæäŸããããµãŒããŒã¬ã¹ ã¢ãŒããã¯ãã£ãšã·ãŒã ã¬ã¹ã«é£æºããŠãåºç€ãšãªããªãœãŒã¹ã®èŠæš¡ãéèŠã«åãããŠèª¿æŽãããã«ã€ããŠãã©ãã£ãã¯ãåçã«ã«ãŒãã£ã³ã°ããããã«èšèšãããŠããŸãã Ingress ã³ã³ãããŒã©ãŒã¯ãã«ãŒãã£ã³ã° ã«ãŒã«ããã®ä»ã®é¢é£æ å ±ãå«ã YAML ãã¡ã€ã«ã§èšè¿°ããã Ingress ãªãœãŒã¹ãšé£æºããŠåäœããŸãã
AppMasterno-codeãã©ãããã©ãŒã ã䜿çšãããšãéçºè ã¯ãµãŒããŒã¬ã¹ ã¢ããªã±ãŒã·ã§ã³å ã§ã€ã³ã°ã¬ã¹ ã·ããªãªã«å¹ççã«å¯ŸåŠããåŠçã§ããããã«ãªããŸãã AppMaster䜿çšãããšãããŒã¿ ã¢ãã«ãããžãã¹ ããã»ã¹ãAPI endpointsèŠèŠçã«äœæã§ããããã«ãªããåä¿¡ãããã¯ãŒã¯ ãã©ãã£ãã¯ã®ã·ãŒã ã¬ã¹ãã€å¹ççãªç®¡çãä¿èšŒãããŸãããã®ãã©ãããã©ãŒã ã¯å æ¬ç㪠IDE ãšããŠåäœããæè¡çè² åµãæé€ããã¢ããªã±ãŒã·ã§ã³éçºããã»ã¹ãåçåããŸããéçºè ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ç®¡çãæ°ã«ããããšãªããäžæ žçãªããžãã¹èŠä»¶ã«éäžããçç£æ§ãåäžãããã³ã¹ããåæžã§ããŸãã
Golang ã䜿çšããŠçæãããAppMasterã®ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã¯ããšã³ã¿ãŒãã©ã€ãºããã³é«è² è·ã®ã·ããªãªã«ãããŠæ¯é¡ã®ãªãã¹ã±ãŒã©ããªãã£ãšããã©ãŒãã³ã¹ãæäŸããŸããããã«ããµãŒããŒã¬ã¹ ã¢ããªã±ãŒã·ã§ã³ã«ãã Postgresql äºæããŒã¿ããŒã¹ã®ãµããŒãã«ããããã©ãããã©ãŒã ã¯å¹ åºããŠãŒã¹ã±ãŒã¹ã«é©ããŠããããœãããŠã§ã¢æ¥çã®ããŸããŸãªèŠä»¶ã«å¯Ÿå¿ã§ããŸãã
Web ã¢ããªã±ãŒã·ã§ã³çæã«ã¯ Vue3 ãªã©ã®ææ°ã® Web ãã¬ãŒã ã¯ãŒã¯ããã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³éçºã«ã¯AppMasterã®ãµãŒããŒé§åãã¬ãŒã ã¯ãŒã¯ãªã©ã®ææ°ã® Web ãã¬ãŒã ã¯ãŒã¯ãå©çšããããšã§ãéçºè ã¯ããã©ãŒãã³ã¹ãšæè»æ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãããµãŒããŒäž»å°ã®ã¢ãããŒãã«ãããæ°ããããŒãžã§ã³ãã¢ã㪠ããŒã±ãããã¬ã€ã¹ã«éä¿¡ããããšãªããã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã® UIãããžãã¯ãAPI ããŒãæŽæ°ã§ãããããæŽæ°ããã»ã¹ãããã¹ã ãŒãºãã€å¹ççã«ãªããŸãã
çµè«ãšããŠãIngress ã¯ãåä¿¡ãããã¯ãŒã¯ ãã©ãã£ãã¯ãã«ãŒãã£ã³ã°ã忣ã·ã¹ãã ã®è² è·åæ£ã管çããããšã«ããããµãŒããŒã¬ã¹ ã³ã³ãã¥ãŒãã£ã³ã° ãšã³ã·ã¹ãã ã«ãããŠéèŠãªåœ¹å²ãæãããŸãã Ingress ã³ã³ãããŒã©ãŒã Ingress ãªãœãŒã¹ãªã©ã®ã³ã³ããŒãã³ãã䜿çšããããšã§ãéçºè ã¯åä¿¡ãªã¯ãšã¹ãã广çã«ç®¡çããã³åŠçããã¢ããªã±ãŒã·ã§ã³ã®æé©ãªããã©ãŒãã³ã¹ãšä¿¡é Œæ§ã確ä¿ã§ããŸãã AppMasterno-codeãã©ãããã©ãŒã ã®åŒ·åãªæ©èœãå©çšãããšãéçºè ã¯ã³ã¢ ããžãã¹èŠä»¶ãæºããããšã«éäžããªããããµãŒããŒã¬ã¹ ã³ã³ãã¥ãŒãã£ã³ã°ã®æè»æ§ãšå¹çæ§ã®æ©æµãåããå ç¢ã§ã¹ã±ãŒã©ãã«ãªã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã