Traefik ãšã¯ïŒ
- DockerãKubernetesãšé£æºããŠããµãŒãã¹ãèªåçã«æ€åºã»ã«ãŒãã£ã³ã°ããŠããããªããŒã¹ãããã·
- èšå®ãã¡ã€ã«ãæåã§æžãæããªããŠããã³ã³ããã®èµ·åã»åæ¢ã«åãããŠåçã«ã«ãŒãã£ã³ã°ãæŽæ°ããã
- Let's Encryptãšçµ±åãããŠããŠãSSL/TLSèšŒææžã®ååŸã»æŽæ°ãèªåã§è¡ã£ãŠããã
- ããã·ã¥ããŒãUIãæšæºæèŒãããŠããŠãã«ãŒãã£ã³ã°ç¶æ³ããã©ãŠã¶ãã確èªã§ãã
Traefikã£ãŠååãããèŠããããã ãã©ãNginxãšã¯äœãéãã®ïŒ
äžçªã®éãã¯ããµãŒãã¹ã®èªåæ€åºãã ããNginxã¯èšå®ãã¡ã€ã«ã«ã«ãŒãã£ã³ã°å ãææžãããŠã倿ŽããããªããŒããå¿ èŠãã§ãTraefikã¯DockerãKubernetesã«çŽæ¥ã€ãªãã£ãŠãã³ã³ãããèµ·åãããèªåã§ã«ãŒãã£ã³ã°ã«è¿œå ã忢ãããèªåã§å€ããŠããããã
èšå®ãæžãçŽããªããŠããã£ãŠããšïŒããã¯ããã䟿å©ããã ãïŒ
ãããªãã ãããšãã°Dockerãªããdocker-compose.ymlã«ã©ãã«ãæ°è¡æžãã ãã§ããã®ã³ã³ããã¯app.example.comã§å ¬éãã¿ããã«èšå®ã§ããããTraefikããã®ã©ãã«ãèªã¿åã£ãŠãåæã«ã«ãŒãã£ã³ã°ããŠããããã
SSLèšŒææžãèªåã§åããã£ãŠèãããã©ãæ¬åœãªã®ïŒ
æ¬åœã ããLet's Encryptãšçµ±åãããŠããŠããã¡ã€ã³ãèšå®ããã ãã§èšŒææžã®ååŸããæŽæ°ãŸã§å šèªåã§ãã£ãŠããããæåã§èšŒææžã管çããæéããªããªãã®ã¯ãéçšãããªã楜ã«ãªããã€ã³ãã ã
Kubernetesã§ã䜿ããã®ããªïŒ
ãã¡ãããKubernetesã§ã¯Ingressã³ã³ãããŒã©ãŒãšããŠåäœããŠãIngressãªãœãŒã¹ãã«ã¹ã¿ã ãªãœãŒã¹ïŒIngressRouteïŒãèªã¿åã£ãŠã«ãŒãã£ã³ã°ããããå®ã¯Traefikã«ã¯EntryPointsã»Routersã»Servicesã»Middlewaresãšãã4ã€ã®æŠå¿µããã£ãŠããããçµã¿åãããããšã§ããªãæè»ãªã«ãŒãã£ã³ã°ãçµãããã
Middlewaresã£ãŠäœãã§ããã®ïŒ
ãªã¯ãšã¹ããããã¯ãšã³ãã«å±ãåã«åŠçãæãä»çµã¿ã ããèªèšŒãã§ãã¯ãã¬ãŒããªãããããªã¯ãšã¹ããããã®æžãæãããã¹ã®ãã¬ãã£ãã¯ã¹é€å»ãªãããèšå®ã ãã§ã§ããããããããã«ãŠã§ã¢ããã§ãŒã³ïŒé£çµïŒã§ãããããèªèšŒâã¬ãŒããªãããâããã远å ã¿ããã«é çªã«åŠçãéãããã
ã³ã³ããç°å¢ã§ãµãŒãã¹ãé »ç¹ã«å¢æžããå Žåã¯Traefikãå§åçã«æ¥œã ããéã«ãéçãªãµãŒããŒæ§æã§çްãããã¥ãŒãã³ã°ãå¿ èŠãªãNginxãã·ã³ãã«ã«èªåHTTPSã ãæ¬²ãããªãCaddyãåããŠããTraefikã®æ¬é ã¯ãåçãªç°å¢ã§ã®èªååãã ããããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãšã®çžæ§ãæçŸ€ã ã