Kubernetes ãªãœãŒã¹ããšã«ããªã¯ãšã¹ããšå¶éã® XNUMX çš®é¡ã®èŠä»¶ãæ§æã§ããŸãã XNUMX ã€ç®ã¯ãã³ã³ãããŒãŸãã¯ããããå®è¡ããããã«å¿ èŠãªç©ºãããŒã ãªãœãŒã¹ã®å¯çšæ§ã«é¢ããæå°èŠä»¶ã説æããXNUMX ã€ç®ã¯ãã³ã³ãããŒã§äœ¿çšã§ãããªãœãŒã¹ãå³å¯ã«å¶éããŸãã
Kubernetes ãããããã¹ã±ãžã¥ãŒã«ããå Žåãã³ã³ãããŒãé©åã«æ©èœããã®ã«ååãªãªãœãŒã¹ãããããšãéåžžã«éèŠã§ãã ãªãœãŒã¹ã«å¶çŽã®ããããŒãã«å€§èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ããããã€ããããšãèšç»ããŠããå ŽåãããŒãã®ã¡ã¢ãªãäžè¶³ããŠããããCPU ãã¯ãŒãäžè¶³ããŠããããã«ã¢ããªã±ãŒã·ã§ã³ãå®è¡ãããªãå¯èœæ§ããããŸãã ãã®èšäºã§ã¯ããªãœãŒã¹ã®èŠæ±ãšå¶éã䜿çšããŠã³ã³ãã¥ãŒãã£ã³ã°èœåã®äžè¶³ã解決ããæ¹æ³ãèŠãŠãããŸãã
ãªã¯ãšã¹ããšå¶éã¯ãKubernetes ã CPU ãã¡ã¢ãªãªã©ã®ãªãœãŒã¹ã管çããããã«äœ¿çšããã¡ã«ããºã ã§ãã ãªã¯ãšã¹ãã¯ãã³ã³ããããªã¯ãšã¹ãããããªãœãŒã¹ã確å®ã«åãåãããã«ãããã®ã§ãã ã³ã³ãããŒããªãœãŒã¹ããªã¯ãšã¹ãããå ŽåãKubernetes ã¯ãããæäŸã§ããããŒãäžã§ã®ã¿ãªãœãŒã¹ãã¹ã±ãžã¥ãŒã«ããŸãã å¶éã¯ãã³ã³ãããŒã«ãã£ãŠèŠæ±ããããªãœãŒã¹ãç¹å®ã®å€ãè¶ ããªãããã«å¶åŸ¡ããŸãã
ã³ã³ãããŒã®ã³ã³ãã¥ãŒãã£ã³ã°èœåã¯äžå®ã®å¶éãŸã§ããå¢å ã§ããããããè¶ ãããšå¶éãããŸãã ã©ã®ããã«æ©èœããããèŠãŠã¿ãŸãããã ãããã£ãŠããªãœãŒã¹ã«ã¯ããã»ããµãšã¡ã¢ãªã® XNUMX çš®é¡ããããŸãã Kubernetes ã¹ã±ãžã¥ãŒã©ã¯ããããã®ãªãœãŒã¹ã«é¢ããããŒã¿ã䜿çšããŠãããããå®è¡ããå Žæãå€æããŸãã ãããã®äžè¬çãªãªãœãŒã¹ä»æ§ã¯æ¬¡ã®ããã«ãªããŸãã
ãããå
ã®åã³ã³ãããŒã¯ç¬èªã®ã¯ãšãªãšå¶éãèšå®ã§ãããã¹ãŠè¿œå çã§ãã ããã»ããµ ãªãœãŒã¹ã¯ããªã³ã¢ã§å®çŸ©ãããŸãã ã³ã³ãããŒã®å®è¡ã« 2000 ã€ã®å®å
šãªã³ã¢ãå¿
èŠãªå Žåã¯ãå€ã 1m ã«èšå®ããŸãã ã³ã³ãããã³ã¢ã® 4/250 ã®é»åã®ã¿ãå¿
èŠãšããå Žåãå€ã¯ XNUMXm ã«ãªããŸãã æ倧ã®ããŒãã®ã³ã¢æ°ããã倧ãã CPU ãªãœãŒã¹å€ãå²ãåœãŠããšããããã®èµ·åããŸã£ããã¹ã±ãžã¥ãŒã«ãããªããªãããšã«æ³šæããŠãã ããã XNUMX ã€ã®ã³ã¢ãå¿
èŠãšãããããããããKubernetes ã¯ã©ã¹ã¿ãŒã XNUMX ã€ã®ã¡ã€ã³ä»®æ³ãã·ã³ã®ã¿ã§æ§æãããŠããå Žåã«ããåæ§ã®ç¶æ³ãçºçããŸãã
ã¢ããªã±ãŒã·ã§ã³ãè€æ°ã®ã³ã¢ã掻çšããããã«ç¹å¥ã«èšèšãããŠããªãéã (è€éãªç§åŠèšç®ãããŒã¿ããŒã¹æäœãªã©ã®ããã°ã©ã ãæãæµ®ãã³ãŸã)ããã¹ã ãã©ã¯ãã£ã¹ã¯ãCPU ãªã¯ãšã¹ãã 1 以äžã«èšå®ããã¹ã±ãŒã©ããªãã£ãé«ããããã«ããå€ãã®ã¬ããªã«ãå®è¡ããããšã§ãã ãã®ãœãªã¥ãŒã·ã§ã³ã«ãããã·ã¹ãã ã®æè»æ§ãšä¿¡é Œæ§ãåäžããŸãã
CPU ã®å¶éã«é¢ããŠã¯ãCPU ã¯å§çž®å¯èœãªãªãœãŒã¹ãšã¿ãªãããŠãããããäºæ ã¯ããã«èå³æ·±ããã®ã«ãªããŸãã ã¢ããªã±ãŒã·ã§ã³ãããã»ããµãŒã®é»åå¶éã«è¿ã¥ãå§ãããšãKubernetes 㯠CPU ã¹ããããªã³ã°ã䜿çšããŠã³ã³ãããŒã®é床ãäœäžãããããã»ããµãŒã®åšæ³¢æ°ãäžãå§ããŸãã ããã¯ãCPU ã人çºçã«ã¹ãããã«ãããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãäœäžããå¯èœæ§ããããŸãããããã»ã¹ãçµäºãããåé€ããããããããšã¯ãªãããšãæå³ããŸãã
ã¡ã¢ãª ãªãœãŒã¹ã¯ãã€ãåäœã§å®çŸ©ãããŸãã éåžžãèšå®ã®å€ã¯ã¡ããã€ã Mib åäœã§æž¬å®ãããŸããããã€ããããã¿ãã€ããŸã§ã®ä»»æã®å€ãèšå®ã§ããŸãã CPU ã®å Žåãšåãç¶æ³ãããã«ãåœãŠã¯ãŸããŸããããŒãäžã®ã¡ã¢ãªéãè¶ ããéã®ã¡ã¢ãªããªã¯ãšã¹ããããšããã®ãããã¯å®è¡ããããã«ã¹ã±ãžã¥ãŒã«ãããŸããã ãã ããCPU ãªãœãŒã¹ãšã¯ç°ãªããã¡ã¢ãªã®äœ¿çšãå¶éããæ¹æ³ããªããããã¡ã¢ãªã¯å§çž®ãããŸããã ãããã£ãŠãã³ã³ãããŒã«å²ãåœãŠãããã¡ã¢ãªãè¶ ãããšãã³ã³ãããŒã®å®è¡ã¯ããã«åæ¢ãããŸãã
ããŒããæäŸã§ãããªãœãŒã¹ãè¶
ãããªã¯ãšã¹ãã¯æ§æã§ããªãããšã«æ³šæããŠãã ããã GKE ä»®æ³ãã·ã³ã®å
±æãªãœãŒã¹ã®ä»æ§ã«ã€ããŠã¯ããã®åç»ã®äžã®ãªã³ã¯ã«ãããŸãã
çæ³çãªäžçã§ã¯ãã³ã³ãããŒã®ããã©ã«ãèšå®ã§ã¯ãŒã¯ãããŒãã¹ã ãŒãºã«å®è¡ãç¶ããã®ã«ååã§ãã ããããçŸå®ã®äžçã¯ããã§ã¯ãããŸããã人ã ã¯ãªãœãŒã¹ã®äœ¿çšã®æ§æãç°¡åã«å¿ããããããã«ãŒãã€ã³ãã©ã¹ãã©ã¯ãã£ã®å®éã®æ©èœãè¶ ãããªã¯ãšã¹ããå¶éãèšå®ãããããå¯èœæ§ããããŸãã ãã®ãããªã·ããªãªã®çºçãé²ãããã«ãResourceQuota ããã³ LimitRange ãªãœãŒã¹ ã¯ã©ãŒã¿ãæ§æã§ããŸãã
ããŒã ã¹ããŒã¹ãäœæããããšãã¯ã©ãŒã¿ã䜿çšããŠããŒã ã¹ããŒã¹ããããã¯ã§ããŸãã ããšãã°ãprod åå空éãš dev åå空éãããå Žåãéçšã¯ã©ãŒã¿ããŸã£ãããªããéçºã¯ã©ãŒã¿ãéåžžã«å³ãããšãããã¿ãŒã³ã«ãªããŸãã ããã«ããããã©ãã£ãã¯ãæ¥å¢ããå Žåã«ãprod ãå©çšå¯èœãªãªãœãŒã¹å šäœãåŒãç¶ããdev ãå®å šã«ãããã¯ããããšãã§ããŸãã
ãªãœãŒã¹å²ãåœãŠã¯æ¬¡ã®ããã«ãªããŸãã ãã®äŸã«ã¯ 4 ã€ã®ã»ã¯ã·ã§ã³ããããŸãããããã¯ã³ãŒãã®æåŸã® 4 è¡ã§ãã
ãããããèŠãŠã¿ãŸãããã Requests.cpu ã¯ãåå空éå
ã®ãã¹ãŠã®ã³ã³ãããŒããéä¿¡ã§ããåèš CPU ãªã¯ãšã¹ãã®æ倧æ°ã§ãã ãã®äŸã§ã¯ã50 äžä»¶ã®ãªã¯ãšã¹ããå«ã 10 åã®ã³ã³ãããŒã100m ãªã¯ãšã¹ããå«ã 500 åã®ã³ã³ãããŒããŸã㯠500m ãªã¯ãšã¹ããå«ã XNUMX ã€ã®ã³ã³ãããŒã®ã¿ãååšããå¯èœæ§ããããŸãã ç¹å®ã®åå空éã®requests.cpuã®ç·æ°ãXNUMXmæªæºã§ããã°ããã¹ãŠåé¡ãããŸããã
èŠæ±ãããã¡ã¢ãª requests.memory ã¯ãåå空éå ã®ãã¹ãŠã®ã³ã³ãããŒãæã€ããšãã§ããåèšã¡ã¢ãªèŠæ±ã®æ倧éã§ãã åã®ã±ãŒã¹ãšåæ§ãããŒã ã¹ããŒã¹ã§èŠæ±ãããã¡ã¢ãªã®åèšéã 50 ã¡ããã€ãæªæºã§ããã°ã2 mib ã³ã³ãããŒã 20 åã100 mib ã³ã³ãããŒã 100 ã€ããŸã㯠XNUMX mib ã³ã³ãããŒã XNUMX ã€äœ¿çšã§ããŸãã
Limits.cpu ã¯ãåå空éå ã®ãã¹ãŠã®ã³ã³ãããŒã䜿çšã§ãã CPU èœåã®æ倧åèšéã§ãã ãããããã»ããµé»åèŠæ±ã®éçã§ãããšèããããšãã§ããŸãã
æåŸã«ãlimits.memory ã¯ãåå空éå
ã®ãã¹ãŠã®ã³ã³ãããŒã䜿çšã§ããå
±æã¡ã¢ãªã®æ倧éã§ãã ããã¯åèšã¡ã¢ãªèŠæ±ã®å¶éã§ãã
ãã®ãããããã©ã«ãã§ã¯ãKubernetes ã¯ã©ã¹ã¿ãŒå
ã®ã³ã³ãããŒã¯ç¡å¶éã®ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã§å®è¡ãããŸãã ãªãœãŒã¹ ã¯ã©ãŒã¿ã䜿çšãããšãã¯ã©ã¹ã¿ãŒç®¡çè
ã¯ãåå空éã«åºã¥ããŠãªãœãŒã¹ã®æ¶è²»ãšãªãœãŒã¹ã®äœæãå¶éã§ããŸãã åå空éã§ã¯ãããããŸãã¯ã³ã³ããã¯ãåå空éã®ãªãœãŒã¹å²ãåœãŠã«ãã£ãŠæ±ºå®ãããéã® CPU ãã¯ãŒãšã¡ã¢ãªãæ¶è²»ã§ããŸãã ãã ããXNUMX ã€ã®ããããŸãã¯ã³ã³ãããŒãå©çšå¯èœãªãã¹ãŠã®ãªãœãŒã¹ãç¬å ããå¯èœæ§ããããšããæžå¿µããããŸãã ãã®ç¶æ³ãé²ãããã«ãåå空éå
ã®ãªãœãŒã¹ (ããããŸãã¯ã³ã³ãããŒçš) ã®å²ãåœãŠãå¶éããããªã·ãŒã§ããå¶éç¯å²ã䜿çšãããŸãã
å¶éç¯å²ã«ããã次ã®ãããªå¶éãæäŸãããŸãã
- åå空éå ã®åã¢ãžã¥ãŒã«ãŸãã¯ã³ã³ãããŒã®ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã®æå°äœ¿çšéãšæ倧䜿çšéã確ä¿ããŸãã
- åå空éå ã®å PersistentVolumeClaim ã«å¯ŸããŠæå°ããã³æ倧㮠Starage Request ã¹ãã¬ãŒãž ãªã¯ãšã¹ãã匷å¶ããŸãã
- åå空éå ã®ãªãœãŒã¹ã«å¯Ÿãããªã¯ãšã¹ããšå¶éã®éã®é¢ä¿ã匷å¶ããŸãã
- åå空éå ã®ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã®ããã©ã«ãã®ãªã¯ãšã¹ã/å¶éãèšå®ããå®è¡æã«ããããã³ã³ãããŒã«èªåçã«æ¿å ¥ããŸãã
ãã®ããã«ããŠãåå空éã«å¶éç¯å²ãäœæã§ããŸãã åå空éå šäœã«é©çšãããã¯ã©ãŒã¿ãšã¯ç°ãªããå¶éç¯å²ã¯åã ã®ã³ã³ãããŒã«äœ¿çšãããŸãã ããã«ããããŠãŒã¶ãŒãåå空éå ã«éåžžã«å°ããªã³ã³ãããŒãäœæããããéã«å·šå€§ãªã³ã³ãããŒãäœæãããããããšãã§ããªããªããŸãã å¶éç¯å²ã¯æ¬¡ã®ããã«ãªããŸãã
åã®ã±ãŒã¹ãšåæ§ã«ãããã§ã 4 ã€ã®ã»ã¯ã·ã§ã³ãåºå¥ã§ããŸãã ãããããèŠãŠã¿ãŸãããã
ããã©ã«ã ã»ã¯ã·ã§ã³ã§ã¯ããããå
ã®ã³ã³ãããŒã®ããã©ã«ãå¶éãèšå®ããŸãã ãããã®å€ã極端ãªç¯å²ã«èšå®ãããšããããã®å€ãæ瀺çã«èšå®ãããŠããªãã³ã³ããã¯ããã©ã«ãå€ã«åŸããŸãã
ããã©ã«ãã®ãªã¯ãšã¹ãã»ã¯ã·ã§ã³ã®defaultRequestã¯ããããå ã®ã³ã³ããã«å¯Ÿããããã©ã«ãã®ãªã¯ãšã¹ããæ§æããŸãã ç¹°ãè¿ããŸããããããã®å€ã極端ãªç¯å²ã«èšå®ãããšããããã®ãªãã·ã§ã³ãæ瀺çã«èšå®ããŠããªãã³ã³ãããŒã¯ããã©ã«ãã§ãããã®å€ã«ãªããŸãã
max ã»ã¯ã·ã§ã³ã§ã¯ããããå ã®ã³ã³ãããŒã«èšå®ã§ããæ倧å¶éãæå®ããŸãã ããã©ã«ãã»ã¯ã·ã§ã³ã®å€ãšã³ã³ããå¶éã¯ããã®å¶éãè¶ ããŠèšå®ããããšã¯ã§ããŸããã å€ã max ã«èšå®ãããŠãããããã©ã«ã ã»ã¯ã·ã§ã³ããªãå Žåã¯ãæ倧å€ãããã©ã«ãå€ã«ãªãããšã«æ³šæããŠãã ããã
min ã»ã¯ã·ã§ã³ã§ã¯ããããå ã®ã³ã³ãããŒã«èšå®ã§ããæå°ãªã¯ãšã¹ããæå®ããŸãã ãã ããã³ã³ããã®ããã©ã«ã ã»ã¯ã·ã§ã³ãšã¯ãšãªã®å€ããã®å¶éæªæºã«èšå®ããããšã¯ã§ããŸããã
ç¹°ãè¿ããŸããããã®å€ãèšå®ãããŠããŠããã©ã«ããèšå®ãããŠããªãå Žåãæå°å€ãããã©ã«ãã®ããã³ããã«ãªãããšã«æ³šæããããšãéèŠã§ãã
ãããã®ãªãœãŒã¹ ãªã¯ãšã¹ãã¯ãæçµçã« Kubernetes ã¹ã±ãžã¥ãŒã©ã«ãã£ãŠã¯ãŒã¯ããŒããå®è¡ããããã«äœ¿çšãããŸãã ã³ã³ãããæ£ããæ§æããã«ã¯ãã³ã³ãããã©ã®ããã«æ©èœããããç解ããããšãéåžžã«éèŠã§ãã ã¯ã©ã¹ã¿ãŒå ã§è€æ°ã®ããããå®è¡ããããšããŸãã ãããã®ä»æ§ãæå¹ã§ãããšä»®å®ãããšãKubernetes ã¹ã±ãžã¥ãŒã«ã¯ã©ãŠã³ã ããã³ ãã©ã³ã·ã³ã°ã䜿çšããŠãã¯ãŒã¯ããŒããå®è¡ããããŒããéžæããŸãã
Kubernetes ã¯ãããŒã 1 ã«ããã ã³ã³ããããã®ãªã¯ãšã¹ããæºããã®ã«ååãªãªãœãŒã¹ããããã©ããã確èªãããªãå Žåã¯æ¬¡ã®ããŒãã«ç§»åããŸãã ã·ã¹ãã å
ã®ã©ã®ããŒãããªã¯ãšã¹ããæºããããšãã§ããªãå Žåããããã¯ä¿çç¶æ
ã«ãªããŸãã ããŒãã®èªåã¹ã±ãŒãªã³ã°ãªã©ã® Google Kubernetes ãšã³ãžã³ã®æ©èœã䜿çšãããšãGKE ã¯åŸ
æ©ç¶æ
ãèªåçã«æ€åºããããã«ããã€ãã®è¿œå ããŒããäœæã§ããŸãã
ãã®åŸããŒãã®å®¹éã足ããªããªã£ãå Žåãèªåã¹ã±ãŒãªã³ã°ã«ãã£ãŠããŒãã®æ°ãæžããè²»çšãç¯çŽãããŸãã ããããKubernetes ããªã¯ãšã¹ãã«åºã¥ããŠããããã¹ã±ãžã¥ãŒã«ããçç±ã§ãã ãã ããå¶éã¯ãªã¯ãšã¹ããããé«ããªãå¯èœæ§ããããå Žåã«ãã£ãŠã¯ããŒããå®éã«ãªãœãŒã¹ã䜿ãæããå¯èœæ§ããããŸãã ãã®ç¶æ ããªãŒããŒã³ãããç¶æ ãšåŒã³ãŸãã
å
ã»ã©ãè¿°ã¹ãããã«ãCPU ã«é¢ããŠèšãã°ãKubernetes ã¯ãããã®å¶éãéå§ããŸãã åãããã¯èŠæ±ããã ãã®éãåãåããŸãããå¶éã«éããªãå Žåã¯ãã¹ããããªã³ã°ãé©çšããå§ããŸãã
ã¡ã¢ãª ãªãœãŒã¹ã«é¢ããŠã¯ãKubernetes ã¯ã·ã¹ãã ãªãœãŒã¹ã解æŸãããŸã§ãã©ã®ããããåé€ããã©ã®ããããä¿æãããã決å®ããå¿ èŠããããŸããããããªããšã·ã¹ãã å šäœãã¯ã©ãã·ã¥ããŸãã
ãã·ã³ã®ã¡ã¢ãªãäžè¶³ããŠããã·ããªãªãæ³åããŠã¿ãŸããããKubernetes ã¯ãããã©ã®ããã«åŠçããã§ãããã?
Kubernetes ã¯ãèŠæ±ãããããå€ãã®ãªãœãŒã¹ã䜿çšããŠããããããæ¢ããŸãã ãããã£ãŠãã³ã³ãããŒã«ãªã¯ãšã¹ãããŸã£ãããªãå Žåãããã¯åã«ã³ã³ãããŒãäœããªã¯ãšã¹ãããŠããªããšããçç±ã§ãããã©ã«ãã§ãªã¯ãšã¹ããã以äžã®ãªã¯ãšã¹ãã䜿çšããŠããããšãæå³ããŸãã ãã®ãããªã³ã³ããã¯ã·ã£ããããŠã³ã®äž»ãªåè£ã«ãªããŸãã 次ã®åè£ã¯ããã¹ãŠã®ãªã¯ãšã¹ããæºãããŠãããã®ã®ããŸã æ倧å¶éãäžåã£ãŠããã³ã³ããã§ãã
ãã®ãããKubernetes ã¯ãªã¯ãšã¹ã ãã©ã¡ãŒã¿ãŒãè¶ ããè€æ°ã®ããããèŠã€ããå Žåãããããåªå 床ã§äžŠã¹æ¿ããŠãæãåªå 床ã®äœãããããåé€ããŸãã ãã¹ãŠã®ãããã®åªå 床ãåãå ŽåãKubernetes ã¯ãªã¯ãšã¹ããè¶ ããããããä»ã®ããããããçµäºããŸãã
éåžžã«ãŸããªã±ãŒã¹ã§ãããKubernetes ã¯ãªã¯ãšã¹ãã®ç¯å²å
ã«ããããããäžæ¢ããããšããããŸãã ããã¯ãKubelet ãšãŒãžã§ã³ãã Docker ãªã©ã®éèŠãªã·ã¹ãã ã³ã³ããŒãã³ããããããã«äºçŽãããŠãããªãœãŒã¹ãè¶
ãããªãœãŒã¹ãæ¶è²»ãå§ãããšçºçããå¯èœæ§ããããŸãã
ãããã£ãŠãå°èŠæš¡äŒæ¥ã®åæ段éã§ã¯ãKubernetes ã¯ã©ã¹ã¿ãŒã¯ãªãœãŒã¹ã®ãªã¯ãšã¹ããå¶éãèšå®ããªããŠãåé¡ãªãæ©èœããŸãããããŒã ããããžã§ã¯ãã®èŠæš¡ã倧ãããªãå§ãããšããã®é åã§åé¡ãçºçãããªã¹ã¯ãçããŸãã ã¢ãžã¥ãŒã«ãšåå空éã«ã¯ãšãªãšå¶çŽãè¿œå ããã®ã«äœåãªåŽåã¯ã»ãšãã©å¿
èŠãªããå€ãã®æéãçãããšãã§ããŸãã
ããã€ãã®åºå ð
ãã€ãã宿æ³ããã ãããããšãããããŸãã ç§ãã¡ã®èšäºãæ°ã«å
¥ã£ãŠããŸãã? ãã£ãšèå³æ·±ãã³ã³ãã³ããèŠããã§ãã? 泚æããããå人ã«å§ãããããŠç§ãã¡ããµããŒãããŠãã ããã
ã¢ã ã¹ãã«ãã ã®ãšã¯ã€ãã¯ã¹ Tier IV ããŒã¿ã»ã³ã¿ãŒã§ã¯ Dell R730xd ã 2 åå®ã? ããã ã
åºæïŒ habr.com