仿¥ãKubernetesãšDockerã«ã€ããŠç¥ããããããã®ç¹å®ã®ã±ãŒã¹ã§ã©ã¡ãã®ãã¯ãããžãŒã䜿çšããã®ãè¯ãããçè§£ããäž¡æ¹ãåæã«äœ¿çšãã䟡å€ããããŸããïŒå€ãã®å Žåãéçºè ïŒç¹ã«åå¿è ïŒã¯ãã³ã³ããåããã¢ããªã±ãŒã·ã§ã³ïŒKubernetesãŸãã¯DockerïŒãéžæããå¿ èŠã«çŽé¢ããŠããŸãããããã®ãã¯ãããžãŒã®ãããããã©ã®ãããªç®çã«æãé©ããŠããããèããŠã¿ãŸãããã
ãããè¡ãã«ã¯ããŸããKubernetesïŒK8ïŒãšDockerã®ã³ã³ããã¹ãã§ãã³ã³ãããŒããšããçšèªãå®çŸ©ããŸããããããã«ãããããããã«é£ã³èŸŒãåã«ãäž¡æ¹ã®ãã¯ãããžãŒã®åºæ¬ãçè§£ããããšãã§ããŸãã
ã³ã³ãããšã¯
æå€§ã®ããã©ãŒãã³ã¹ãåŸãããã«ãçæ³çãªç°å¢ã«ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ãããšããŸããéåžžããã®ãããªç°å¢ã®ãã©ã¡ãŒã¿ã¯ããµãŒããŒã©ãã¯ããããã¯ãŒã¯å€æ°ãããã³å€éšã€ã³ãã©ã¹ãã©ã¯ãã£ã®ä»ã®æè¡çç¹æ§ã«ãã£ãŠç°ãªããŸããããã¯ã100ïŒ ã®å Žåãæå€§ã®ããã©ãŒãã³ã¹ãéæã§ããªãããšãæå³ããŸã...ç©ççãªå Žæããã¢ããªã±ãŒã·ã§ã³ãæœè±¡åããã³ã³ãããŒãäœæããªãéãã
æå®ããã倿°ïŒOSã¿ã€ããã³ã³ãã¥ãŒãã£ã³ã°ãªã©ïŒãæã€ãµã³ãããã¯ã¹ãŸãã¯ä»®æ³ãã·ã³ãæ³åããŠã¿ãŠãã ãããåãããŒããŠã§ã¢ã«ãOSãšå€æ°ãç°ãªãå¥ã®ã¢ããªã±ãŒã·ã§ã³ãã³ã³ãããŒãã€ã³ã¹ããŒã«ããå¿ èŠããããããã«ããããã®ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ããšå±éã«çæ³çãªåé¢ãããç°å¢ãäœæããããšããŸãã
ãããã®ã³ã³ããåãããã¢ããªã±ãŒã·ã§ã³ã¯ãå¥ã®ã³ã³ãã¥ãŒã¿ãŒäžã«ãããã®ããã«ãããã«ã¯å¥ã®å Žæã«ãããã®ããã«æ©èœããŸããã³ã³ãããŒã䜿çšããäž»ãªå©ç¹ã¯ãã³ã³ãããŒã®ç°å¢ãä»»æã®ããã€ã¹ã«è€è£œã§ããããããœãããŠã§ã¢éçºã®ã³ã³ãããŒåã®æä»£ã«ååšããŠããäžæŽåã®åé¡ãè§£æ¶ãããããšã§ãã
Kubernetesãšã¯äœã§ããïŒ
Kubernetesã¯ãã³ã³ãããšã³ã³ããåãã©ãããã©ãŒã ã«é¢é£ããã¿ã¹ã¯ã調æŽããããã«2014幎ã«Googleã«ãã£ãŠéçºãããããŒã«ã§ããããã¯ãè€æ°ã®ã³ã³ãããŒã管çã§ãããªãŒãã³ãœãŒã¹ã·ã¹ãã ã§ããããã®æ©èœãæ¡åŒµããŠïŒä»¥äžã®æ©èœãåç §ïŒããã³ã³ãããŒåããããã¢ããªã±ãŒã·ã§ã³ãã¹ã ãŒãºã«å®è¡ããå©çšã§ããããã«ããŸãã
Kubernetesã®äž»ãªæ©èœ
Kubernetesã®æ©èœã®äžéšã¯æ¬¡ã®ãšããã§ãã
- éçºããã¹ããããã³å±éã®ããã®æç¢ºã«å®çŸ©ãããç°å¢ãç¶æããŸã
- äºæž¬å¯èœã§èªåçã«ã¹ã±ãŒã©ãã«ãªïŒæ°Žå¹³æ¹åã®ïŒã€ã³ãã©ã¹ãã©ã¯ãã£
- èªå·±ä¿®åŸ©ïŒãã£ã³ã»ã«å¯èœïŒè² è·åæ£ç°å¢
- ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããããã®ååãªæ©äŒ
- ã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã®ç®¡çããŒã«
ãããã¯ãéçºè ãGoogle KubernetesEngineãæ§ç¯ãã5ã€ã®äž»ãªç¹åŸŽã§ã ã
Dockerãšã¯äœã§ããïŒ
Dockerã¯ã2013幎ã«éçºãããã³ã³ããåããŒã«ã§ããDockerã¯ãªãŒãã³ãœãŒã¹ã§ãªãœãŒã¹ã®å°ãªããã¯ãããžãŒã§ããããéçºè ã¯ããŒã¿ãã«ã³ã³ãããŒãžã®ã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ããŒã«ãèªååã§ããŸãã
Dockerã®äž»ãªæ©èœ
Dockerã®æ©èœã®çããªã¹ãã¯æ¬¡ã®ãšããã§ãã
- DockerBuildãšç°å¢ã€ã¡ãŒãžãå ±æãã
- ã³ã³ãããäœæããéã®èšèªãšé³å£°èªèã®ããã®DockerAssemble
- éçºè ã®çç£æ§ãæé©åããããã®ãã€ãã£ãããã³ã¯ã©ãŠãããŒã¹ã®ããŒã«
- ããŒãžã§ã³ç®¡çã¢ããªã±ãŒã·ã§ã³ã®éçºã«åãçµãã§ããããŒã åãã®CI / CDããŒã«
- å€§èŠæš¡ãªã¯ã©ã¹ã¿ãŒã匷åã«ãµããŒãããé«ã埩å å
DockerãŸãã¯Kubernetesãã©ã¡ãããéžæããå¿ èŠããããŸããïŒ
åžžã«ã§ã¯ãªãã
ãããžã§ã¯ããéå§ãããšãã«ãKubernetesèªäœãã³ã³ãããéå§ããããšã¯ã§ããŸãããããã«ã¯ãDockerïŒãŸãã¯ãã®ä»£æ¿ïŒã䜿çšããããšããå§ãããŸãããã ããçžä¹å¹æã§äœ¿çšããããšããå§ãããŸãã
Dockerã¯ã³ã³ãããäœæããŠç®¡çããŸã...ãããŠKubernetesãDockerã管çããŸãã
ã¢ããªã±ãŒã·ã§ã³ãåçŽãªå ŽåãDockerã¯ã¢ããªã±ãŒã·ã§ã³ã®å®è¡ãç¶æããããã«å¿ èŠãªãã¹ãŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãæäŸããããšãã§ããŸããã¢ããªã±ãŒã·ã§ã³ã倧ãããªãã«ã€ããŠãè€æ°ã®ã¯ã©ã¹ã¿ãŒãããè€éãªã¡ã³ããã³ã¹ãå¿ èŠã«ãªãå¯èœæ§ãããå Žåã¯ãKubernetesã䜿çšããå¿ èŠããããŸãã
ã¢ããªã±ãŒã·ã§ã³ãæ¡åŒµããå Žåã«ã®ã¿ãéžæã«çŽé¢ããŸãã
Dockerã®é·æãšçæïŒã³ã³ããå
ãã®ãã¯ãããžã«é¢é£ããå©ç¹ããªãå Žåãéçºè ã¯ã¢ããªã±ãŒã·ã§ã³ãã³ã³ããåããããšãæãŸãªãã§ããããDockerãçæ³çãªãœãªã¥ãŒã·ã§ã³ã«ããæãããªå©ç¹ã®ããã€ããšããã®æ¬ ç¹ã®ããã€ããèŠãŠã¿ãŸãããã
é·æïŒ
- äœæã®ãããããDockerã§ã®ã³ã³ãããŒã®åæåã¯é«éã§ãæå°éã®æè¡ã¹ãã«ããå¿ èŠãšããŸããã
- DockerããŒã«ãã¹ã¿ãŒã¿ãŒããŒã«ã®å®å šãªã»ããã䜿çšãããšãã³ã³ãããŒã®ç®¡çãç°¡åã«ãªããŸã
- 广çãªãµããŒããDockerã«ã¯ããã¯ãã«ã«ãµããŒããæäŸããçºçããå¯èœæ§ã®ããåé¡ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãæ¯æŽããéçºè ã®æŽ»çºãªã³ãã¥ããã£ããããŸãã
ãã€ãã¹ïŒ
- . . , .
- . Docker - , . .
- . Docker , , .
Kubernetes:
Dockerãšåæ§ã«ãKubernetesã«ã¯ãéçºè ã䜿çšãããšãã«èæ ®ããå¿ èŠã®ããé·æãšçæããããŸããK8ã®äœ¿çšã«ã€ããŠããæ·±ãçè§£ããããã«ãããã€ãã®é·æãšçæãèŠãŠã¿ãŸãããã
é·æïŒ
- ãããã¢ãžã¥ãŒã«ïŒãããïŒã K8ã¯ãäºæããªãé害ãçºçããå Žåã«èªåå埩ïŒåäœæïŒã§ä¿åããããã®ãããïŒã³ã³ãããŒããã³ã³ã³ãããŒåããŒã«ïŒããµããŒãããŸãã
- Googleã«ãã£ãŠéçºãããŸãããKubernetesã¯ãéçºè ã®äººæ°ãšæé·ããŠããïŒæå€§ã®ïŒã³ãã¥ããã£ã«ããããã®å質ã«èªä¿¡ãæ€ãä»ããŠããŸãïŒãã¡ãããå šå¡ã§ã¯ãããŸããïŒã
- ããã©ã«ãã®ã¹ãã¬ãŒãžå¯çšæ§ãéçºè ã®äŸ¿å®ã®ããã«ãK8ã«ã¯ã¯ã©ãŠãã¹ãã¬ãŒãžãšSANã¹ãã¬ãŒãžãä»å±ããŠããŸãã
ãã€ãã¹ïŒ
- è€éãªã€ã³ã¹ããŒã«ãå€å€§ãªæè¡çåªåãå¿ èŠãšããé©åã«ã€ã³ã¹ããŒã«ããŠæ§æããã®ã«é·ãæéãããããŸãã
- ãããéãã -åçŽãªã¢ããªã±ãŒã·ã§ã³ã§ã¯ãKubernetesã®ãããªè€éãã¯å¿ èŠãããŸãããããããã¢ããªã±ãŒã·ã§ã³ããã·ã³ãã«ãã§ããããšãèªããŠããéçºè ã¯èª°ã§ããïŒ
- K8ã®æè¡çèœåã¯å®ãã¯ãããŸãããDevOpséçºè ãµãŒãã¹ã¯ãKubernetesããŒã«ã®æ§ç¯ãšä¿å®ã«è²»çšãããããŸãã
ãããã®æ¬ ç¹ã«ãããããããK8ã¯ã¢ããã°ã¬ãŒããã䟡å€ã®ããææãªãã¯ãããžãŒã§ããçµéšã«ããã°ãã¢ããªã±ãŒã·ã§ã³ããã®æšæºã«åŸã£ãŠãŒãããæ§ç¯ãããšãã³ã¹ããšè€éããå€§å¹ ã«åæžãããŸãã
DockerãšKubernetesã®äœ¿çšäŸ
ãã®æçš¿ã§ã¯DockerãšKubernetesãåé¢ããŠåãäžããŠããŸãããããããåé¢ããŠååšããŠããªãããšãèªããå¿ èŠããããŸããä»ã®ç«¶åãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ããã³ã³ã³ããåããŒã«ã¯æåã䞻匵ããŠããŸãã
ãã ããç¶æ³ã«ãã£ãŠã¯ãK8ãšDockerãçæ³çã§ããå Žåã«ãã£ãŠã¯ã2ã€ã®ãã¯ãããžãŒãäžç·ã«äœ¿çšããå¿ èŠã¯ãããŸããã以äžã§ããããèããŠã¿ãŸãããã
Kubernetesã䜿çšããã¿ã€ãã³ã°
ã¢ããªã±ãŒã·ã§ã³ã®èŠæš¡ãå€§å¹ ã«æ¡å€§ããå Žåã¯ãK8ã«ã¢ããã°ã¬ãŒãããææãæ¥ãŠããå¯èœæ§ããããŸãã
- ã»ãŒå®ç§ãªçšŒåæéãKubernetesã®èªå·±ä¿®åŸ©æ©èœã«ãããã·ã¹ãã éå®³ã®æ°ã«é¢ä¿ãªãããªãœãŒã¹ã倧éã«æ¶è²»ããã¢ããªã±ãŒã·ã§ã³ãåŒãç¶ãæ©èœããŸãã
- ç°ãªãã³ã³ããåãµãŒãã¹ãããã€ããŒããéžæããå ŽåãK8ã¯ïŒããŸããŸãªã¬ãã«ã®é£æåºŠã§ïŒã»ãŒãã¹ãŠã®ãµãã©ã€ã€ãŒãšååããŠããããããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã·ã¹ãã ãšããŠK8ã䜿çšãããšãéžæã®èªç±ãåŸãããŸããè©ŠçšæéåŸã®ãµãŒãã¹ã®åè³ªã«æºè¶³ã§ããªãå Žåããµãã©ã€ã€ãŒã¯ããªãã®äŒç€Ÿãšã®å¥çŽã®è³æ ŒãåŸãããšãã§ããŸããã
- äžåãã®å¯èœæ§ãããããªãå Žåãæ°Žå¹³ã¹ã±ãŒãªã³ã°äžã«ãK8ã¯èªåçã«ãªãœãŒã¹ãã¢ããªã±ãŒã·ã§ã³ã«å²ãåœãŠãŸãã
Dockerã䜿çšããå Žå
å Žåã«ãã£ãŠã¯ãã¢ããªã±ãŒã·ã§ã³ããã¹ãããããã«Dockerãšãã®ããŒã«ã䜿çšããæ¹ãããå ŽåããããŸãããããã®ããã€ããèŠãŠã¿ãŸãããã
- 8 . , API Docker . Docker Swarm 8.
- . Docker - , . .
- CLI. Docker CLI, .
äžç·ã«äœ¿çšãããšãKubernetesãšDockerã¯äºãã«è£å®ãåããŸãããŸããKubernetesãå®è£ ããŠã³ã³ãããæ€èšŒãããšãã«äžæºãèšã£ã垯åå¹ ãé ãããšã«æ³šæãã䟡å€ããããŸãã
ã¢ããªã±ãŒã·ã§ã³ããµããŒãããããã®äºç®ãšæè¡çèœåãããå Žåããããã®ããŒã«ã¯ããŸãæ©èœããŸããã³ãã¥ããã£ã®å©ããåããŠãã¢ããªã±ãŒã·ã§ã³ã®ããŠã³ã¿ã€ã ãçºçããããšã¯ãããŸããã
ãŸãããããã®ããŒã«ã«ã¯ããããã®ã£ãããšåŒ±ç¹ããããããäžç·ã«æ©èœããããšãèªèããŠããå¿ èŠããããŸãã Kompose by K8ã¯ãDockerComposeãå¿çšãããã®ã§ããããã¯ãäž¡æ¹ã®ããŒã«ã®äœ¿çšãæšæºã§ããç¶ããŠããããšãæå³ããŸãã
ãããã£ãŠããã®å¯Ÿç«ã®çµæã¯å奜çãªåŒãåãã§ãããŠãŒã¹ã±ãŒã¹ã¯å®å šã«ããªãã®å¥œã¿ã«äŸåããŸãããã ããKubernetesã ãã䜿çšããªãããšããå§ãããŸãã