ãã®ã¬ããŒãã¯ãKubernetes ã§ã®ãªãã¬ãŒã¿ãŒã®éçºããã®ã¢ãŒããã¯ãã£ãŒããã³åºæ¬çãªåäœåçã®èšèšã«é¢ããå®è·µçãªåé¡ã«çŠç¹ãåœãŠãŠããŸãã
ã¬ããŒãã®æåã®éšåã§ã¯ã次ã®ããšãæ€èšããŸãã
- Kubernetes ã®ãªãã¬ãŒã¿ãŒãšã¯äœã§ãã?ãªãå¿ èŠã§ããã
- ãªãã¬ãŒã¿ãŒãè€éãªã·ã¹ãã ã®ç®¡çãããã«æ£ç¢ºã«ç°¡çŽ åãããã
- ãªãã¬ãŒã¿ãŒãã§ããããšãã§ããªãããšã
次ã«ããªãã¬ãŒã¿ãŒã®å éšæ§é ã«ã€ããŠèª¬æããŸãã ãªãã¬ãŒã¿ãŒã®ã¢ãŒããã¯ãã£ãšæäœã段éçã«èŠãŠã¿ãŸãããã 詳ããèŠãŠã¿ãŸããã:
- ãªãã¬ãŒã¿ãŒãš Kubernetes ã®éã®å¯Ÿè©±ã
- ãªãã¬ãŒã¿ãŒãåŒãåããæ©èœãšãKubernetes ã«å§ä»»ããæ©èœã
Kubernetes ã§ã®ã·ã£ãŒããšããŒã¿ããŒã¹ ã¬ããªã«ã®ç®¡çãèŠãŠã¿ãŸãããã
次ã«ãããŒã¿ ã¹ãã¬ãŒãžã®åé¡ã«ã€ããŠèª¬æããŸãã
- ãªãã¬ãŒã¿ãŒã®èŠ³ç¹ããæ°žç¶ã¹ãã¬ãŒãžãã©ã®ããã«æ±ããã
- ããŒã«ã« ã¹ãã¬ãŒãžã䜿çšããå Žåã®èœãšãç©Žã
ã¬ããŒãã®æåŸã®éšåã§ã¯ãå®éã®å¿çšäŸãæ€èšããŸãã
ãããªïŒ
ç§ã®ååã¯ãŠã©ãžã¹ã©ãã»ã¯ãªã¡ã³ã³ã§ãã ä»æ¥ã¯ãããŒã¿ããŒã¹ã¯ã©ã¹ã¿ãŒã管çããããã®å°éãªãã¬ãŒã¿ãŒã§ãããªãã¬ãŒã¿ãŒã®éçºãšéçšã®çµéšã«ã€ããŠè©±ããããšæããŸãã äŸãã°
ãªãéå¶è ãšClickHouseã«ã€ããŠè©±ãæ©äŒãããã®ã§ãããã?
- ç§ãã¡ã¯ClickHouseããµããŒãããéçºããŠããŸãã
- çŸåšãç§ãã¡ã¯ ClickHouse ã®éçºã«å°ããã€è²¢ç®ããããšããŠããŸãã ãŸããClickHouse ã«å ããããå€æŽã®éã«é¢ããŠã¯ãYandex ã«æ¬¡ã㧠XNUMX äœã§ãã
- ç§ãã¡ã¯ãClickHouse ãšã³ã·ã¹ãã ã®ããã®è¿œå ãããžã§ã¯ããå®è¡ããããšããŠããŸãã
ãã®ãã¡ã®äžã€ã®ãããžã§ã¯ãã«ã€ããŠã話ãããããšæããŸãã ããã¯ãKubernetes ã® ClickHouse ãªãã¬ãŒã¿ãŒã«ã€ããŠã§ãã
ç§ã®ã¬ããŒãã§ã¯ã次㮠XNUMX ã€ã®ãããã¯ã«ã€ããŠè§ŠããããšæããŸãã
- æåã®ãããã¯ã¯ãClickHouse ããŒã¿ããŒã¹ç®¡çãªãã¬ãŒã¿ãŒã Kubernetes ã§ã©ã®ããã«æ©èœãããã§ãã
- XNUMX çªç®ã®ãããã¯ã¯ããªãã¬ãŒã¿ãŒãã©ã®ããã«æ©èœããããã€ãŸããªãã¬ãŒã¿ãŒãã©ã®ããã« Kubernetes ãšå¯Ÿè©±ãããã§ãã
ãã ããããã XNUMX ã€ã®è³ªåã¯ç§ã®ã¬ããŒãå šäœã§äº€å·®ããŸãã
ç§ã®èšãããšããŠããããšã«èå³ãæã£ãŠèã人ãããã ãããïŒ
- ãªãã¬ãŒã¿ãéçšãã人ã«ãšã£ãŠã¯æãèå³æ·±ãããšã§ãããã
- ãŸãã¯ãå éšã§ã©ã®ããã«åäœãããããªãã¬ãŒã¿ãŒã Kubernetes ãšã©ã®ããã«å¯Ÿè©±ããããã©ã®ãããªèœãšãç©ŽãçŸããããç解ããããã«ç¬èªã«äœæããããšèããŠãã人åãã§ãã
ä»æ¥èª¬æããå 容ãæãããç解ããã«ã¯ãKubernetes ãã©ã®ããã«æ©èœããããç解ããåºæ¬çãªã¯ã©ãŠã ãã¬ãŒãã³ã°ãåããããšããå§ãããŸãã
ã¯ãªãã¯ããŠã¹ãšã¯äœã§ããïŒ ããã¯ãåæã¯ãšãªã®ãªã³ã©ã€ã³åŠçã®ããã®ç¹å®ã®æ©èœãåããåæåããŒã¿ããŒã¹ã§ãã ãããŠããã¯å®å šã«ãªãŒãã³ãœãŒã¹ã§ãã
ãããŠãç§ãã¡ã«ãšã£ãŠéèŠãªããšã¯ XNUMX ã€ã ãã§ãã ããã¯ããŒã¿ããŒã¹ã§ããããšãç解ããŠããå¿ èŠããããããããã§èª¬æããå 容ã¯ã»ãŒãã¹ãŠã®ããŒã¿ããŒã¹ã«åœãŠã¯ãŸããŸãã ãŸããClickHouse DBMS ã¯éåžžã«ããŸãæ¡åŒµã§ãããããã»ãŒçŽç·çãªæ¡åŒµæ§ãåŸãããŸãã ãããã£ãŠãã¯ã©ã¹ã¿ãŒã®ç¶æ 㯠ClickHouse ã«ãšã£ãŠèªç¶ãªç¶æ ã§ãã ãããŠãç§ãã¡ãæãèå³ãæã£ãŠããã®ã¯ãKubernetes 㧠ClickHouse ã¯ã©ã¹ã¿ãŒãæäŸããæ¹æ³ã«ã€ããŠè°è«ããããšã§ãã
ãªã圌ãããã§å¿ èŠãšãããã®ã§ããããïŒ ãªãèªåãã¡ã ãã§éå¶ãç¶ããããªãã®ã§ããããïŒ ãããŠãã®çãã¯ãéšåçã«ã¯æè¡çãªãã®ã§ãããéšåçã«ã¯çµç¹çãªãã®ã§ãã
- å®éã倧äŒæ¥ã§ã¯ã»ãŒãã¹ãŠã®ã³ã³ããŒãã³ãããã§ã« Kubernetes ã«ãããšããç¶æ³ã«ééããããšãå¢ããŠããŸãã ããŒã¿ããŒã¹ã¯å€éšã«æ®ããŸãã
- ãããŠãããããå±å ã«èšçœ®ã§ããã®ãïŒããšããçåããŸããŸãé«ãŸã£ãŠããŸãã ãããã£ãŠã倧äŒæ¥ã¯ããŒã¿ ãŠã§ã¢ããŠã¹ãè¿ éã«ç®¡çã§ããããã«ããããã«ã管çã®æ倧éã®çµ±åãå®çŸããããšããŠããŸãã
- ããã¯ãæ°ããå Žæã§åãããšãç¹°ãè¿ãæ倧éã®æ©äŒãã€ãŸãæ倧éã®ç§»æ€æ§ãå¿ èŠãªå Žåã«ç¹ã«åœ¹ç«ã¡ãŸãã
ã©ããããç°¡åã§ããããããšãé£ããã§ãã? ãã¡ãããããã¯æäœæ¥ã§è¡ãããšãã§ããŸãã ããããããã¯ããã»ã©åçŽã§ã¯ãããŸãããKubernetes èªäœã®ç®¡çãããã«è€éã«ãªããåæã« ClickHouse ã®è©³çŽ°ãéãåããããããã§ãã ãããŠããã®ãããªéèšçµæãåŸãããŸãã
ãããããã¹ãŠåããããšãããªã倧èŠæš¡ãªãã¯ãããžã®ã»ãããåŸãããŸãããKubernetes ã¯æ¥åžžã®éçšã«ç¬èªã®åé¡ããããããClickHouse ã¯æ¥åžžã®éçšã«ç¬èªã®åé¡ãããããããã管çãéåžžã«å°é£ã«ãªããŸãã ç¹ã«ãè€æ°ã® ClickHouse ãããããããã«å¯ŸããŠåžžã«äœããè¡ãå¿ èŠãããå Žåã¯ç¹ã«ããã§ãã
åçæ§æã®å ŽåãClickHouse ã«ã¯ãDevOps ã«äžå®ã®è² è·ãããããéåžžã«å€ãã®åé¡ããããŸãã
- ããšãã°ãã¬ããªã«ãã·ã£ãŒããè¿œå ãããªã©ãClickHouse ã§äœããå€æŽãããå Žåã¯ãæ§æã管çããå¿ èŠããããŸãã
- ClickHouse ã«ã¯ç¹å®ã®ã·ã£ãŒãã£ã³ã°æ¹æ³ããããããããŒã¿ ã¹ããŒããå€æŽããŸãã ããã§ã¯ããŒã¿å³ãã¬ã€ã¢ãŠãããæ§æãã¬ã€ã¢ãŠãããå¿ èŠããããŸãã
- ç£èŠãèšå®ããå¿ èŠããããŸãã
- æ°ããã·ã£ãŒããæ°ããã¬ããªã«ã®ãã°ãåéããŸãã
- 埩å ã«æ°ãã€ããŠãã ããã
- ãããŠåèµ·åã
ãããã¯æ¥åžžçãªã¿ã¹ã¯ãªã®ã§ããã£ãšäœ¿ããããããããšæã£ãŠããŸãã
Kubernetes èªäœã¯éçšã«ã¯åœ¹ç«ã¡ãŸãããåºæ¬çãªã·ã¹ãã ã«é¢ããŠã¯åœ¹ã«ç«ã¡ãŸãã
Kubernetes ã¯ã次ã®ãããªããšã®ä¿é²ãšèªååã«åªããŠããŸãã
- å埩ã
- åèµ·åã
- ã¹ãã¬ãŒãž ã·ã¹ãã ã®ç®¡çã
ããã¯è¯ãããšã§ããããã¯æ£ããæ¹åã§ããã圌ã¯ããŒã¿ããŒã¹ ã¯ã©ã¹ã¿ãŒã®éçšæ¹æ³ã«ã€ããŠã¯ãŸã£ããã®ç¡ç¥ã§ãã
ç§ãã¡ã¯ããã«å€ãã®ããšãæã¿ãããŒã¿ããŒã¹å šäœã Kubernetes ã§åäœãããããšèããŠããŸãã
ç§ã¯ã倧ããªéæ³ã®èµ€ããã¿ã³ã®ãããªãã®ãæã«å ¥ããããšèããŠããŸãããããæŒããšã解決ããå¿ èŠãããæ¥åžžçãªã¿ã¹ã¯ãå«ãã¯ã©ã¹ã¿ãŒããããã€ãããã©ã€ããµã€ã¯ã«å šäœã«ããã£ãŠç¶æãããŸãã Kubernetes ã® ClickHouse ã¯ã©ã¹ã¿ãŒã
ãããŠãäœæ¥ã容æã«ãããœãªã¥ãŒã·ã§ã³ãäœæããããšããŸããã ããã¯ãAltinity ã® Kubernetes çš ClickHouse ãªãã¬ãŒã¿ãŒã§ãã
ãªãã¬ãŒã¿ãŒã¯ãä»ã®ããã°ã©ã ã管çããããšãäž»ãªã¿ã¹ã¯ãšããããã°ã©ã ãã€ãŸããããŒãžã£ãŒã§ãã
ãããŠããã«ã¯è¡åãã¿ãŒã³ãå«ãŸããŠããŸãã ããã¯ãäž»é¡åéã«é¢ããäœç³»åãããç¥èãšåŒã¶ããšãã§ããŸãã
ãããŠã圌ã®äž»ãªã¿ã¹ã¯ã¯ãDevOps ã®ç掻ã容æã«ãããã€ã¯ããããžã¡ã³ããæžããããšã§ããããããããšã§ã圌 (DevOps) ã¯æ¢ã«é«ã¬ãã«ã®èŠ³ç¹ããèããããã«ãªããŸããã€ãŸãã圌 (DevOps) ããã€ã¯ããããžã¡ã³ãã«åŸäºããªãããã«ãã€ãŸããèšå®ãè¡ããªãããã«ããããšã§ãããã¹ãŠã®è©³çŽ°ã¯æåã§è¡ããŸãã
ãããŠããªãã¬ãŒã¿ãŒã ããããã€ã¯ãã¿ã¹ã¯ãåŠçããDevOps ãæ¯æŽããããããã¢ã·ã¹ã¿ã³ãã§ãã
ãªããªãã¬ãŒã¿ãŒãå¿ èŠãªã®ã§ãããã? 圌ã¯æ¬¡ã® XNUMX ã€ã®åéã§ç¹ã«åªããããã©ãŒãã³ã¹ãçºæ®ããŸãã
- ClickHouse ãæ±ãå°é家ãååãªçµéšãæã£ãŠããªããããã§ã« ClickHouse ãæäœããå¿ èŠãããå Žåããªãã¬ãŒã¿ãŒã¯æäœã容æã«ãããã¹ãŠã®ä»çµã¿ã«ã€ããŠããŸã詳ãã説æããããšãªããããªãè€éãªæ§æ㧠ClickHouse ã¯ã©ã¹ã¿ãŒãæäœã§ããããã«ããŸããå éšã 圌ã«é«åºŠãªã¿ã¹ã¯ãäžããã ãã§ãããŸããããŸãã
- ãããŠãæãå¹æãçºæ®ãã XNUMX çªç®ã®ã¿ã¹ã¯ã¯ãå€æ°ã®äžè¬çãªã¿ã¹ã¯ãèªååããå¿ èŠãããå Žåã§ãã ã·ã¹ãã 管çè ãããã€ã¯ãã¿ã¹ã¯ãåé€ããŸãã
ããã¯ãæ ãå§ããã°ããã®äººããŸãã¯å€ãã®èªååãè¡ãå¿ èŠããã人ã®ããããã«æãå¿ èŠãšãããŸãã
ãªãã¬ãŒã¿ãŒããŒã¹ã®ã¢ãããŒãã¯ä»ã®ã·ã¹ãã ãšã©ãéãã®ã§ãã? ãã«ã ãããã ãŸããClickHouse ã®ã€ã³ã¹ããŒã«ã«ã圹ç«ã¡ãClickHouse ã¯ã©ã¹ã¿ãŒå šäœãã€ã³ã¹ããŒã«ãããã«ã ãã£ãŒããæç»ããããšãã§ããŸãã ã§ã¯ããªãã¬ãŒã¿ãŒãšåããã® (äŸãã° Helm) ãšã®éãã¯äœã§ãããã?
äž»ãªåºæ¬çãªéãã¯ãHelm ãããã±ãŒãžç®¡çã§ãããOperator ãããã«äžæ©é²ãã§ããããšã§ãã ããã¯ã©ã€ããµã€ã¯ã«å šäœã®ãµããŒãã§ãã ããã¯åãªãã€ã³ã¹ããŒã«ã§ã¯ãªããã¹ã±ãŒãªã³ã°ãã·ã£ãŒãã£ã³ã°ãã€ãŸãã©ã€ããµã€ã¯ã«äžã«å®è¡ããå¿ èŠããããã¹ãŠã®äœæ¥ (å¿ èŠã«å¿ããŠåé€ã) ãå«ãæ¥åžžçãªã¿ã¹ã¯ã§ããããããã¯ãã¹ãŠãªãã¬ãŒã¿ãŒã«ãã£ãŠæ±ºå®ãããŸãã ãœãããŠã§ã¢ã®ã©ã€ããµã€ã¯ã«å šäœãèªååããŠç¶æããããšããŸãã ããããæ瀺ãããŠããä»ã®ãœãªã¥ãŒã·ã§ã³ãšã®åºæ¬çãªéãã§ãã
ãããŸã§ãå°å ¥éšåã§ããã次ã«é²ã¿ãŸãããã
ãªãã¬ãŒã¿ãŒãæ§ç¯ããã«ã¯ã©ãããã°ããã§ãããã? ç§ãã¡ã¯ãClickHouse ã¯ã©ã¹ã¿ãŒãåäžã®ãªãœãŒã¹ãšããŠç®¡çãããšããåé¡ã«ã¢ãããŒãããããšããŠããŸãã
ããã§ã¯ãå³ã®å·ŠåŽã«å ¥åããŒã¿ããããŸãã ããã¯ã¯ã©ã¹ã¿ãŒä»æ§ãå«ã YAML ã§ãããkubectl ãä»ããåŸæ¥ã®æ¹æ³ã§ Kubernetes ã«æž¡ãããŸãã ããã§ãªãã¬ãŒã¿ãŒããããæã«åããéæ³ãå®è¡ããŸãã ãããŠåºåã§ã¯æ¬¡ã®ã¹ããŒã ãåŸãããŸãã ããã¯ãKubernetes ã§ã® ClickHouse ã®å®è£ ã§ãã
次ã«ããªãã¬ãŒã¿ãŒãã©ã®ããã«æ£ç¢ºã«æ©èœããããã©ã®ãããªå žåçãªã¿ã¹ã¯ã解決ã§ãããããã£ãããšèŠãŠãããŸãã æéãéãããŠããããã代衚çãªã¿ã¹ã¯ã®ã¿ãæ€èšããŸãã ãŸããéå¶è ã決å®ã§ãããã¹ãŠã®ããšãè°è«ãããããã§ã¯ãããŸããã
ãŸãã¯ç·Žç¿ããå§ããŸãããã ç§ãã¡ã®ãããžã§ã¯ãã¯å®å šã«ãªãŒãã³ãœãŒã¹ãªã®ã§ãGitHub ã§ã©ã®ããã«åäœãããã確èªã§ããŸãã ãããŠãåã«èµ·åãããã ãã§ããã°ãã¯ã€ã㯠ã¹ã¿ãŒã ã¬ã€ãããå§ããããšãã§ãããšããæ€èšããé²ããããšãã§ããŸãã
詳现ãç解ãããå Žåã¯ãå€ããå°ãªãããŸãšããªåœ¢åŒã§ããã¥ã¡ã³ããç¶æããããåªããŸãã
å®è·µçãªåé¡ããå§ããŸãããã æåã®ã¿ã¹ã¯ã¯ã誰ããå§ããããšæããšããã§ãããæåã®äŸãäœããã®æ¹æ³ã§å®è¡ããããšã§ãã ä»çµã¿ãããããããªãå Žåã§ãããªãã¬ãŒã¿ãŒã䜿çšã㊠ClickHouse ãèµ·åããã«ã¯ã©ãããã°ããã§ãã? ç§ãã¡ã¯ãããã§ã¹ããæžããŠããã®ã§... k8s ãšã®ãã¹ãŠã®éä¿¡ã¯ãããã§ã¹ããä»ããéä¿¡ã§ãã
ããã¯éåžžã«è€éãªãããã§ã¹ãã§ãã èµ€ã§åŒ·èª¿è¡šç€ºãããŠãããã®ã¯ãçŠç¹ãåœãŠãå¿ èŠããããã®ã§ãã ãªãã¬ãŒã¿ãŒã«ãdemo ãšããååã®ã¯ã©ã¹ã¿ãŒãäœæããããã«äŸé ŒããŸãã
ãããã¯çŸæç¹ã§ã¯åºæ¬çãªäŸã§ãã ã¹ãã¬ãŒãžã«ã€ããŠã¯ãŸã 説æãããŠããŸããããå°ãåŸã§ã¹ãã¬ãŒãžã«ã€ããŠèª¬æããŸãã ä»ã®ãšãããã¯ã©ã¹ã¿ãŒã®çºå±ã®ãã€ããã¯ã¹ã芳å¯ããŸãã
ç§ãã¡ã¯ãã®ãããã§ã¹ããäœæããŸããã ããããªãã¬ãŒã¿ãŒã«ãã£ãŒãããŸãã 圌ã¯åããéæ³ãäœããŸããã
ã³ã³ãœãŒã«ãèŠãŠã¿ãŸãã XNUMX ã€ã®ã³ã³ããŒãã³ã (PodãXNUMX ã€ã® Servicesãããã³ StatefulSet) ãéèŠã§ãã
ãªãã¬ãŒã¿ãŒã¯äœæ¥ãè¡ã£ãŠããã圌ãæ£ç¢ºã«äœãäœæããããèŠãããšãã§ããŸãã
圌ã¯ãã®ãããªãã®ãäœæããŸãã StatefulSetãPodãåã¬ããªã«ã® ConfigMapãã¯ã©ã¹ã¿ãŒå šäœã® ConfigMap ããããŸãã ãµãŒãã¹ã¯ã¯ã©ã¹ã¿ãŒãžã®ãšã³ããªãŒãã€ã³ããšããŠå¿ èŠã§ãã
ãµãŒãã¹ã¯äžå€®ã®ããŒã ãã©ã³ãµãŒ ãµãŒãã¹ã§ãããåã¬ããªã«ãåã·ã£ãŒãã«äœ¿çšããããšãã§ããŸãã
åºæ¬çãªã¯ã©ã¹ã¿ãŒã¯æ¬¡ã®ããã«ãªããŸãã ãã㯠XNUMX ã€ã®åäžããŒãããã®ãã®ã§ãã
ããã«è©±ãè€éã«ããŠã¿ãŸãããã ã¯ã©ã¹ã¿ãŒãã·ã£ãŒãã£ã³ã°ããå¿ èŠããããŸãã
ç§ãã¡ã®ä»»åã¯å¢å€§ããŠããããã€ããã¯ã¹ãå§ãŸã£ãŠããŸãã ã·ã£ãŒããè¿œå ããããšèããŠããŸãã ç§ãã¡ã¯ãã®çºå±ãè¿œã£ãŠãããŸãã ä»æ§ãå€æŽãããŠããã ããŸãã XNUMX ã€ã®ã·ã£ãŒããå¿ èŠã§ããããšã瀺ããŸãã
ããã¯ãã·ã¹ãã ã®æé·ã«å¿ããŠåçã«éçºãããåããã¡ã€ã«ã§ãã ã¹ãã¬ãŒãž ããããã¹ãã¬ãŒãžã«ã€ããŠã¯ããã«è©³ãã説æããŸããããã¯å¥ã®ãããã¯ã§ãã
YAML ãªãã¬ãŒã¿ãŒã«ãã£ãŒãããŠãäœãèµ·ãããã確èªããŸãã
ãªãã¬ãŒã¿ãŒã¯ä»¥äžã®ãšã³ãã£ãã£ãèããŠäœæããŸããã ãã§ã« 2 ã€ã® Podã2 ã€ã® ServiceããããŠçªç¶ XNUMX ã€ã® StatefulSet ããããŸãã ãªã XNUMX ã€ã® StatefulSet ãããã®ã§ãããã?
å³ã§ã¯æ¬¡ã®ããã«ãªããŸãããããã¯ããããã XNUMX ã€ãã£ããšãã®åæç¶æ ã§ãã
ãã®ããã«ãªããŸããã ãããŸã§ã¯ãã¹ãŠåçŽã§ãããè€è£œãããŠããŸãã
ãããŠããªã StatefulSet ã XNUMX ã€ã«ãªã£ãã®ã§ãããã? ããã§è©±ãéžããKubernetes ã§ããããã©ã®ããã«ç®¡çãããããšããåé¡ã«ã€ããŠè°è«ããå¿ èŠããããŸãã
StatefulSet ãšãããªããžã§ã¯ãããããããã䜿çšããŠãã³ãã¬ãŒããã Pod ã®ã»ãããäœæã§ããŸãã ããã§éèŠãªèŠçŽ ã¯ãã³ãã¬ãŒãã§ãã ãŸããXNUMX ã€ã® StatefulSet å ã® XNUMX ã€ã®ãã³ãã¬ãŒãã䜿çšããŠãå€æ°ã® Pod ãèµ·åã§ããŸãã ãããŠãããã§ã®ããŒã¯ãŒãã¯ãXNUMX ã€ã®ãã³ãã¬ãŒãã«å€æ°ã® Podãã§ãã
ãããŠãã¯ã©ã¹ã¿ãŒå šäœã XNUMX ã€ã® StatefulSet ã«è©°ã蟌ãã§äœæããããšãã倧ããªèªæããããŸããã åäœããŸããåé¡ãããŸããã ãã ãã泚æç¹ã XNUMX ã€ãããŸãã ç°çš®ã¯ã©ã¹ã¿ãŒãã€ãŸã ClickHouse ã®è€æ°ã®ããŒãžã§ã³ããã¯ã©ã¹ã¿ãŒãçµã¿ç«ãŠããå Žåãçåãçãå§ããŸãã ã¯ããStatefulSet ã¯ããŒãªã³ã° ã¢ããããŒããå®è¡ã§ããããã§æ°ããããŒãžã§ã³ãããŒã«ã¢ãŠãã§ããŸããåæã«è©Šè¡ããå¿ èŠãããããŒãã®æ°ã¯ããã»ã©å€ããªãããšã説æããŸãã
ããããã¿ã¹ã¯ãæšå®ããŠãå®å šã«ç°çš®ã®ã¯ã©ã¹ã¿ãŒãäœæãããããããŒãªã³ã° ã¢ããããŒãã䜿çšããŠå€ãããŒãžã§ã³ããæ°ããããŒãžã§ã³ã«å€æŽããã®ã§ã¯ãªããåã«äž¡æ¹ã®ç¹ã§ç°çš®ã®ã¯ã©ã¹ã¿ãŒãäœæããããšãããšããŸãã ClickHouse ã®ããŸããŸãªããŒãžã§ã³ãšããŸããŸãªã¹ãã¬ãŒãžã®èŠ³ç¹ããã ããšãã°ãäžè¬ã«ãç°çš®ã¯ã©ã¹ã¿ãå®å šã«æ§ç¯ããããã«ãäœéãã£ã¹ã¯äžã«ããã€ãã®ã¬ããªã«ãäœæããããšèããŠããŸãã ãŸããStatefulSet 㯠XNUMX ã€ã®ãã³ãã¬ãŒãããæšæºåããããœãªã¥ãŒã·ã§ã³ãäœæããããããããè¡ãæ¹æ³ã¯ãããŸããã
ããããèããçµæããã®æ¹æ³ã§ããããšã«æ±ºãŸããŸããã åã¬ããªã«ã¯ç¬èªã® StatefulSet å ã«ãããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ã«ã¯ããã€ãã®æ¬ ç¹ããããŸãããå®éã«ã¯ããªãã¬ãŒã¿ã«ãã£ãŠãã¹ãŠå®å šã«ã«ãã»ã«åãããŸãã ãããŠãå€ãã®å©ç¹ããããŸãã ããšãã°ãå®å šã«ç°çš®æ··åã®ã¯ã©ã¹ã¿ãŒãªã©ãå¿ èŠãªã¯ã©ã¹ã¿ãŒãæ£ç¢ºã«æ§ç¯ã§ããŸãã ãããã£ãŠã2 ã€ã®ã¬ããªã«ãæ〠2 ã€ã®ã·ã£ãŒããããã¯ã©ã¹ã¿ãŒã§ã¯ãç°çš®ã¯ã©ã¹ã¿ãŒãæ§ç¯ã§ããããã«ããããã«äžèšã®çç±ã§ãã®ã¢ãããŒããéžæãããããXNUMX ã€ã® StatefulSet ãš XNUMX ã€ã® Pod ãååšããŸãã
å®éçãªåé¡ã«æ»ããŸãããã ç§ãã¡ã®ã¯ã©ã¹ã¿ãŒã§ã¯ããŠãŒã¶ãŒãæ§æããå¿ èŠããããŸãã Kubernetes 㧠ClickHouse ã®æ§æãè¡ãå¿ èŠããããŸãã ãªãã¬ãŒã¿ãŒã¯ãããã«å¯Ÿããããããå¯èœæ§ãæäŸããŸãã
YAML ã§çŽæ¥å¿ èŠãªãã®ãæžãããšãã§ããŸãã ãã¹ãŠã®æ§æãªãã·ã§ã³ã¯ããã® YAML ãã ClickHouse æ§æã«çŽæ¥ãããã³ã°ãããã¯ã©ã¹ã¿ãŒå šäœã«åæ£ãããŸãã
ãã®ããã«æžãããšãã§ããŸãã ããã¯äŸãã°ã§ãã ãã¹ã¯ãŒãã¯æå·åããããšãã§ããŸãã å®å šã«ãã¹ãŠã® ClickHouse æ§æãªãã·ã§ã³ããµããŒããããŠããŸãã ããã§ã¯ã»ãã®äžäŸã瀺ããŸãã
ã¯ã©ã¹ã¿ãŒæ§æ㯠ConfigMap ãšããŠé åžãããŸãã å®éã«ã¯ãConfigMap ã®æŽæ°ã¯å³åº§ã«ã¯è¡ãããªããããã¯ã©ã¹ã¿ãŒã倧ããå Žåãæ§æãããã·ã¥ããããã»ã¹ã«ã¯æéãããããŸãã ããããããã¯ãã¹ãŠéåžžã«äŸ¿å©ã«äœ¿çšã§ããŸãã
ã¿ã¹ã¯ãè€éã«ããŠã¿ãŸãããã ã¯ã©ã¹ã¿ãŒãçºéããŠããŸãã ããŒã¿ãè€è£œããããšèããŠããŸãã ã€ãŸãããã§ã« XNUMX ã€ã®ã·ã£ãŒã (ãããã XNUMX ã€ã®ã¬ããªã«) ãããããŠãŒã¶ãŒãæ§æãããŠããŸãã ç§ãã¡ã¯æé·ããŠããã®ã§ãè€è£œãè¡ããããšèããŠããŸãã
ã¬ããªã±ãŒã·ã§ã³ã«ã¯äœãå¿ èŠã§ãã?
ZooKeeper ãå¿ èŠã§ãã ClickHouse ã§ã¯ãZooKeeper ã䜿çšããŠã¬ããªã±ãŒã·ã§ã³ãæ§ç¯ãããŸãã ZooKeeper ã¯ãããŸããŸãª ClickHouse ã¬ããªã«ãã©ã®ããŒã¿ ãããã¯ãã©ã® ClickHouse ã«ãããã«ã€ããŠåæãåŸãããã«å¿ èŠã§ãã
ZooKeeper ã¯èª°ã§ã䜿çšã§ããŸãã äŒæ¥ã«å€éšã® ZooKeeper ãããå Žåã¯ãããã䜿çšã§ããŸãã ããã§ãªãå Žåã¯ããªããžããªããã€ã³ã¹ããŒã«ã§ããŸãã ãã®äœæ¥å šäœãç°¡åã«ããã€ã³ã¹ããŒã©ãŒããããŸãã
ãããŠãã·ã¹ãã å šäœã®çžäºäœçšå³ã¯æ¬¡ã®ããã«ãªããŸãã ãã©ãããã©ãŒã ãšã㊠Kubernetes ãæ¡çšããŠããŸãã ClickHouse ãªãã¬ãŒã¿ãŒãå®è¡ããŸãã ããã§ZooKeeperãã€ã¡ãŒãžããŸããã ãããŠããªãã¬ãŒã¿ãŒã¯ ClickHouse ãš ZooKeeper ã®äž¡æ¹ãšå¯Ÿè©±ããŸãã ã€ãŸããçžäºäœçšã®çµæã§ãã
ClickHouse ã k8s ã§ããŒã¿ãæ£åžžã«è€è£œããã«ã¯ãããããã¹ãŠãå¿ èŠã§ãã
次ã«ãã¿ã¹ã¯èªäœãã¬ããªã±ãŒã·ã§ã³ã®ãããã§ã¹ããã©ã®ããã«ãªãããèŠãŠã¿ãŸãããã
ãããã§ã¹ãã« 4 ã€ã®ã»ã¯ã·ã§ã³ãè¿œå ããŸãã XNUMX ã€ç®ã¯ãZooKeeper ãå ¥æããå Žæã§ããããã¯ãKubernetes ã®å éšãŸãã¯å€éšã«ãããŸãã ããã¯åãªã説æã§ãã ãããŠã¬ããªã«ã泚æããŸãã ãããã®ã ã¬ããªã«ã XNUMX ã€å¿ èŠã§ãã åèšã§ãåºåã«ã¯ XNUMX ã€ã®ããããå¿ èŠã«ãªããŸãã ã¹ãã¬ãŒãžã«ã€ããŠã¯èŠããŠããŸãããå°ãåŸã§æ»ã£ãŠããŸãã ã¹ãã¬ãŒãžã¯å¥ã®è©±ã§ãã
ãããªæãã§ããã
ãã®ããã«ãªããŸãã ã¬ããªã«ãè¿œå ãããŸãã 4 çªç®ã¯é©åããŸããã§ããããå€ãã®ãã®ãããã«ããå¯èœæ§ããããšèããããŸãã ãããŠãµã€ãã«ZooKeeperãè¿œå ãããŸãã èšç»ã¯ãŸããŸãè€éã«ãªã£ãŠããŸãã
ãããŠã次ã®ã¿ã¹ã¯ãè¿œå ãããšããæ¥ãŸããã æ°žç¶ã¹ãã¬ãŒãžãè¿œå ããŸãã
æ°žç¶ã¹ãã¬ãŒãžã«ã¯ããŸããŸãªãªãã·ã§ã³ããããŸãã
ããšãã°ãAmazon ã Google ãªã©ã®ã¯ã©ãŠã ãããã€ããŒã§å®è¡ããŠããå Žåãã¯ã©ãŠã ã¹ãã¬ãŒãžã䜿çšããããšãã倧ããªèªæããããŸãã ããã䟿å©ã§ãããããã§ããã
ãã㊠XNUMX çªç®ã®ãªãã·ã§ã³ããããŸãã ããã¯ãåããŒãã«ããŒã«ã« ãã£ã¹ã¯ãããå Žåã®ããŒã«ã« ã¹ãã¬ãŒãžçšã§ãã ãã®ãªãã·ã§ã³ã¯å®è£ ãã¯ããã«å°é£ã§ãããåæã«çç£æ§ãé«ããªããŸãã
ã¯ã©ãŠã ã¹ãã¬ãŒãžã«é¢ããæ å ±ãèŠãŠã¿ãŸãããã
å©ç¹ããããŸãã èšå®ã¯ãšãŠãç°¡åã§ãã ç§ãã¡ã¯ã¯ã©ãŠã ãããã€ããŒã«ãããããã®å®¹éãããããã®ã¯ã©ã¹ã®ã¹ãã¬ãŒãžãæäŸããŠãã ãããšæ³šæããã ãã§ãã ã¯ã©ã¹ã¯ãããã€ããŒã«ãã£ãŠç¬èªã«ã¹ã±ãžã¥ãŒã«ãããŸãã
ãããŠæ¬ ç¹ããããŸãã äžéšã®äººã«ãšã£ãŠãããã¯é倧ãªæ¬ ç¹ã§ã¯ãããŸããã ãã¡ãããããã©ãŒãã³ã¹äžã®åé¡ãããã€ããããŸãã éåžžã«äœ¿ããããä¿¡é Œæ§ããããŸãããããã©ãŒãã³ã¹ã«æœåšçãªæ¬ ç¹ãããã€ããããŸãã
ãããŠããªããªãClickHouse ã¯çç£æ§ãç¹ã«éèŠããŠãããã§ããéããã¹ãŠãçµãåºããŠãããšããèšãããããããŸããããã®ãããå€ãã®ã¯ã©ã€ã¢ã³ãã¯çç£æ§ãæ倧éã«çµãåºãããšããŠããŸãã
ãããæ倧éã«æŽ»çšããã«ã¯ãããŒã«ã« ã¹ãã¬ãŒãžãå¿ èŠã§ãã
Kubernetes ã¯ãKubernetes ã§ããŒã«ã« ã¹ãã¬ãŒãžã䜿çšããããã® XNUMX ã€ã®æœè±¡åãæäŸããŸãã ããïŒ
- 空ã®ãã£ã¬ã¯ããª
- ãã¹ããã¹ã
- ããŒã«ã«
ããããã©ã®ããã«ç°ãªããã©ã®ããã«é¡äŒŒããŠããããèŠãŠã¿ãŸãããã
ãŸãã8 ã€ã®ã¢ãããŒããã¹ãŠã«ã¹ãã¬ãŒãžããããŸãããããã¯åãç©ç kXNUMXs ããŒãäžã«ããããŒã«ã« ãã£ã¹ã¯ã§ãã ãããããããã«ã¯ããã€ãã®éãããããŸãã
æãåçŽãªãã®ãã€ãŸã emptyDir ããå§ããŸãããã ããã¯å®éã«ã¯äœã§ãããã? ç§ãã¡ã®ä»æ§ã§ã¯ãã³ã³ããåã·ã¹ãã (ã»ãšãã©ã®å Žå Docker) ã«ãããŒã«ã« ãã£ã¹ã¯äžã®ãã©ã«ããŒãžã®ã¢ã¯ã»ã¹ãæäŸããããã«èŠæ±ããŸãã
å®éã«ã¯ãDocker ã¯ç¬èªã®ãã¹äžã®ã©ããã«äžæãã©ã«ããŒãäœæããããããã³ã° ããã·ã¥ãšåŒã³ãŸãã ãããŠããã«ã¢ã¯ã»ã¹ããããã®ã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸãã
ããã¯ããã©ãŒãã³ã¹ã®ç¹ã§ã©ã®ããã«æ©èœããŸãã? ããã¯ããŒã«ã«ãã£ã¹ã¯é床ã§åäœããŸããã€ãŸãã ããã¯ããžãžã®å®å šãªã¢ã¯ã»ã¹ã§ãã
ãããããã®ã±ãŒã¹ã«ã¯æ¬ ç¹ããããŸãã ãã®ç¹ã«é¢ããŠã¯ãPersistent ã¯ããªãçãããã§ãã åã㊠Docker ãã³ã³ãããŒãšäžç·ã«ç§»åãããšãPersistent ã¯å€±ãããŸãã Kubernetes ãäœããã®çç±ã§ãã®ããããå¥ã®ãã£ã¹ã¯ã«ç§»åãããå ŽåãããŒã¿ã¯å€±ãããŸãã
ãã®ã¢ãããŒãã¯ããã§ã«éåžžã®é床ã瀺ãããŠããããããã¹ãã«ã¯é©ããŠããŸãããé倧ãªãã®ã«ã¯ãã®ãªãã·ã§ã³ã¯é©ããŠããŸããã
ãããã£ãŠãXNUMX çªç®ã®ã¢ãããŒãããããŸãã ããã¯ãã¹ããã¹ã§ãã åã®ã¹ã©ã€ããšãã®ã¹ã©ã€ããèŠããšãéãã XNUMX ã€ã ãããããŸãã ãã©ã«ããŒã¯ Docker ãã Kubernetes ããŒãã«çŽæ¥ç§»åãããŸããã ããã§ã¯ããå°ãç°¡åã§ãã ããŒã¿ãä¿åããããŒã«ã« ãã¡ã€ã« ã·ã¹ãã äžã®ãã¹ãçŽæ¥æå®ããŸãã
ãã®æ¹æ³ã«ã¯å©ç¹ããããŸãã ããã¯ãã§ã«æ¬ç©ã® Persistent ã§ããããã®ç¹ã§ã¯å€å žçãªãã®ã§ãã ããŒã¿ã¯ãã£ã¹ã¯ã®ç¹å®ã®ã¢ãã¬ã¹ã«èšé²ãããŸãã
ãã¡ãªããããããŸãã ããã管çã®è€éãã§ãã Kubernetes ã¯ãPod ãå¥ã®ç©çããŒãã«ç§»åãããå ŽåããããŸãã ãã㧠DevOps ãç»å ŽããŸãã ãããã®ãããã¯ããããã®ãã¹ã«æ²¿ã£ãŠäœããããŠã³ããããŠããããŒãã«ã®ã¿ç§»åã§ããäžåºŠã« XNUMX ã€ã®ããŒããã移åã§ããªãããšããã·ã¹ãã å šäœã«æ£ãã説æããå¿ èŠããããŸãã ãªããªãé£ããã§ããã
ç¹ã«ãããã®ç®çã®ããã«ããã®è€éãããã¹ãŠé ãããã«ãªãã¬ãŒã¿ãŒã«ãã³ãã¬ãŒããäœæããŸããã ãããŠãåã«ãç©çããŒãããšã«ãããããã®ãã¹ã«æ²¿ã£ãŠ ClickHouse ã®ã€ã³ã¹ã¿ã³ã¹ã XNUMX ã€ãã€æã¡ããããšèšãããšãã§ããŸãã
ãããããã®ããŒãºãå¿ èŠãšããŠããã®ã¯ç§ãã¡ã ãã§ã¯ãªããããKubernetes èªäœã®æ åœè ãã人ã ãç©çãã£ã¹ã¯ã«ã¢ã¯ã»ã¹ããããšèããŠããããšãç解ããŠããããã第 XNUMX å±€ãæäŸããŠããŸãã
ããŒã«ã«ãšãããŸãã åã®ã¹ã©ã€ããšã»ãšãã©éãã¯ãããŸããã 以åã¯ããããã®ãããã¯äœããã®ãã¹ã«æ²¿ã£ãŠããŒã«ã«ã®ç©çãã£ã¹ã¯ã«æ¥ç¶ããå¿ èŠããããããããŒãããããŒãã«è»¢éã§ããªãããšãæåã§ç¢ºèªããå¿ èŠããããŸããããçŸåšã§ã¯ããã®ãã¹ãŠã®ç¥èã Kubernetes èªäœã«ã«ãã»ã«åãããŠããŸãã ãããŠãèšå®ãã¯ããã«ç°¡åã§ããããšãããããŸããã
å®éã®åé¡ã«æ»ããŸãããã YAML ãã³ãã¬ãŒãã«æ»ããŸãããã ããã«å®éã®ã¹ãã¬ãŒãžããããŸãã å ã«æ»ããŸããã k8s ãšåæ§ã«ãã¯ã©ã·ãã¯ãª VolumeClaim ãã³ãã¬ãŒããèšå®ããŸãã ãããŠãã©ã®ãããªçš®é¡ã®ã¹ãã¬ãŒãžãå¿ èŠãã説æããŸãã
ãã®åŸãk8s ã¯ã¹ãã¬ãŒãžãèŠæ±ããŸãã ããã StatefulSet ã«å²ãåœãŠãŸãã ãããŠæçµçã«ã¯ClickHouseãèªç±ã«äœ¿ããããã«ãªãã§ãããã
ãããªèšç»ããããŸããã æ°žç¶ã¹ãã¬ãŒãžã¯èµ€ã§ããããå®è¡ããå¿ èŠãããããšã瀺åããŠããããã§ããã
ãããŠç·è²ã«å€ãããŸãã ããã§ãk8s ã¯ã©ã¹ã¿ ã¹ããŒã äžã® ClickHouse ãå®å šã«å®æããŸããã ã·ã£ãŒããã¬ããªã«ãZooKeeper ããããäœããã®æ¹æ³ã§å®è£ ãããå®éã® Persistent ããããŸãã ãã®èšç»ã¯ãã§ã«å®å šã«éçšãããŠããŸãã
ç§ãã¡ã¯çãç¶ããŸãã ç§ãã¡ã®ã¯ã©ã¹ã¿ãŒã¯çºå±äžã§ãã ãããŠãAlexey 㯠ClickHouse ã®æ°ããããŒãžã§ã³ãè©ŠããŠãªãªãŒã¹ããŸããã
å®éã®ã¿ã¹ã¯ãçºçããŸããããã¯ãã¯ã©ã¹ã¿ãŒäžã§ ClickHouse ã®æ°ããããŒãžã§ã³ããã¹ãããããšã§ãã ãããŠãåœç¶ã®ããšãªããããã¹ãŠãå±éããã®ã§ã¯ãªããé ã£ãã«ãã XNUMX ã€ã®ã¬ããªã«ã«æ°ããããŒãžã§ã³ã眮ããé »ç¹ã«ãªãªãŒã¹ããããããæ°ããããŒãžã§ã³ã XNUMX ã€ã§ã¯ãªããäžåºŠã« XNUMX ã€å ¥ããããšèããŸãã
ããã«ã€ããŠã¯äœãšèšããŸãã?
ããã«ãŸãã«ãã®ãããªæ©äŒããããŸãã ãããã¯ããã ãã³ãã¬ãŒãã§ãã ç§ãã¡ã®ãªãã¬ãŒã¿ãŒãç°çš®ã¯ã©ã¹ã¿ãŒã®æ§ç¯ãå®å šã«èš±å¯ãããšæžãããšãã§ããŸãã ãããã®ã æå ã®ãã¹ãŠã®ã¬ããªã«ããå§ãŸããåå人ã¬ããªã«ã§çµãããŸããClickHouse ã®ã©ã®ããŒãžã§ã³ãå¿ èŠããã©ã®ããŒãžã§ã³ã®ã¹ãã¬ãŒãžãå¿ èŠãããèšå®ããŸãã å¿ èŠãªæ§æã§ã¯ã©ã¹ã¿ãŒãå®å šã«æ§æã§ããŸãã
ããå°ã奥ãžé²ãã§ã¿ãŸãããã ãã®åã«ãClickHouse ã®è©³çŽ°ã«é¢é£ã㊠ClickHouse-operator ãã©ã®ããã«æ©èœãããã«ã€ããŠèª¬æããŸããã
ããã§ããªãã¬ãŒã¿ãŒãäžè¬çã«ã©ã®ããã«æ©èœãããããŸããªãã¬ãŒã¿ãŒã K8 ãšã©ã®ããã«çžäºäœçšãããã«ã€ããŠå°ãã話ããããšæããŸãã
ãŸããK8 ãšã®ããåããèŠãŠã¿ãŸãããã kubectl ãé©çšãããšäœãèµ·ããã§ãããã? ãªããžã§ã¯ã㯠API ãéã㊠etcd ã«è¡šç€ºãããŸãã
ããšãã°ãåºæ¬ç㪠Kubernetes ãªããžã§ã¯ã: ããããStatefulSetããµãŒãã¹ãªã©ããªã¹ãã®äžã«ãããŸãã
åæã«ãç©ççãªããšã¯ãŸã äœãèµ·ãã£ãŠããŸããã ãããã®ãªããžã§ã¯ãã¯ã¯ã©ã¹ã¿ãŒå ã§å®äœåããå¿ èŠããããŸãã
ãã®ç®çã®ããã«ãã³ã³ãããŒã©ãŒã衚瀺ãããŸãã ã³ã³ãããŒã©ãŒã¯ããããã®èšè¿°ãå ·äœåã§ããç¹å¥ãª k8s ã³ã³ããŒãã³ãã§ãã 圌ã¯ç©ççã«äœãã©ã®ããã«ãã¹ãããç¥ã£ãŠããŸãã 圌ã¯ãã³ã³ãããŒã®å®è¡æ¹æ³ããµãŒããŒãåäœããããã«ã³ã³ãããŒã§äœãæ§æããå¿ èŠãããããç¥ã£ãŠããŸãã
ãããŠãããã¯ç§ãã¡ã®ãªããžã§ã¯ããK8sã§å®äœåããŸãã
ããããããããš StatefulSet ã ãã§æäœããã®ã§ã¯ãªããClickHouse Installation (ã€ãŸã ClickHouse ã¿ã€ãã®ãªããžã§ã¯ã) ãäœæããŠãããã XNUMX ã€ã®å šäœãšããŠæäœããããšèããŠããŸãã ä»ã®ãšãããã®ãããªå¯èœæ§ã¯ãããŸããã
ããããK8sã«ã¯æ¬¡ã®ãããªåªããç¹ããããŸãã ããããš StatefulSet ããã¯ã©ã¹ã¿ãŒãçµã¿ç«ãŠãããããã®è€éãªãšã³ãã£ãã£ã®ãããªå Žæãå¿ èŠã§ãã
ãããŠããã®ããã«ã¯äœãããå¿ èŠãããã®ã§ãããã? ãŸããã«ã¹ã¿ã ãªãœãŒã¹å®çŸ©ãç»å ŽããŸãã ããã¯äœã§ããïŒ ãã㯠K8 ã®èª¬æã§ããã XNUMX ã€ã®ããŒã¿åããããå éšãè€éã«ãªãã«ã¹ã¿ã ãªãœãŒã¹ StatefulSet ããããã«è¿œå ããå¿ èŠããããšããããšã§ãã ããŒã¿æ§é ã®èª¬æã§ãã
ãŸããkubectl apply ãä»ããŠããã«éä¿¡ããŸãã Kubernetes ã¯åãã§ãããåãå ¥ããŸããã
ãããŠä»ãç§ãã¡ã®ã¹ãã¬ãŒãžã§ã¯ãetcd ã®ãªããžã§ã¯ãã ClickHouseinstallation ãšåŒã°ããã«ã¹ã¿ã ãªãœãŒã¹ãèšé²ããæ©äŒãæã¡ãŸãã
ãããä»ã®ãšããããã以äžäœãèµ·ãããªãã§ãããã ã€ãŸããã·ã£ãŒããšã¬ããªã«ãèšè¿°ãã YAML ãã¡ã€ã«ãäœæãããkubectl applyããšèšããšãKubernetes ã¯ãããåãå ¥ã㊠etcd ã«å ¥ããŠããçŽ æŽãããã§ãããäœãããã°ãããããããŸããããšèšããŸãããããšã ClickHouse Installation ã®ä¿å®æ¹æ³ãããããŸãããã
ãããã£ãŠãKubernetes ãæ°ããããŒã¿åãæäŸã§ããããã«æ¯æŽããŠããã人ãå¿ èŠã§ãã å·ŠåŽã«ã¯ããã€ãã£ã ããŒã¿åãåŠçãããã€ãã£ã Kubernetes ã³ã³ãããŒã©ãŒããããŸãã ãããŠå³åŽã«ã¯ãã«ã¹ã¿ã ããŒã¿åãåŠçã§ããã«ã¹ã¿ã ã³ã³ãããŒã©ãŒãããã¯ãã§ãã
å¥ã®èšãæ¹ã§ã¯æŒç®åãšåŒã°ããŸãã K8s ã®å€éšã§ãå®è¡ã§ãããããããã§ã¯ç¹ã« Kubernetes ãšããŠå«ããŸããã ãã¡ãããã»ãšãã©ã®å Žåããã¹ãŠã®ãªãã¬ãŒã¿ãŒã¯ Kubernetes å ã§å®è¡ãããŸãããå€ã«çœ®ãããšã劚ãããã®ããªããããããã§ã¯ç¹å¥ã«å€ã«ç§»åããŸãã
ãããŠããªãã¬ãŒã¿ãŒãšãåŒã°ããã«ã¹ã¿ã ã³ã³ãããŒã©ãŒã API çµç±ã§ Kubernetes ãšå¯Ÿè©±ããŸãã API ãšå¯Ÿè©±ããæ¹æ³ããã§ã«ç¥ã£ãŠããŸãã ãããŠåœŒã¯ãã«ã¹ã¿ã ãªãœãŒã¹ããäœæãããè€éãªåè·¯ãå ·äœåããæ¹æ³ããã§ã«ç¥ã£ãŠããŸãã ããã¯ãŸãã«ãªãã¬ãŒã¿ãŒãè¡ãããšã§ãã
ãªãã¬ãŒã¿ãŒã¯ã©ã®ããã«åããŠããŸãã? å³åŽãèŠãŠã圌ãã©ã®ããã«ãããè¡ãããèŠãŠã¿ãŸãããã ãªãã¬ãŒã¿ãŒãããããã¹ãŠãã©ã®ããã«å ·äœåããã®ãããã㊠K8 ãšã®ãããªãçžäºäœçšãã©ã®ããã«çºçããã®ããèŠãŠã¿ãŸãããã
æŒç®åã¯ããã°ã©ã ã§ãã 圌女ã¯ã€ãã³ãå¿åã§ãã ãªãã¬ãŒã¿ãŒã¯ãKubernetes API ã䜿çšããŠã€ãã³ãããµãã¹ã¯ã©ã€ãããŸãã Kubernetes API ã«ã¯ãã€ãã³ãããµãã¹ã¯ã©ã€ãã§ãããšã³ã㪠ãã€ã³ãããããŸãã ãããŠãK8 ã§äœããå€æŽããããšãKubernetes ã¯å šå¡ã«ã€ãã³ããéä¿¡ããŸãã ãã® API ãã€ã³ãããµãã¹ã¯ã©ã€ããã人ã¯èª°ã§ãéç¥ãåãåããŸãã
ãªãã¬ãŒã¿ãŒã¯ã€ãã³ãããµãã¹ã¯ã©ã€ãããäœããã®åå¿ãè¡ãå¿ èŠããããŸãã ãã®ä»»åã¯ãæ°ããªåºæ¥äºã«å¯Ÿå¿ããããšã§ãã
ã€ãã³ãã¯ç¹å®ã®æŽæ°ã«ãã£ãŠçæãããŸãã ClickHouse Installation ã®èª¬æãå«ã YAML ãã¡ã€ã«ãå°çããŸãã 圌㯠kubectl apply ãéã㊠etcd ã«ã¢ã¯ã»ã¹ããŸããã ããã§ã€ãã³ããããªã¬ãŒããããã®çµæããã®ã€ãã³ãã ClickHouse ãªãã¬ãŒã¿ãŒã«å±ããŸããã ãªãã¬ãŒã¿ãŒã¯ãã®èª¬æãåããŸããã ãããŠåœŒã¯äœããããªããã°ãªããŸããã ClickHouse Installation ãªããžã§ã¯ãã®æŽæ°ãå°çããå Žåã¯ãã¯ã©ã¹ã¿ãŒãæŽæ°ããå¿ èŠããããŸãã ãããŠããªãã¬ãŒã¿ãŒã®ã¿ã¹ã¯ã¯ã¯ã©ã¹ã¿ãŒãæŽæ°ããããšã§ãã
圌ã¯äœãããŠããã®ïŒ ãŸãããã®ã¢ããããŒãã§äœãè¡ããã«ã€ããŠã®ã¢ã¯ã·ã§ã³ãã©ã³ãäœæããå¿ èŠããããŸãã æŽæ°ã¯éåžžã«å°ããå ŽåããããŸãã YAML ã®å®è¡ã§ã¯å°ããªå€æŽã§ãããã¯ã©ã¹ã¿ãŒäžã§ã¯éåžžã«å€§ããªå€æŽã䌎ãå¯èœæ§ããããŸãã ãããã£ãŠããªãã¬ãŒã¿ãŒã¯èšç»ãäœæãããããå®è¡ããŸãã
ãã®èšç»ã«åŸã£ãŠã圌ã¯ãããããµãŒãã¹ãã€ãŸã圌ã®äž»ãªä»äºãããã ããã¯ãKubernetes 㧠ClickHouse ã¯ã©ã¹ã¿ãŒãæ§ç¯ããæ¹æ³ã§ãã
ããŠããããªèå³æ·±ãããšã«è§ŠããŠã¿ãŸãããã ããã¯ãKubernetes ãšãªãã¬ãŒã¿ãŒã®éã®è²¬ä»»åæ ã§ãã Kubernetes ãäœãããã®ãããªãã¬ãŒã¿ãŒãäœãããã®ãããããŠããããã©ã®ããã«çžäºäœçšããã®ãã
Kubernetes ã¯ã·ã¹ãã ã«é¢ããããšãæ åœããŸãã ã·ã¹ãã ã¹ã³ãŒããšããŠè§£éã§ãããªããžã§ã¯ãã®åºæ¬ã»ããçšã Kubernetes ã¯ããããã®èµ·åæ¹æ³ãã³ã³ããã®åèµ·åæ¹æ³ãããªã¥ãŒã ã®ããŠã³ãæ¹æ³ãConfigMap ã®æäœæ¹æ³ãç¥ã£ãŠããŸãã ã·ã¹ãã ãšåŒã¹ããã®ãã¹ãŠã
ãªãã¬ãŒã¿ãŒã¯ãã¡ã€ã³å ã§åäœããŸãã åæŒç®åã¯ãç¬èªã®å¯Ÿè±¡é åçšã«äœæãããŠããŸãã ç§ãã¡ã¯ClickHouseã®ããã«ãããè¡ããŸããã
ãŸãããªãã¬ãŒã¿ãŒã¯ãã¬ããªã«ã®è¿œå ãå³ã®äœæãç£èŠã®èšå®ãªã©ã察象é åã«é¢ããŠæ£ç¢ºã«å¯Ÿè©±ããŸãã ãã®çµæãåè£ãçããŸãã
ã¬ããªã«ã®è¿œå ã¢ã¯ã·ã§ã³ãå®è¡ãããšãã«ããã®è²¬ä»»ã®åå²ãã©ã®ããã«è¡ããããã瀺ãå®éã®äŸãèŠãŠã¿ãŸãããã
ãªãã¬ãŒã¿ãŒã¯ãã¬ããªã«ãè¿œå ãããšããã¿ã¹ã¯ãåãåããŸãã ãªãã¬ãŒã¿ãŒã¯äœãããã®ã§ãã? ãªãã¬ãŒã¿ãŒã¯ãæ°ãã StatefulSet ãäœæããå¿ èŠãããããšãèšç®ããŸãããã®äžã«ãããããã®ãã³ãã¬ãŒããããªã¥ãŒã èŠæ±ãèšè¿°ããå¿ èŠããããŸãã
圌ã¯ãã¹ãŠãæºåããããã K8 ã«æž¡ããŸããã 圌ã¯ãConfigMapãStatefulSetãVol ãå¿ èŠã ãšèšããŸãã Kubernetes ãåäœããŠããŸãã 圌ã¯ãæäœã«äœ¿çšããåºæ¬åäœãå ·äœåããŸãã
ãããŠãClickHouse ãªãã¬ãŒã¿ãŒãåã³ç»å ŽããŸãã 圌ã¯ãã§ã«äœããå®è¡ã§ããç©ççãªãããããã§ã«æã£ãŠããŸãã ãããŠãClickHouse-operator ã¯åã³ãã¡ã€ã³çšèªã§åäœããŸãã ãããã®ã ç¹ã« ClickHouse ã§ã¯ãã¯ã©ã¹ã¿ãŒã«ã¬ããªã«ãå«ããã«ã¯ããŸãããã®ã¯ã©ã¹ã¿ãŒã«ååšããããŒã¿ ã¹ããŒããæ§æããå¿ èŠããããŸãã ãããŠç¬¬äºã«ããã®ã¬ããªã«ãæ確ã«è¿œè·¡ã§ããããã«ç£èŠã«å«ããå¿ èŠããããŸãã ãªãã¬ãŒã¿ã¯ãã§ã«ãããèšå®ããŠããŸãã
ãããŠãã®åŸã«ãªã£ãŠåããŠãClickHouse èªäœãæ©èœããŸãã å¥ã®ããé«ãã¬ãã«ã®ãšã³ãã£ãã£ã ããã¯ãã§ã«ããŒã¿ããŒã¹ã«ãªã£ãŠããŸãã ããã«ã¯ç¬èªã®ã€ã³ã¹ã¿ã³ã¹ãã€ãŸãã¯ã©ã¹ã¿ãŒã«åå ããæºåãã§ããŠããå¥ã®æ§ææžã¿ã¬ããªã«ããããŸãã
ã¬ããªã«ãè¿œå ããéã®å®è¡ãšè²¬ä»»ã®åæ ã®ãã§ãŒã³ã¯éåžžã«é·ãããšãããããŸãã
å®è·µçãªäœæ¥ãç¶ããŸãã ãã§ã«ã¯ã©ã¹ã¿ãŒãããå Žåã¯ãæ§æã移è¡ã§ããŸãã
ClickHouse ãç解ã§ããæ¢åã® XML ã«çŽæ¥è²Œãä»ããããšãã§ããããã«ããŸããã
ClickHouseã埮調æŽã§ããŸãã ãžã£ã¹ããŸãŒã³å±éã«ã€ããŠã¯ãhostPath (ããŒã«ã« ã¹ãã¬ãŒãž) ã«ã€ããŠèª¬æãããšãã«èª¬æããŸããã ããã¯ãŸãŒã³åããããããã€ã¡ã³ããæ£ããè¡ãæ¹æ³ã§ãã
次ã®å®éçãªã¿ã¹ã¯ã¯ã¢ãã¿ãªã³ã°ã§ãã
ã¯ã©ã¹ã¿ãŒãå€æŽãããå Žåã¯ãå®æçã«ç£èŠãæ§æããå¿ èŠããããŸãã
å³ãèŠãŠã¿ãŸãããã ããã§ç·è²ã®ç¢å°ã«ã€ããŠã¯ãã§ã«èŠãŠããŸããã 次ã«ãèµ€ãç¢å°ãèŠãŠã¿ãŸãããã ãããã¯ã©ã¹ã¿ãŒãç£èŠããæ¹æ³ã§ãã ClickHouse ã¯ã©ã¹ã¿ãŒããã®ã¡ããªã¯ã¹ã Prometheus ã«åã蟌ãŸãã次㫠Grafana ã«åã蟌ãŸããæ¹æ³ã
ã¢ãã¿ãªã³ã°ã®é£ããã¯äœã§ããïŒ ãªããããäœããã®ææãšããŠæ瀺ãããã®ã§ãããã? é£ããã¯ãã€ããã¯ã¹ã«ãããŸãã ã¯ã©ã¹ã¿ãŒã XNUMX ã€ããããããéçã§ããã°ãç£èŠãäžåºŠèšå®ããã°ãããé¢åãªèšå®ã¯å¿ èŠãããŸããã
ããããã¯ã©ã¹ã¿ãŒãå€æ°ããå ŽåããŸãã¯äœããåžžã«å€åããŠããå Žåãããã»ã¹ã¯åçã«ãªããŸãã ãŸããç£èŠãåžžã«åæ§æããããšã¯ãªãœãŒã¹ãšæéã®ç¡é§ã§ãã åãªãæ æ°ã§ãã£ãŠãã ããã¯èªååããå¿ èŠããããŸãã é£ããã¯ããã»ã¹ã®ãã€ããã¯ã¹ã«ãããŸãã ãããŠããªãã¬ãŒã¿ãŒã¯ãããéåžžã«ããŸãèªååããŸãã
ç§ãã¡ã®ã¯ã©ã¹ã¿ãŒã¯ã©ã®ããã«ããŠçºéããã®ã§ãããã? åãã¯åœŒããããªæãã§ããã
ãããšåœŒã¯ãããªã£ãã
çµå±åœŒã¯ãããªã£ãã
ãŸããç£èŠã¯ãªãã¬ãŒã¿ã«ãã£ãŠèªåçã«è¡ãããŸãã åäžã®ãšã³ããªãã€ã³ãã
ãããŠåºå£ã§ Grafana ããã·ã¥ããŒããèŠãŠãå éšã§ã¯ã©ã¹ã¿ãŒã®æŽ»åãã©ã®ããã«æ²žéš°ããŠãããã確èªããŸãã
ã¡ãªã¿ã«ãGrafana ããã·ã¥ããŒãã¯ããªãã¬ãŒã¿ãŒãšãšãã«ãœãŒã¹ ã³ãŒãå ã§çŽæ¥é åžãããŸãã æ¥ç¶ããŠäœ¿çšããããšãã§ããŸãã ç§ãã¡ã® DevOps ããã®ã¹ã¯ãªãŒã³ã·ã§ãããæäŸããŠãããŸããã
次ã¯ã©ãã«è¡ãããã§ããïŒ ããïŒ
- ãã¹ãèªååãéçºããŸãã äž»ãªã¿ã¹ã¯ã¯ãæ°ããããŒãžã§ã³ã®èªåãã¹ãã§ãã
- ãŸããZooKeeper ãšã®çµ±åãèªååããããšèããŠããŸãã ãŸããZooKeeper-operator ãšçµ±åããèšç»ããããŸãã ãããã®ã ãªãã¬ãŒã¿ãŒã¯ ZooKeeper çšã«äœæãããŠããããã䟿å©ãªãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããããã« XNUMX ã€ã®ãªãã¬ãŒã¿ãŒãçµ±åããå§ããã®ã¯è«ççã§ãã
- ç§ãã¡ã¯ãããè€éãªãã€ã¿ã«ãµã€ã³ãå®è¡ããããšèããŠããŸãã
- ç·è²ã§åŒ·èª¿è¡šç€ºããã®ã¯ããã³ãã¬ãŒãã®ç¶æ¿ - å®äºã«è¿ã¥ããŠããããšã§ããã€ãŸãããªãã¬ãŒã¿ãŒã®æ¬¡ã®ãªãªãŒã¹ã§ã¯ããã§ã«ãã³ãã¬ãŒãã®ç¶æ¿ãè¡ãããäºå®ã§ãã ããã¯ãè€éãªæ§æãéšåããæ§ç¯ã§ãã匷åãªããŒã«ã§ãã
- ãããŠãè€éãªã¿ã¹ã¯ã®èªååãå¿ èŠã§ãã äž»ãªãã®ã¯åã·ã£ãŒãã£ã³ã°ã§ãã
ããã€ãã®äžéçµæãèŠãŠã¿ãŸãããã
ãã®çµæãäœãåŸãããã§ãããã? ãããŠããã䟡å€ãããã®ãââããªãã®ãïŒ ããŒã¿ããŒã¹ã Kubernetes ã«ãã©ãã°ããäžè¬çã«ã¯ãªãã¬ãŒã¿ãŒãç¹ã« Alitnity ãªãã¬ãŒã¿ãŒã䜿çšããå¿ èŠãããã§ãããã?
åºåã§ã¯æ¬¡ã®ãã®ãåŸãããŸãã
- æ§æãå°å ¥ãã¡ã³ããã³ã¹ãå€§å¹ ã«ç°¡çŽ åãããèªååãããŸãã
- ããã«ã¢ãã¿ãªã³ã°ãçµã¿èŸŒãŸããŸãã
- ãŸããè€éãªç¶æ³ã«å¯Ÿå¿ãããããã«äœ¿çšã§ããäœç³»åããããã³ãã¬ãŒããçšæãããŠããŸãã ã¬ããªã«ã®è¿œå ãªã©ã®ã¢ã¯ã·ã§ã³ãæåã§è¡ãå¿ èŠã¯ãããŸããã ãªãã¬ãŒã¿ãŒããããè¡ããŸãã
æåŸã®è³ªåã XNUMX ã€ã ãæ®ã£ãŠããŸãã ãã§ã« Kubernetes ã®ããŒã¿ããŒã¹ãšä»®æ³åãè¡ãããŠããŸãã ç¹ã« ClickHouse ã¯ããã©ãŒãã³ã¹ãæé©åãããŠããããããã®ãããªãœãªã¥ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã¯ã©ãã§ãããã?
çãã¯ããã¹ãŠå€§äžå€«ã§ãïŒãã§ãã ããã«ã€ããŠã¯å¥ã®ã¬ããŒãã§åãäžããŸãã®ã§ã詳现ã«ã¯è§ŠããŸããã
ããããTSBSã®ãããªãããžã§ã¯ãããããŸãã ãã®äž»ãªä»»åã¯äœã§ãã? ããã¯ããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ ãã¹ãã§ãã ããã¯ãæž©ãããã®ãšæãããã®ãæããããã®ãšæããããã®ãæ¯èŒããè©Šã¿ã§ãã
圌ã¯ã©ã®ããã«åããŠããŸãã? XNUMX ã€ã®ããŒã¿ã»ãããçæãããŸãã 次ã«ããã®ããŒã¿ ã»ããã¯ãåããã¹ã ã»ããã䜿çšããŠç°ãªãããŒã¿ããŒã¹ã§å®è¡ãããŸãã ãããŠãåããŒã¿ããŒã¹ã¯ããããããç¥ã£ãŠããæ¹æ³ã§ XNUMX ã€ã®åé¡ã解決ããŸãã ãããŠçµæãæ¯èŒã§ããŸãã
ãã§ã«å€§éã®ããŒã¿ããŒã¹ããµããŒãããŠããŸãã äž»ãªãã®ã XNUMX ã€ç¹å®ããŸããã ããïŒ
- ã¿ã€ã ã¹ã±ãŒã«DBã
- æµå ¥DBã
- ãããŠã¹ããã¯ãªãã¯ããŸãã
å¥ã®åæ§ã®ãœãªã¥ãŒã·ã§ã³ãšã®æ¯èŒãè¡ãããŸããã RedShiftãšã®æ¯èŒã Amazonã§æ¯èŒããŠã¿ãŸããã ãã®ç¹ã§ããClickHouse ã¯èª°ãããã¯ããã«å ãè¡ã£ãŠããŸãã
ç§ã®èšã£ãããšããã©ã®ãããªçµè«ãå°ãåºããã§ãããã?
- Kubernetesã§ã®DBãå¯èœã§ãã ããããã©ããå¯èœã§ãããå šäœçã«ã¯å¯èœã§ããããã«èŠããŸãã Kubernetes ã§ã® ClickHouse ã¯ãåœç€Ÿã®ãªãã¬ãŒã¿ãŒã®å©ããããã°ç¢ºå®ã«å®çŸã§ããŸãã
- ãªãã¬ãŒã¿ãŒã¯ããã»ã¹ã®èªååãæ¯æŽããäœæ¥ãæ¬åœã«æ¥œã«ããŸãã
- æ§èœã¯æ®éã§ãã
- ãããŠãããã¯äœ¿çšã§ãããã䜿çšãã¹ãã§ãããšç§ãã¡ã«ã¯æãããŸãã
ãªãŒãã³ãœãŒã¹ â åå ããŸããã!
ãã§ã«è¿°ã¹ãããã«ããªãã¬ãŒã¿ãŒã¯å®å šãªãªãŒãã³ãœãŒã¹è£œåã§ãããããæ倧æ°ã®äººã䜿çšã§ããã®ã¯éåžžã«è¯ãããšã§ãã åå ããŸãããïŒ çæ§ããåŸ ã¡ããŠãããŸãïŒ
ããããšãããããŸããïŒ
質å
ãå ±åããããšãããããŸãïŒ ç§ã®ååã¯ã¢ã³ãã³ã§ãã SEMrushããæ¥ãŸããã ãã®ã³ã°ã¯ã©ããªã£ãŠããã®ãæ°ã«ãªããŸãã ã¯ã©ã¹ã¿ãŒå šäœã«ã€ããŠè©±ããšãã¢ãã¿ãªã³ã°ã«ã€ããŠã¯ããèããŸããããã®ã³ã°ã«ã€ããŠã¯äœãèããŸããã ããšãã°ãããŒããŠã§ã¢äžã«ã¯ã©ã¹ã¿ãŒãæ§ç¯ããŸããã ãŸããéäžãã°ã䜿çšããæšæºçãªæ段ã䜿çšããŠããããå ±éã®ããŒãã«åéããŸãã ãããŠããããèå³ã®ããããŒã¿ãååŸããŸãã
è¯ã質åã§ããã€ãŸããToDo ãªã¹ãã«ãã°ã€ã³ããŸãã ç§ãã¡ã®ãªãã¬ãŒã¿ãŒã¯ããããŸã èªååããŠããŸããã ãã®ãããžã§ã¯ãã¯ãŸã çºå±éäžã§ããããŸã è¥ãã§ãã ç§ãã¡ã¯ãã°ã®å¿ èŠæ§ãç解ããŠããŸãã ãããéåžžã«éèŠãªããŒãã§ãã ãããŠããã¯ããããã¢ãã¿ãªã³ã°ãšåããããéèŠã§ãã ããããå®è£ ãªã¹ãã®æåã¯ç£èŠã§ããã ãã°èšé²ãè¡ãããŸãã åœç¶ã®ããšãªãããç§ãã¡ã¯ã¯ã©ã¹ã¿ãŒã®ç掻ã®ããããåŽé¢ãèªååããããšããŸãã ãããã£ãŠãæ®å¿µãªãããçŸæç¹ã§ã¯ãªãã¬ãŒã¿ãŒã¯ãããè¡ãæ¹æ³ãç¥ããŸããããããã¯èšç»ã«ãããããå®è¡ããäºå®ã§ãããšããã®ãçãã§ãã åå ãããå Žåã¯ãã«ãªã¯ãšã¹ããããŠãã ããã
ããã«ã¡ã¯ïŒ ãå ±åããããšãããããŸãïŒ æ°žç¶ããªã¥ãŒã ã«é¢ããäžè¬çãªè³ªåããããŸãã ãã®ãªãã¬ãŒã¿ãŒã䜿çšããŠæ§æãäœæããå Žåããªãã¬ãŒã¿ãŒã¯ã©ã®ããŒãã«ç¹å®ã®ãã£ã¹ã¯ãŸãã¯ãã©ã«ããŒãæ¥ç¶ãããŠããããã©ã®ããã«å€æããã®ã§ãããã? ãŸã圌ã«ããã£ã¹ã¯ã®ãããããã®ããŒãã« ClickHouse ãé 眮ããŠãã ãããšèª¬æããªããã°ãªããŸããã
ç§ãç解ããŠããéãããã®è³ªåã¯ããŒã«ã«ã¹ãã¬ãŒãžãç¹ã«ãã® hostPath éšåã®ç¶ç¶ã§ãã ããã¯ãã·ã¹ãã å šäœã«ããããã¯ããããã®ããŒãã§èµ·åããå¿ èŠãããããšã説æãããããªãã®ã§ããã®ããŒãã«ã¯ç©ççã«æ¥ç¶ããããã£ã¹ã¯ãããããã®ãã¹ã«æ²¿ã£ãŠããŠã³ããããŠããŸãã ãã®ã»ã¯ã·ã§ã³å šäœã¯éåžžã«è¡šé¢çã«è§Šãããã®ã§ããããã®çãã¯éåžžã«å€§ããããã§ãã
ç°¡åã«èšããšãããªæãã§ãã åœç¶ã®ããšãªããããããã®ããªã¥ãŒã ãããããžã§ãã³ã°ããå¿ èŠããããŸãã çŸæç¹ã§ã¯ãããŒã«ã« ã¹ãã¬ãŒãžã«ã¯åçãªããããžã§ãã³ã°ããªããããDevOps ã¯ãã£ã¹ã¯èªäœãã€ãŸããããã®ããªã¥ãŒã ãåæããå¿ èŠããããŸãã ãŸããKubernetes ããããžã§ãã³ã°ã«ã€ããŠãããããã®ããŒãäžã«é 眮ããããããããã®ã¯ã©ã¹ã®æ°žç¶ããªã¥ãŒã ãããããšã説æããå¿ èŠããããŸãã 次ã«ãããããã®ããŒã«ã« ã¹ãã¬ãŒãž ã¯ã©ã¹ãå¿ èŠãšãããããã¯ãã©ãã«ã䜿çšããŠããããã®ããŒãã«ã®ã¿éä¿¡ããå¿ èŠãããããšã Kubernetes ã«èª¬æããå¿ èŠããããŸãã ãããã®ç®çã®ããã«ããªãã¬ãŒã¿ãŒã¯ãããçš®ã®ã©ãã«ããã¹ã ã€ã³ã¹ã¿ã³ã¹ããšã« XNUMX ã€å²ãåœãŠãããšãã§ããŸãã ãããŠãããã㯠Kubernetes ã«ãã£ãŠã«ãŒãã£ã³ã°ãããèŠä»¶ (ç°¡åã«èšãã°ã©ãã«) ãæºããããŒãã§ã®ã¿å®è¡ãããããšãããããŸããã 管çè ã¯ã©ãã«ãå²ãåœãŠããã£ã¹ã¯ãæåã§ããããžã§ãã³ã°ããŸãã ãããŠããã¯ã¹ã±ãŒã«ããŸãã
ãããŠããããå°ãç°¡åã«ããã®ã XNUMX çªç®ã®ãªãã·ã§ã³ã§ããããŒã«ã«ã§ãã ãã§ã«åŒ·èª¿ããããã«ãããã¯éªšã®æãã調æŽäœæ¥ã§ãããæçµçã«ã¯æ倧ã®ããã©ãŒãã³ã¹ãåŸãã®ã«åœ¹ç«ã¡ãŸãã
ããã«é¢é£ã㊠XNUMX ã€ç®ã®è³ªåããããŸãã Kubernetes ã¯ãããŒãã倱ããããã©ãããç§ãã¡ã«ãšã£ãŠåé¡ã«ãªããªãããã«èšèšãããŠããŸãã ãã®å Žåãã·ã£ãŒãããã³ã°ããŠããããŒãã倱ã£ãå Žåã¯ã©ãããã°ããã§ãããã?
ã¯ããKubernetes ã¯åœåãããããšäººéã®é¢ä¿ã¯çã®ãããªãã®ã ãšäœçœ®ã¥ããŠããŸããããããã§ã¯åãã£ã¹ã¯ããããã®ãããªãã®ã«ãªããŸãã ãªããªãæšãŠãããªãåé¡ããããŸãã ãããŠãKubernetes ã®éçºã¯ããããå®å šã«å»æ£ããããªãœãŒã¹ã§ãããã®ããã«ãå²åŠçã«å®å šã«æ±ãããšã¯äžå¯èœã§ãããšããæ¹åã«é²ãã§ããŸãã
ããŠãå®è·µçãªè³ªåã§ãã ãã£ã¹ã¯ãååšããŠããããŒããçŽå€±ããå Žåã¯ã©ãããã°ããã§ãã? ããã§ã¯ãåé¡ã¯ããé«ãã¬ãã«ã§è§£æ±ºãããŠããŸãã ClickHouse ã®å Žåãããé«ãã¬ãã«ã§åäœããã¬ããªã«ããããŸãã ClickHouse ã¬ãã«ã§ã
ãã®çµæçããæ§è³ªã¯äœã§ãã? DevOps ã¯ãããŒã¿ã倱ãããªãããã«ãã責任ããããŸãã ã¬ããªã±ãŒã·ã§ã³ãæ£ããèšå®ããã¬ããªã±ãŒã·ã§ã³ãå®è¡ãããŠããããšã確èªããå¿ èŠããããŸãã ClickHouse ã¬ãã«ã®ã¬ããªã«ã«ã¯éè€ããããŒã¿ãå¿ èŠã§ãã ããã¯ãªãã¬ãŒã¿ãŒã解決ã§ããåé¡ã§ã¯ãããŸããã ãããŠãKubernetes èªäœã解決ããåé¡ã§ã¯ãããŸããã ãã㯠ClickHouse ã¬ãã«ã§ãã
éã®ããŒããèœã¡ãå Žåã¯ã©ãããã°ããã§ããïŒ ãããŠãXNUMX çªç®ã®ãã£ã¹ã¯ãã€ã³ã¹ããŒã«ãããã®äžã«ãã£ã¹ã¯ãé©åã«ããããžã§ãã³ã°ããã©ãã«ãé©çšããå¿ èŠãããããšãããããŸããã ãã®åŸãKubernetes ããã®äžã§ã€ã³ã¹ã¿ã³ã¹ ããããèµ·åã§ãããšããèŠä»¶ãæºãããŸãã Kubernetes ãèµ·åããŸãã ãããã®æ°ãæå®ãããæ°ãæºããã®ã«ååã§ã¯ãããŸããã ç§ã瀺ãããµã€ã¯ã«ãçµãããšã«ãªããŸãã ãããŠãæãé«ãã¬ãã«ã§ã¯ãClickHouse ã¯ãã¬ããªã«ãå ¥åããããšãã¬ããªã«ããŸã 空ã§ããããšãã¬ããªã«ãžã®ããŒã¿è»¢éãéå§ããå¿ èŠãããããšãç解ããŸãã ãããã®ã ãã®ããã»ã¹ã¯ãŸã ååã«èªååãããŠããŸããã
ãå ±åããããšãããããŸãïŒ ããŸããŸãªåä»ãªããšãçºçãããšããªãã¬ãŒã¿ãŒãã¯ã©ãã·ã¥ããŠåèµ·åãããã®ç¬éã«ã€ãã³ããå°çããŸãããããããªããšãåŠçããŸãã?
ãªãã¬ãŒã¿ãŒãã¯ã©ãã·ã¥ããŠåèµ·åãããã©ããªããŸãã?
ã¯ãã ãããŠãã®ç¬éãåºæ¥äºãèµ·ãããŸããã
ãã®å Žåã«äœãããããšããã¿ã¹ã¯ã¯ããªãã¬ãŒã¿ãŒãš Kubernetes ã®éã§éšåçã«å ±æãããŸãã Kubernetes ã«ã¯ãçºçããã€ãã³ããåçããæ©èœããããŸãã 圌ã¯ç¹°ãè¿ããŸãã ãããŠããªãã¬ãŒã¿ãŒã®ä»äºã¯ãã€ãã³ã ãã°ãåçããããšãã«ããããã®ã€ãã³ããåªçã§ããããšã確èªããããšã§ãã ãããŠãåãã€ãã³ããç¹°ãè¿ãçºçããŠãã·ã¹ãã ãç Žå£ãããªãããã«ããŸãã ãããŠãç§ãã¡ã®ãªãã¬ãŒã¿ãŒããã®ã¿ã¹ã¯ã«å¯Ÿå¿ããŸãã
ããã«ã¡ã¯ïŒ ãå ±åããããšãããããŸãïŒ ããããªãŒã»ã¶ãã£ãããäŒç€Ÿ ã¹ã¡ããã haproxy ã䜿çšããŠæ§æããæ©èœããªãã¬ãŒã¿ãŒã«è¿œå ããäºå®ã¯ãããŸãã? ç§ã¯ãClickHouse ãå®éã«ããã«ããããšãè³¢æã«ç解ã§ããããã«ãæšæºã®ãã®ä»¥å€ã®ä»ã®ãã©ã³ãµãŒã«èå³ããããŸãã
Ingressã®ããšãèšã£ãŠãã®ïŒ
ã¯ããIngress ã haproxy ã«çœ®ãæããŸãã haproxy ã§ã¯ãã¬ããªã«ãååšããã¯ã©ã¹ã¿ãŒã®ããããžãŒãæå®ã§ããŸãã
ããã«ã€ããŠã¯ãŸã èããŠããŸããã ãããå¿ èŠã§ããããªããããå¿ èŠãªã®ãã説æã§ããã°ãç¹ã«åå ãããå Žåã¯å®è£ ããããšãå¯èœã§ãã åãã§ãæ€èšãããŠããã ããŸãã ç°¡åã«èšããšãããããã§ããçŸåšãã®ãããªæ©èœã¯ãããŸããã ãææããããšãããããŸãããã®ä»¶ã«ã€ããŠã¯æ€èšãããŠããã ããŸãã ãŸãããŠãŒã¹ã±ãŒã¹ãšãGitHub ã§åé¡ãäœæãããªã©ãå®éã«ãããå¿ èŠãªçç±ã説æããŠããã ããã°ãããã¯çŽ æŽãããããšã§ãã
ãã§ã«æã£ãŠããŸãã
倧äžå€«ã ãããããææ¡ããåŸ ã¡ããŠãããŸãã ãããŠãhaproxy ã todo ãªã¹ãã«è¿œå ãããŸãã ToDo ãªã¹ãã¯å¢ãç¶ããŠããŸããããŸã æžã£ãŠããŸããã ããããããã¯è¯ãããšã§ããããã®è£œåã«éèŠãããããšãæå³ããŸãã
åºæïŒ habr.com