ããå€ãã® Kubernetes ãµãŒãã¹ãäœæãå§ãããšãæåã¯åçŽã ã£ãã¿ã¹ã¯ãããè€éã«ãªãå§ããŸãã ããšãã°ãéçºããŒã ã¯åãååã§ãµãŒãã¹ããããã€ã¡ã³ããäœæããããšã¯ã§ããŸããã äœåãã®ããããããå Žåãé©åã«ç®¡çããããšã¯ãã¡ããããããããªã¹ãããã ãã§ãå€å€§ãªæéãããããŸãã ãããŠãããã¯æ°·å±±ã®äžè§ã«ãããŸããã
åå空éã«ãã£ãŠã©ã®ããã« Kubernetes ãªãœãŒã¹ã®ç®¡çã容æã«ãªãããèŠãŠã¿ãŸãããã ã§ã¯ãåå空éãšã¯äœã§ãããã? åå空éã¯ãKubernetes ã¯ã©ã¹ã¿ãŒå ã®ä»®æ³ã¯ã©ã¹ã¿ãŒãšèããããšãã§ããŸãã åäžã® Kubernetes ã¯ã©ã¹ã¿ãŒå ã§è€æ°ã®åå空éãçžäºã«åé¢ã§ããŸãã ãããã¯ãçµç¹ãã»ãã¥ãªãã£ãããã«ã¯ã·ã¹ãã ããã©ãŒãã³ã¹ã«é¢ããŠãããªããšããªãã®ããŒã ã倧ãã«å©ããŠãããŸãã
ã»ãšãã©ã® Kubernetes ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã¯ãã¯ã©ã¹ã¿ãŒã¯ãdefaultããšåŒã°ããåå空éãåããç¶æ
ã§åºè·ãããŸãã å®éãKubernetes ãæ±ãåå空éã¯ãdefaultãkube-systemãkube-public ã® XNUMX ã€ã§ãã çŸåšãKube-public ã¯ããŸã䜿çšãããŠããŸããã
ç¹ã« Google Kubernetes Engine ã®ãããªãããŒãžã ã·ã¹ãã ã§ã¯ãkube åå空éããã®ãŸãŸã«ããŠããã®ãåŸçã§ãã ãµãŒãã¹ãšã¢ããªã±ãŒã·ã§ã³ãäœæãããå ŽæãšããŠãããã©ã«ããåå空éã䜿çšãããŸãã Kubernetes ãããã«äœ¿çšã§ããããã«æ§æãããŠãããåé€ã§ããªãããšãé€ãã°ãç¹å¥ãªããšã¯äœããããŸããã ããã¯ãåå¿è
ãäœããã©ãŒãã³ã¹ã®ã·ã¹ãã ã«ã¯æé©ã§ããã倧èŠæš¡ãªæ¬çªã·ã¹ãã ã§ã¯ããã©ã«ãã®åå空éã䜿çšããããšã¯ãå§ãããŸããã åŸè
ã®å ŽåãããéçºããŒã ãä»ã®äººã®ã³ãŒããç°¡åã«æžãæããŠãæ°ä»ããªããã¡ã«å¥ã®ããŒã ã®äœæ¥ãäžæããŠããŸãå¯èœæ§ããããŸãã
ãããã£ãŠãè€æ°ã®åå空éãäœæãããããã䜿çšããŠãµãŒãã¹ã管çå¯èœãªåäœã«åå²ããå¿ èŠããããŸãã åå空é㯠XNUMX ã€ã®ã³ãã³ãã§äœæã§ããŸãã test ãšããåå空éãäœæããå Žåã¯ãã³ãã³ã $ kubectl create namespace test ã䜿çšããããåçŽã« YAML ãã¡ã€ã«ãäœæããŠãä»ã® Kubernetes ãªãœãŒã¹ãšåæ§ã«äœ¿çšããŸãã
$ kubectl get namespace ã³ãã³ãã䜿çšããŠããã¹ãŠã®åå空éã衚瀺ã§ããŸãã
å®äºãããšãXNUMX ã€ã®çµã¿èŸŒã¿åå空éãšãtestããšããååã®æ°ããåå空éã衚瀺ãããŸãã ããããäœæããããã®åçŽãª YAML ãã¡ã€ã«ãèŠãŠã¿ãŸãããã åå空éã«ã€ããŠã®èšåããªãããšãããããŸãã
kubectl ã䜿çšããŠãã®ãã¡ã€ã«ãå®è¡ãããšãçŸåšã¢ã¯ãã£ããªåå空éã« mypod ã¢ãžã¥ãŒã«ãäœæãããŸãã ããã¯ãå€æŽãããŸã§ããã©ã«ãã®åå空éã«ãªããŸãã ãªãœãŒã¹ãäœæããåå空éã Kubernetes ã«äŒããæ¹æ³ã¯ 2 ã€ãããŸãã XNUMX ã€ç®ã®æ¹æ³ã¯ããªãœãŒã¹ã®äœææã«åå空éãã©ã°ã䜿çšããããšã§ãã
XNUMX çªç®ã®æ¹æ³ã¯ãYAML 宣èšã§åå空éãæå®ããããšã§ãã
YAML ã§åå空éãæå®ãããšããªãœãŒã¹ã¯åžžã«ãã®åå空éã«äœæãããŸãã åå空éãã©ã°ã®äœ¿çšäžã«å¥ã®åå空éã䜿çšããããšãããšãã³ãã³ãã¯å€±æããŸãã ããã§ããããèŠã€ããããšããŠããèŠã€ããããšã¯ã§ããŸããã
ããã¯ããã¹ãŠã®ã³ãã³ããçŸåšã¢ã¯ãã£ããªåå空éã®å€ã§å®è¡ãããããã«çºçããŸãã ããããèŠã€ããã«ã¯ãåå空éãã©ã°ã䜿çšããå¿
èŠããããŸãããç¹ã«ç¬èªã®åå空éã䜿çšãããã¹ãŠã®ã³ãã³ãã«ãã®ãã©ã°ã䜿çšããããªãããŒã ã®éçºè
ã§ããå Žåãããã¯ããã«å€ããªããŸãã ãããä¿®æ£ããæ¹æ³ãèŠãŠã¿ãŸãããã
ããã©ã«ãã§ã¯ãã¢ã¯ãã£ããªåå空éã¯ããã©ã«ããšåŒã°ããŸãã ãªãœãŒã¹ YAML ã§åå空éãæå®ããªãå Žåããã¹ãŠã® Kubernetes ã³ãã³ãã¯ãã®ã¢ã¯ãã£ããªããã©ã«ãã®åå空éã䜿çšããŸãã æ®å¿µãªãããkubectl ã䜿çšããŠã¢ã¯ãã£ããªåå空éã管çããããšãããšå€±æããå¯èœæ§ããããŸãã ãã ãããã®ããã»ã¹ãã¯ããã«ç°¡åã«ãã Kubens ãšåŒã°ããéåžžã«åªããããŒã«ããããŸãã kubens ã³ãã³ããå®è¡ãããšãã¢ã¯ãã£ããªåå空éã匷調衚瀺ãããç¶æ
ã§ãã¹ãŠã®åå空éã衚瀺ãããŸãã
ã¢ã¯ãã£ããªåå空éããã¹ãåå空éã«åãæ¿ããã«ã¯ã$kubens test ã³ãã³ããå®è¡ããã ãã§ãã $kubens ã³ãã³ããå床å®è¡ãããšãæ°ããã¢ã¯ãã£ããªåå空éãå²ãåœãŠãããŠããããšãããããŸã (test)ã
ããã¯ããã¹ãåå空éã§ãããã確èªããããã«åå空éãã©ã°ãå¿
èŠãªãããšãæå³ããŸãã
ãã®ããã«ããŠãåå空éã¯çžäºã«é èœãããŸãããçžäºã«åé¢ãããããšã¯ãããŸããã ããåå空éå
ã®ãµãŒãã¹ã¯ãå¥ã®åå空éå
ã®ãµãŒãã¹ãšéåžžã«ç°¡åã«éä¿¡ã§ãããããå€ãã®å Žåéåžžã«äŸ¿å©ã§ãã ç°ãªãåå空ééã§éä¿¡ã§ãããšããããšã¯ãéçºè
ã®ãµãŒãã¹ããç°ãªãåå空éã«ããå¥ã®éçºããŒã ã®ãµãŒãã¹ãšéä¿¡ã§ããããšãæå³ããŸãã
éåžžãã¢ããªã±ãŒã·ã§ã³ã Kubernetes ãµãŒãã¹ã«ã¢ã¯ã»ã¹ããå Žåã¯ãçµã¿èŸŒã¿ã® DNS æ€åºãµãŒãã¹ã䜿çšããã¢ããªã±ãŒã·ã§ã³ã«ãµãŒãã¹ã®ååãä»ããã ãã§ãã ãã ãããããè¡ããšãè€æ°ã®åå空éã«åãååã§ãµãŒãã¹ãäœæã§ããŸãããããã¯èš±å¯ãããŸããã
幞ããªããšã«ããã㯠DNS ã¢ãã¬ã¹ã®æ¡åŒµåœ¢åŒã䜿çšããããšã§ç°¡åã«åé¿ã§ããŸãã Kubernetes ã®ãµãŒãã¹ã¯ãå
±éã® DNS ãã³ãã¬ãŒãã䜿çšããŠãšã³ããã€ã³ããå
¬éããŸãã 次ã®ããã«ãªããŸãã
éåžžãå¿
èŠãªã®ã¯ãµãŒãã¹åã ãã§ãDNS ãå®å
šãªã¢ãã¬ã¹ãèªåçã«æ±ºå®ããŸãã
ãã ããå¥ã®åå空éã®ãµãŒãã¹ã«ã¢ã¯ã»ã¹ããå¿
èŠãããå Žåã¯ãåçŽã«ãµãŒãã¹åãšåå空éåã䜿çšããŸãã
ããšãã°ããã¹ãåå空éå
ã®ãµãŒãã¹ ããŒã¿ããŒã¹ã«æ¥ç¶ããå Žåã¯ãã¢ãã¬ã¹ ããŒã¿ããŒã¹ (database.test) ã䜿çšã§ããŸãã
prod åå空éã®ãµãŒãã¹ ããŒã¿ããŒã¹ã«æ¥ç¶ããå Žåã¯ãdatabase.prod ã䜿çšããŸãã
æ¬åœã«åå空éãžã®ã¢ã¯ã»ã¹ãåé¢ããŠå¶éãããå Žåã¯ãKubernetes ã§ã¯ Kubernetes ãããã¯ãŒã¯ ããªã·ãŒã䜿çšããŠãããè¡ãããšãã§ããŸãã ããã«ã€ããŠã¯æ¬¡ã®ãšããœãŒãã§è©±ããŸãã
ãåå空éã¯äœåãäœã®ç®çã§äœæããã°ããã§ãã?ããšãã質åãããåããŸãã 管çãããããŒã¿ãšã¯äœã§ãã?
äœæããåå空éãå€ããããšãéªéã«ãªãã ãã§ãã ãããã®æ°ãå°ãªããããšããã®ãããªãœãªã¥ãŒã·ã§ã³ã®å©ç¹ããã¹ãŠå€±ãããŸãã ãã¹ãŠã®äŒæ¥ãçµç¹æ§é ãæ§ç¯ããéã«ã¯ã䞻㫠XNUMX ã€ã®æ®µéãééãããšæããŸãã ãããžã§ã¯ããŸãã¯äŒç€Ÿã®éçºæ®µéã«å¿ããŠãé©åãªåå空éæŠç¥ãæ¡çšããããšãå¿ èŠã«ãªãå ŽåããããŸãã
ããªãã 5 ïœ 10 åã®ãã€ã¯ããµãŒãã¹ã®éçºã«åãçµãã§ããå°ããªããŒã ã®äžå¡ã§ããããã¹ãŠã®éçºè ã 2 ã€ã®éšå±ã«ç°¡åã«éããããšãã§ãããšæ³åããŠãã ããã ãã®ç¶æ³ã§ã¯ããã¹ãŠã®æ¬çªãµãŒãã¹ãããã©ã«ãã®åå空éã§å®è¡ããããšãåççã§ãã ãã¡ãããããæè»æ§ãé«ããããã«ãprod ãš dev ã«å¥ã ã« XNUMX ã€ã®åå空éã䜿çšããããšãã§ããŸãã ãããŠãããããMinikube ãªã©ã䜿çšããŠãããŒã«ã« ã³ã³ãã¥ãŒã¿ãŒã§éçºããã¹ãããŸãã
ç¶æ³ãå€ãããçŸåšãæ¥éã«æé·ããŠããããŒã ãäžåºŠã« 10 ãè¶ ãããã€ã¯ããµãŒãã¹ã«åãçµãã§ãããšããŸãã prod ãš dev ã«å¥ã ã«è€æ°ã®ã¯ã©ã¹ã¿ãŒãŸãã¯åå空éã䜿çšããå¿ èŠãããå ŽåããããŸãã ããŒã ãããã€ãã®ãµãããŒã ã«åå²ããŠãåããŒã ãç¬èªã®ãã€ã¯ããµãŒãã¹ãæã¡ãåããŒã ãç¬èªã®åå空éãéžæããŠããœãããŠã§ã¢éçºãšãªãªãŒã¹ã®ç®¡çããã»ã¹ã容æã«ããããšãã§ããŸãã
ããŒã ã®åã¡ã³ããŒãã·ã¹ãã å
šäœãã©ã®ããã«æ©èœãããã«ã€ããŠæŽå¯ãåŸãã«ã€ããŠããã¹ãŠã®å€æŽãä»ã®ãã¹ãŠã®éçºè
ãšèª¿æŽããããšããŸããŸãå°é£ã«ãªããŸãã ããŒã«ã« ãã·ã³äžã§ãã«ã¹ã¿ãã¯ãã¹ãã³ã¢ããããããšã¯ãæ¥ã«æ¥ã«å°é£ã«ãªã£ãŠããŠããŸãã
倧äŒæ¥ã§ã¯ãéçºè ã¯éåžžã誰ãæ£ç¢ºã«äœã«åãçµãã§ããã®ããç¥ããŸããã ããŒã ã¯ãµãŒãã¹ ã³ã³ãã©ã¯ãã䜿çšããŠéä¿¡ããããIstio æ§æããŒã«ãªã©ã®ãããã¯ãŒã¯äžã«æœè±¡åã¬ã€ã€ãŒãè¿œå ãããµãŒãã¹ ã¡ãã·ã¥ ãã¯ãããžã䜿çšããŸãã ã¹ã¿ãã¯å šäœãããŒã«ã«ã§å®è¡ããããšã¯äžå¯èœãªã®ã§ãKubernetes äžã® Spinnaker ã®ãããªç¶ç¶çããªããªãŒ (CD) ãã©ãããã©ãŒã ã䜿çšããããšã匷ããå§ãããŸãã ãããã£ãŠããã¹ãŠã®ã³ãã³ããå¿ ãç¬èªã®åå空éãå¿ èŠãšããæç¹ãæ¥ãŸãã åããŒã ã¯ãéçºç°å¢ãšæ¬çªç°å¢ã«è€æ°ã®åå空éãéžæããããšãã§ããŸãã
æåŸã«ãããéçºè ã°ã«ãŒããä»ã®ã°ã«ãŒãã®ååšããç¥ããªã倧èŠæš¡ãªèµ·æ¥å®¶äŒæ¥ãååšããŸãã ãã®ãããªäŒæ¥ã¯éåžžãååã«ææžåããã API ãéããŠå¯Ÿè©±ãããµãŒãããŒãã£éçºè ãéçšããå ŽåããããŸãã ãã®ãããªåã°ã«ãŒãã«ã¯ãããã€ãã®ããŒã ãšããã€ãã®ãã€ã¯ããµãŒãã¹ãå«ãŸããŠããŸãã ãã®å Žåãå ã»ã©èª¬æãããã¹ãŠã®ããŒã«ã䜿çšããå¿ èŠããããŸãã
ããã°ã©ãã¯ãµãŒãã¹ãæåã§å±éããŠã¯ãªããããµãŒãã¹ã«é¢ä¿ã®ãªãåå空éã«ã¢ã¯ã»ã¹ãã¹ãã§ã¯ãããŸããã ãã®æ®µéã§ã¯ãæ§æãäžååãªã¢ããªã±ãŒã·ã§ã³ã®ã圱é¿ç¯å²ããæžãããè«æ±ããã»ã¹ãšãªãœãŒã¹ç®¡çãç°¡çŽ åããããã«ãè€æ°ã®ã¯ã©ã¹ã¿ãŒãçšæããããšããå§ãããŸãã
ãããã£ãŠãçµç¹ã§åå空éãé©åã«äœ¿çšãããšãKubernetes ããã管çãããããå¶åŸ¡ãããããå®å šãã€æè»ã«ããããšãã§ããŸãã
ããã€ãã®åºå ð
ãã€ãã宿æ³ããã ãããããšãããããŸãã ç§ãã¡ã®èšäºãæ°ã«å
¥ã£ãŠããŸãã? ãã£ãšèå³æ·±ãã³ã³ãã³ããèŠããã§ãã? 泚æããããå人ã«å§ãããããŠç§ãã¡ããµããŒãããŠãã ããã
ã¢ã ã¹ãã«ãã ã®ãšã¯ã€ãã¯ã¹ Tier IV ããŒã¿ã»ã³ã¿ãŒã§ã¯ Dell R730xd ã 2 åå®ã? ããã ã
åºæïŒ habr.com