Ðавел
ã¬ãã« 11
DockerãKubernetesãOpenShiftãšã¯äœã§ãã?ãŸãããããã¯çžäºã«ã©ã®ããã«é¢ä¿ããŠããŸãã?
ãã¹ãŠã¯æ¢±å
ããå§ãŸããŸãã ç£æ¥éçºã§ã¯ãããšãã°ãéçºè
ãèªåã®ã³ã³ãã¥ãŒã¿äžã§çµã¿ç«ãŠã圢åŒã§ãã¢ããªã±ãŒã·ã§ã³ãåäœãããµãŒããŒã«è»¢éã§ããããã«ãçµã¿ç«ãŠãããã¢ããªã±ãŒã·ã§ã³ããããã±ãŒãžåãããå¿
èŠããããŸããäžçš®ã®ä¿è·ãšããŠæ©èœããã¯ãã§ããããã«ãããã¢ããªã±ãŒã·ã§ã³ããã¹ãäžã¯åäœããŠããŠããéçšç°å¢ã«ç§»è¡ãããšãã«åæ¢ãããªã©ã®äºæãã¬äºæ
ãåé¿ãããŸãããŸãããããã±ãŒãžåãã¯ãããã¢ããªã±ãŒã·ã§ã³ãåããµãŒããŒäžã«ããå¥ã®ã¢ããªã±ãŒã·ã§ã³ããåé¢ããŸãããã®ãããªåé¢ã«ãããããã¢ããªã±ãŒã·ã§ã³ãå¥ã®ã¢ããªã±ãŒã·ã§ã³ã®äœæ¥ã«å¹²æžããããšããªããªããŸã (ããšãã°ãããã¢ããªã±ãŒã·ã§ã³ããµãŒããŒã®ãã¹ãŠã® RAM ãåŒãç¶ãããšãã§ããªããªãããã®éåœã«å¯ŸããäºåºŠç®ã®é©çšïŒããã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ã«ãããããã±ãŒãžåãã®å©ç¹ã¯ç¹ã«é¡èã§ãããããã¯ç解ã§ããŸããå€ãã®ãã€ã¯ããµãŒãã¹ãã€ãŸãçžäºã«éä¿¡ããå¿
èŠãããããåæã«çžäºã«å¹²æžããŠã¯ãªããªãå€æ°ã®å°ããªã¢ããªã±ãŒã·ã§ã³ãååšããŸããäŸãšããŠã¯ãã¿ã³ã¹ (ãµãŒããŒ) ããããŸãããã®ãã§ã¹ãã«ã¯ããŸããŸãªåŒãåºãããããããŸããŸãªéŽäžãããåŒãåºãããå¥ã®åŒãåºãã«ç°¡åã«ç§»åã§ããåæã«éŽäžå士ãæ··ãã£ããããã³ãã£ãŒãšæ··ãã£ããããããšã¯ãããŸããã ããã±ãŒãžåã¯ä»®æ³åããŒã«ã«ãã£ãŠäœæãããŸãããã€ãŠãä»®æ³ãã·ã³ (VM) ã¯ãããã±ãŒãžããšããŠäœ¿çšãããŠããŸãããå€ã人ã¯ãä»®æ³ãã·ã³ã® Vista ã« Windows XP ãå±éããæ¹æ³ãèŠããŠããã§ããããçŸåšãã¢ããªã±ãŒã·ã§ã³ã®ããã±ãŒãžåã« VM ã䜿çšããã®ã¯éå»ã®ãã®ã§ããã³ã³ããã¯äžçãåžå·»ããŸããããªããªãã軜éã§çç£æ§ãé«ããå®å
šã ããã§ãã ããã«è©³ãã: ã³ã³ãããŒã¯ä»®æ³ãã·ã³ãšã©ãéãã®ã§ãã? ã³ã³ãããŒã®å©ç¹ãããã€ãèŠããŠããå¿
èŠããããŸãã ⢠ã³ã³ãããŒã®ãµã€ãºãå°ãã (ãµãŒããŒäžã§äœ¿çšããã¡ã¢ãªãå°ãªã)ã⢠å
±æãµãŒã㌠ãªãœãŒã¹ (RAMãããã»ããµã®ã³ã³ãã¥ãŒãã£ã³ã°æé) ã«ã¢ã¯ã»ã¹ã§ããŸãã⢠ä»ã®ç°å¢ (ãã¹ãç°å¢ããç£æ¥ç°å¢ãŸã§) ãžã®ç§»æ€æ§ãåäžããŸãã⢠起åé床ãåäžããŸã (ã³ã³ããã軜éã§ãããããèµ·åãéããªããŸã)ã Docker ã¯ã³ã³ããã®æ¯ã§ãã ã³ã³ãããšãããšãDocker ã®ããšãæããŸããDocker ã¯ãã³ã³ããåãããç°å¢ã§ã®ã¢ããªã±ãŒã·ã§ã³ã®ãããã€ãšç®¡çãèªååãããœãããŠã§ã¢ã§ããäŸãæãããšãDocker ã¯ãªã³ã©ã€ã³ ãã¶ã€ããŒãšã¯ã¬ãŒã³ä»ã 3D ããªã³ã¿ãŒãçµã¿åããããã®ã§ããã€ãŸããæåã«ã³ã³ããã®ãã³ãã¬ãŒã (ç»å) ããã¶ã€ã³ããæå®ãããæ¡ä»¶ (ç»å) ã«åŸã£ãŠã³ã³ãããå°å· (äœæ) ããå¿
èŠãªå Žæã«ç§»åããããšãã§ããŸããDockerfile ã¯ã¬ããŒã®ä»£ããã«äœ¿çšãããŸãã管çããã»ã¹ã¯ã·ã³ãã«ã§ãããã¡ã€ã«ãã³ãã³ããäœæããå®è¡ããŠãäœãèµ·ãããã確èªããŸãã Docker ã«ã€ããŠã®æåã®ç¥è Docker Compose - ã¢ããã°ã¬ãŒãããã Docker 次ã«ãè€æ°ã®ã³ã³ãããŒã 1 ã€ã®å Žæã§å®è¡ããå¿
èŠãããã·ããªãªãèŠãŠã¿ãŸããããããã«äœ¿çšããããŠãŒãã£ãªãã£ã¯ Docker Compose ã§ããDocker Compose ã¯ãDocker ã«å«ãŸããããŒã«ã§ãããããžã§ã¯ãã®å±éã«é¢é£ããåé¡ã解決ããããã«èšèšãããŠããŸããDocker ãš Docker Compose ã®éã: Docker ã¯ãåã
ã®ã³ã³ãããŒã管çããããã«äœ¿çšãããŸããDocker Compose ã¯ãè€æ°ã®ã³ã³ãããåæã«ç®¡çããããã«äœ¿çšãããŸãããã®ããŒã«ã¯ Docker ãšåãæ©èœãæäŸããŸãããããè€éãªæ§é ãæäœã§ããããã«ãªããŸãã Docker Compose ã䜿çšããäžè¬çãªã·ããªãª: ããªãã Web ãããžã§ã¯ãã®éçºè
ã§ãããšæ³åããŠãã ããããã®ãããžã§ã¯ãã«ã¯ 2 ã€ã® Web ãµã€ããå«ãŸããŠããŸãã1 ã€ç®ã¯ãããžãã¹ãã³ãæ°åã¯ãªãã¯ããã ãã§ãªã³ã©ã€ã³ ã¹ãã¢ãäœæã§ããããã«ãããã®ã§ãã2 ã€ç®ã¯é¡§å®¢ãµããŒããç®çãšããŠããŸããããã 2 ã€ã®ãµã€ãã¯åãããŒã¿ããŒã¹ãšå¯Ÿè©±ããŸããããªãã®ãããžã§ã¯ãã¯ãŸããŸã人æ°ãé«ãŸã£ãŠããããããå®è¡ãããµãŒããŒã®èœåã§ã¯ãã¯ãååã§ã¯ãªãããšãå€æããŸããããã®çµæããããžã§ã¯ãå
šäœãå¥ã®ãã·ã³ã«ç§»åããããšã«ããŸãããDocker Compose ãªã©ã䜿çšããããšããªãå Žåã¯ãããã»ã¹äžã«äœãå¿ããªãããã«ããªãããã³ã³ãããŒãäžåºŠã« 1 ã€ãã€ç§»è¡ããŠåæ§æããå¿
èŠããããŸããDocker Compose ã䜿çšããŠããå Žåããããžã§ã¯ããæ°ãããµãŒããŒã«ç§»åããããšã¯ãããã€ãã®ã³ãã³ããå®è¡ããããšã§è§£æ±ºã§ããŸãããããžã§ã¯ãã®æ°ããå Žæãžã®è»¢éãå®äºããã«ã¯ãããã€ãã®èšå®ãè¡ã£ãŠããŒã¿ããŒã¹ã®ããã¯ã¢ãã ã³ããŒãæ°ãããµãŒããŒã«ã¢ããããŒãããã ãã§ããå
žåç㪠DockerComposer: ããã§èŠããŠããå¿
èŠãããããš:ã³ã³ãããŒã¯ãã¢ããªã±ãŒã·ã§ã³ããããã±ãŒãžåãããããã®äž»ãªæ段ã§ããDocker ã¯ã³ã³ãããŒãåŠçããã³ã³ãã㌠ã€ã¡ãŒãžãäœæããã³ã³ãããŒãéžæããŠç§»åããŸããå€æ°ã®ã³ã³ãããåæã«ç®¡çããã«ã¯ãDocker ã«å«ãŸãã Docker Compose ã䜿çšããŸãããããã®ããã°ã©ã ã¯ããªãŒ ãœãããŠã§ã¢ (äžèšã§èšãã°æ¯å) Kubernetes (K8s) - Docker ãªãŒãã¡ãŒã·ã§ã³ ãããŠã³ã³ããããããã€ããã³ã³ããããã·ã³ãããã·ã³ãžããããã§ã転éããæ¹æ³ãç¥ããŸãããããããçªç¶ã³ã³ããã® 1 ã€ãèœäžããŸãããäœããããïŒèª°ããŸãäžããŠãããã§ããããïŒ ãã¡ãããããã Docker çµç±ã§æåã§è¡ãããšãã§ããŸããããããäœããããªããã°ãªãããäœããæžããªããã°ãªãããäœããã®èªååããŒã«ãå¿
èŠã§ãããã㧠Kubernetes (ç¥ç§° K8s) ãç»å Žããã³ã³ããã®ç®¡çãšãªãŒã±ã¹ãã¬ãŒã·ã§ã³ (é¢é£ãšã³ãã£ãã£ã®èªå管ç) ãæ±ããŸããK8 ãèªç±ã«äœ¿çšã§ãããããæŒå€ãåããã³ã³ãããç£èŠããå¿
èŠã¯ãããŸãããåäœã·ããªãªãå®çŸ©ããã ãã§ååã§ãããK8s ã¯ãã¹ãŠãèªåçã«å®è¡ããŸããKubernetes ã®äž»ãªæ©èœ 1. æ§æã®ã¹ã±ãŒã©ããªãã£ãšç®¡çãæäŸããŸãã2. ã¯ã©ã¹ã¿ãŒããããã€ãããšãã«ååŸããããã®ãèšè¿°ããããšãã§ããK8s ããããå®è¡ããŸããããšãã°ããããã®æ°ãæå®ããŸããããããã«å²ãåœãŠãã¡ã¢ãªã®éã¯ããããäžã« (ã³ã³ãããŒå
ã«) ãããã€ãããã¢ããªã±ãŒã·ã§ã³ã®ã¬ããªã« (ã€ã³ã¹ã¿ã³ã¹) ã®æ°ã瀺ããŸãã3. ã·ã¹ãã ãç¹å®ã®ç¶æ
ã«ç¶æãã責任ãè² ããäœããèœã¡ãå Žåã確ç«ãããæ§æã«åŸã£ãŠ K8 ããããæŸããŸããããã§èŠããŠããå¿
èŠãããããš: Kubernetes ã¯ãã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããã¯ã©ã¹ã¿å
ã§ã®ãããã€ã¡ã³ããã¹ã±ãŒãªã³ã°ã調æŽãèªååããããã®ããŒã«ã§ããDocker ãªã©ã®äž»èŠãªã³ã³ããåãã¯ãããžããµããŒãããŸããK8s ã¯ãªãŒãã³ãœãŒã¹ ãœãããŠã§ã¢ã§ãã OpenShift ã¯ãä»®æ³åã®äžçã«ããããã§ã©ãŒãªã§ãããã¯ãŒã«ã§é«éããããŠé«äŸ¡ã§ã ã 話é¡ãçºå±ããŠãOpenShift ã«ç§»ããŸãããã OpenShift ã¯ãè¿œå æ©èœãæäŸãã Kubernetes ã®ã¢ããªã³ã§ããã ããã«äœ¿çšã§ããããã«ãªããæéãšåŽåãèŠããæ§æãå¿
èŠãšãããããã«å®çšŒåç°å¢ã«å°å
¥ã§ããŸããKubernetes ã®äžã«ããŸããŸãªã¢ã€ã³ã³ãããã€ãããèŠãŠãã ããããããŠã圌ãã¯ããããç¬èªã®çŽ æŽãããããšãããŠããŸãã OpenShift ã®ãã€ã©ã€ãã¯æ¬¡ã®ãšããã§ãã ⢠K8 ãšã¯ç°ãªããææã®è£œåã§ãã⢠ããã«äœ¿ãã DevOpsãåºæ¬ç㪠Blue/Greenãã«ããªã¢å±éã·ããªãªã®ãµããŒãã⢠çµã¿èŸŒã¿ã® Jenkins ãµããŒãã⢠ã¯ã©ã¹ã¿ãŒã®ç®¡çãšæäœã«äŸ¿å©ãªããŒã«ãæäŸããŸãã⢠ããå³æ Œãªã»ãã¥ãªã㣠ã¢ãã«ãšçµã¿èŸŒã¿ã®ç£èŠæ©èœãåããŠããŸããKubernetes ãšã¯ç°ãªããOpenShift ã¯ææ補åã§ããããšãããäžåºŠåŒ·èª¿ãã䟡å€ããããŸããéãã¯æ¬¡ã®ãšããã§ãã裞㮠Kubernetes ã䜿çšãããšããã¹ãŠã®åé¡ãèªåãã¡ã§è§£æ±ºã§ããŸããOpenShift ã«ã€ããŠè©±ãå Žåããã㯠Red Hat ã®è£œåã§ãããæåãµããŒãã®äžç°ãšããŠæ°ããªåé¡ã解決ããŸããèŠçŽããŸããã: ç£æ¥éçºã§ã¯ãã¢ããªã±ãŒã·ã§ã³ããããã±ãŒãžåãããå¿
èŠããããŸãããã®ã¢ãããŒãã¯ããã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£ã«ç¹ã«é¢é£ããŸããã³ã³ãããŒã¯ãã¢ããªã±ãŒã·ã§ã³ãããã±ãŒãžåããäž»ãªæ段ã§ããDocker ã¯ã³ã³ãããŒãåŠçããã³ã³ãã㌠ã€ã¡ãŒãžãäœæããã³ã³ãããŒãéžæããŠç§»åããŸããå€æ°ã®ã³ã³ãããåæã«ç®¡çããã«ã¯ãDocker ã«å«ãŸãã Docker Compose ã䜿çšããŸãããããã®ããã°ã©ã ã¯ç¡æãœãããŠã§ã¢ã§ããKubernetes(K8s) ã¯ãã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ã調æŽããã¯ã©ã¹ã¿å
ã§ã®ãããã€ãã¹ã±ãŒãªã³ã°ã調æŽãèªååããããã®ããŒã«ã§ããDocker ãªã©ã®äž»èŠãªã³ã³ããåãã¯ãããžããµããŒãããŸããK8s ã¯ãªãŒãã³ãœãŒã¹ ãœãããŠã§ã¢ã§ããOpenShift ã¯ãè¿œå æ©èœãæäŸãã Kubernetes ã®ã¢ããªã³ã§ããK8sãšã¯ç°ãªããæ³äººå©çšãç®çãšããææ補åã§ããããã«äœ¿çšã§ãã DevOps ãæäŸããŸãããã«ãŒ/ã°ãªãŒã³ãã«ããªã¢ã®äž»èŠãªå±éã·ããªãªããµããŒãããJenkins ã®ãµããŒããçµã¿èŸŒãŸããŠãããã¯ã©ã¹ã¿ãŒã®ç®¡çãšæäœã«äŸ¿å©ãªããŒã«ãæäŸããŸããããå³æ Œãªã»ãã¥ãªã㣠ã¢ãã«ãšçµã¿èŸŒã¿ã®ç£èŠãåãã£ãŠããŸãã ã³ãŒããæžããããŠããããããŠãã人åã: Spring Boot ã¢ããªã±ãŒã·ã§ã³ãã³ã³ãããŒã«ããã±ãŒãžåãã Docker ã« Postgres ããããã€ããSpring-Boot ã¢ããªã±ãŒã·ã§ã³ã«æ¥ç¶ããæ¹æ³ ãŠã§ãããŒ: Docker - ã³ã³ãããŒãæäœããã«ã¯? â Java ã§ã®ããã¯ãšã³ãéçº
GO TO FULL VERSION