æåŸ
ããŠ
ãããšä»¥äžã§åœŒã¯è³ªåããŠããŸã
ããã©ã³ããã«ã€ããŠ
- ããã«ã¡ã¯ããã£ãã ããªãã¯ãã¯ãã«ã«ãã£ã¬ã¯ã¿ãŒã§ãã
ããããªãŒïŒå€ããèŠããšãç§ãã¡ã¯ã¿ããªã®ããã« Kubernetes ãã€ã³ã¹ããŒã«ããŠãããã䜿ã£ãŠäœããããŠãã人ã®ããã«èŠããŸãã ããããããã§ã¯ãããŸããã åœç€Ÿã¯ Linux ãæ±ãäŒç€ŸãšããŠã¹ã¿ãŒãããŸããããéåžžã«é·ãéãå®çšŒåããã³é«è² è·ã®ã¿ãŒã³ã㌠ãããžã§ã¯ãã®ãµãŒãã¹ãäž»ãªæŽ»åãšããŠããŸããã éåžžãç§ãã¡ã¯ã€ã³ãã©ã¹ãã©ã¯ãã£å
šäœããŒãããæ§ç¯ãããã®åŸãé·æéã«ããã£ãŠãã®è²¬ä»»ãè² ããŸãã ãããã£ãŠããFlantãããéãåãåãäž»ãªä»äºã¯ã 責任ãæã£ãŠã¿ãŒã³ããŒçç£ãå®æœãã.
ç§ã¯ãã¯ãã«ã« ãã£ã¬ã¯ã¿ãŒã§ãããäŒç€Ÿã®åµèšè
ã® XNUMX 人ãšããŠãæ¬çªç°å¢ã®ã¢ã¯ã»ã·ããªãã£ãé«ããéçšãç°¡çŽ åãã管çè
ã®äœæ¥ã容æã«ããéçºè
ã®äœæ¥ãããå¿«é©ã«ããæ¹æ³ãèŠã€ããããã«æŒå€ãè²»ãããŠããŸãã ã
Kubernetesã«ã€ããŠ
â æè¿ããã©ã³ããšåœŒããã®ã¬ããŒããããç®ã«ããŸãã
ããããªãŒïŒããã«ã€ããŠã¯ãã§ã«äœåºŠã話ããŠããŸãããç¹°ãè¿ããŠãæ§ããŸããã åå ãšçµæãæ··åãããŠããããããã®ãããã¯ãç¹°ãè¿ãã®ã¯æ£ãããšæããŸãã
æ¬åœã«ããŒã«ãå¿ èŠã§ããã ç§ãã¡ã¯å€ãã®åé¡ã«çŽé¢ããèŠãã¿ãããŸããŸãªæŸèæã䜿ã£ãŠããããå æããéå ·ã®å¿ èŠæ§ãæããŸããã ç§ãã¡ã¯ããŸããŸãªéžæè¢ãæ€èšããèªåãã¡ã§ãã€ã¯ãäœããçµéšãç©ã¿ãŸããã åŸã ã«ãDocker ãç»å ŽããŠããã«ãã€ãŸã 2013 幎é ã« Docker ã䜿ãå§ãããšãããŸã§å°éããŸããã ãã®ã³ã³ãããç»å Žããæç¹ã§ãç§ãã¡ã¯ãã§ã«ã³ã³ããã«é¢ããŠå€ãã®çµéšãç©ãã§ããããDockerãã®é¡äŒŒç©ãã€ãŸãç¬èªã®æŸèæã®äžéšã Python ã§äœæããŠããŸããã Docker ã®ç»å Žã«ãããæŸèæãæšãŠãŠãã³ãã¥ããã£ã«ãã£ãŠãµããŒããããŠããä¿¡é Œæ§ã®é«ããœãªã¥ãŒã·ã§ã³ã䜿çšã§ããããã«ãªããŸããã
Kubernetes ã®å Žåãåæ§ã§ãã ãããå¢ããå¢ãå§ããé ã«ã¯ãç§ãã¡ã«ãšã£ãŠããã¯ããŒãžã§ã³ 1.2 ã§ããç§ãã¡ã¯ãã§ã« Shell ãš Chef ã®äž¡æ¹ã«ããããã®æŸèæãæã£ãŠããŠãã©ãããããã Docker ã§èª¿æŽããããšããŸããã ç§ãã¡ã¯ Rancher ããã®ä»ã®ããŸããŸãªãœãªã¥ãŒã·ã§ã³ãçå£ã«æ€èšããŠããŸããããKubernetes ãç»å ŽããŸãããKubernetes ã§ã¯ããã¹ãŠãç§ãã¡ãå®è¡ãããã®ãšãŸã£ããåããããã以äžã«å®è£ ãããŸãã æå¥ã®ä»ãããããããŸããã
ã¯ããããã«ã¯ããçš®ã®äžå®å šæ§ããããããã«ãããçš®ã®äžå®å šæ§ããããŸã - å€ãã®äžå®å šæ§ãããã1.2 ã¯äžè¬çã«ã²ã©ããã®ã§ãã... Kubernetes ã¯å»ºèšäžã®å»ºç©ã®ãããªãã®ã§ã - ãããžã§ã¯ããèŠãã°ç解ã§ããŸã涌ãããªãã ãããšããããšã 建ç©ã«åºç€ãš XNUMX é建ãŠã®å Žåã¯ããŸã å ¥å± ããªãæ¹ãããããšã¯ç解ã§ããŸããããœãããŠã§ã¢ã«ã¯ãã®ãããªåé¡ã¯ãªãããã§ã«äœ¿çšã§ããŸãã
Kubernetes ã䜿çšãããã©ãããèããç¬éã¯ãããŸããã§ããã ç§ãã¡ã¯ãããç»å Žãããã£ãšåãããããåŸ ã£ãŠããŠãèªåãã¡ã§é¡äŒŒåãäœæããããšããŸããã
Kubernetesã«ã€ããŠ
â Kubernetesèªäœã®éçºã«ã¯çŽæ¥é¢ãã£ãŠããã®ã§ããããïŒ
ããããªãŒïŒå¹³å¡ã§ãã ããããç§ãã¡ã¯ãšã³ã·ã¹ãã ã®çºå±ã«åå ããŸãã ç§ãã¡ã¯äžå®æ°ã®ãã« ãªã¯ãšã¹ãã PrometheusãããŸããŸãªãªãã¬ãŒã¿ãŒãHelmãã€ãŸããšã³ã·ã¹ãã ã«éä¿¡ããŸãã æ®å¿µãªãããç§ãã¡ãè¡ã£ãŠãããã¹ãŠã®ããšã远跡ããããšã¯ã§ãããééã£ãŠããå¯èœæ§ããããŸãããç§ãã¡ããã³ã¢ãžã®ããŒã«ã¯åäžã§ã¯ãããŸããã
â åæã«ãå€ãã®ããŒã«ã Kubernetes ãäžå¿ã«éçºããŠããŸãã?
ããããªãŒ: æŠç¥ã¯æ¬¡ã®ãšããã§ããæ¢åã®ãã®ãã¹ãŠã«ãªã¯ãšã¹ãããã«ããŠãããŸãã ããã§ãã« ãªã¯ãšã¹ããåãå ¥ããããªãå Žåã¯ãåã«èªåãã¡ã§ãã©ãŒã¯ãããã«ãã§åãå ¥ãããããŸã§åç¶ããŸãã ãããŠãäžæµã«å°éããããäžæµããŒãžã§ã³ã«æ»ããŸãã
ããšãã°ãPrometheus ãªãã¬ãŒã¿ãŒããããããã䜿çšããŠã¢ã»ã³ããªã®äžæµãšã®éã§ãããããã§ã« 5 ååãæ¿ããè¡ã£ãŠããŸãã äœããã®æ©èœãå¿ èŠã§ããã« ãªã¯ãšã¹ããéä¿¡ããŸãããææ¥ããŒã«ã¢ãŠãããå¿ èŠããããŸãããã¢ããã¹ããªãŒã ã§ãªãªãŒã¹ããããŸã§åŸ ã¡ãããªãã®ã§ãã ãããã£ãŠãç§ãã¡ã¯èªåãã¡ã§çµã¿ç«ãŠãäœããã®çç±ã§å¿ èŠãªæ©èœãåããã¢ã»ã³ããªããã¹ãŠã®ã¯ã©ã¹ã¿ãŒã«ããŒã«ã¢ãŠãããŸãã 次ã«ãããšãã°ããçããããã£ãšäžè¬çãªã±ãŒã¹ã§ãããããšããèšèãšãšãã«äžæµã®ç§ãã¡ã«åŒãæž¡ããç§ãã¡ãŸãã¯ä»ã®èª°ãããããå®æãããæéãçµã€ãšåã³ããŒãžãããŸãã
ç§ãã¡ã¯ååšãããã®ãã¹ãŠãéçºããããšããŸãã å€ãã®èŠçŽ ã¯ãŸã ååšããŠããªããããŸã çºæãããŠããªãããããã¯çºæããããå®è£ ããæéããªãã£ã - ç§ãã¡ã¯ãããå®è¡ããŠããŸãã ããã¯ãæ¥çãšããŠã®ããã»ã¹ãèªè»¢è»è£œé ã奜ãã ããã§ã¯ãªããåã«ãã®ããŒã«ãå¿ èŠã ããã§ãã ãªãç§ãã¡ã¯ããããããªããšãããã®ã§ãã?ãšãã質åããããããŸãã çãã¯ç°¡åã§ã - ã¯ããããã«é²ãã§å®éçãªåé¡ã解決ããå¿ èŠããããããããã®ãã¥ãŒã©ã§è§£æ±ºããããã§ãã
éã¯ãã€ããããªæãã§ãã泚ææ·±ãæ¢ããŠããã³ãããããªãŒãã¹ãäœãæ¹æ³ãèŠã€ãããªãå Žåã¯ãèªåãã¡ã§ãã³ãšãããªãŒãã¹ãäœããŸãã
ãã©ã³ã¿ããŒã«
â Flant ã«ã¯çŸåšã¢ããªã³ ãªãã¬ãŒã¿ãŒãã·ã§ã« ãªãã¬ãŒã¿ãŒãdapp/werf ããŒã«ãããããšã¯ç¥ã£ãŠããŸãã ç§ã®ç解ã§ã¯ãããã¯ç°ãªãå身ã§ãåã楜åšã§ãã ãŸããFlaunt ã«ã¯ããã«å€ãã®ããŸããŸãªããŒã«ãããããšãç解ããŠããŸãã ããã¯æ¬åœã§ãïŒ
ããããªãŒ: GitHub ã«ã¯ä»ã«ããããããããŸãã ä»èŠããŠããéãã§ã¯ãã¹ããŒã¿ã¹ããããšããã誰ããæ°ã«å ¥ã£ã Grafana ã®ããã«ããããŸãã ããã¯ãMedium ã§ã® Kubernetes ã¢ãã¿ãªã³ã°ã«é¢ããã»ãŒãã¹ãŠã®èšäºã§èšåãããŠããŸãã ã¹ããŒã¿ã¹ããããšã¯äœããç°¡åã«èª¬æããããšã¯äžå¯èœã§ããããã«ã€ããŠã¯å¥ã®èšäºãå¿ èŠã§ãããKubernetes ã§ã¯æéã®çµéãšãšãã«ã¹ããŒã¿ã¹ã衚瀺ããå¿ èŠãããããšãå€ããããã¹ããŒã¿ã¹ããããæéã®çµéãšãšãã«ç£èŠããã®ã«éåžžã«åœ¹ç«ã¡ãŸãã LogHouse ããããŸããããã¯ãClickHouse ãš Kubernetes ã§ãã°ãåéããããã®é»éè¡ã«åºã¥ãããã®ã§ãã
ãŠãŒãã£ãªãã£ãããããïŒ ä»å¹Žã¯å€æ°ã®ç€Ÿå ãœãªã¥ãŒã·ã§ã³ããªãªãŒã¹ãããäºå®ãªã®ã§ãããã«å€ãã®ãœãªã¥ãŒã·ã§ã³ããªãªãŒã¹ãããã§ãããã ã¢ããªã³ ãªãã¬ãŒã¿ãŒãããŒã¹ã«ããéåžžã«å€§èŠæš¡ãªãã®ã®äžã«ã¯ãKubernetes çšã®ã¢ããªã³ãå€æ°ãããŸãã蚌ææžã管çããããŒã«ã§ãã sert ãããŒãžã£ãŒãé©åã«ã€ã³ã¹ããŒã«ããæ¹æ³ãå€æ°ã®ã¢ã¯ã»ãµãªãåãã Prometheus ãæ£ããã€ã³ã¹ããŒã«ããæ¹æ³ãªã©ããããã¯çŽ XNUMX çš®é¡ãããŸããããŒã¿ããšã¯ã¹ããŒãããŠäœããåéãããã€ããªã«å¯ŸããŠãPrometheus ã«ã¯æãçŽ æŽãããã°ã©ãã£ãã¯ã¹ãšã¢ã©ãŒããåãã£ãŠããŸãã ãããã¯ãã¹ãŠãã¯ã©ã¹ã¿ãŒã«ã€ã³ã¹ããŒã«ããã Kubernetes ãžã®ã¢ããªã³ã®æã«ããããã·ã³ãã«ãªãã®ããã¯ãŒã«ã§æŽç·Žãããèªåãªãã®ã«å€ãããå€ãã®åé¡ããã§ã«è§£æ±ºãããŠããŸãã ã¯ãããããããã£ãŠãŸãã
çæ ç³»ã®çºå±
ãããã¯ãã®æ©åšãšãã®äœ¿çšæ¹æ³ã®éçºã«éåžžã«å€§ããªè²¢ç®ã§ããããã«æããŸããã ä»ã«èª°ããšã³ã·ã¹ãã ã®çºå±ã«åãè²¢ç®ãããã ãããã倧ãŸãã«èŠç©ããããšã¯ã§ããŸãã?
ããããªãŒ: ãã·ã¢ã§ã¯ãç§ãã¡ã®åžå Žã§æŽ»åããŠããäŒæ¥ã®äžã§ãããã«å¹æµããäŒæ¥ã¯ãããŸããã ãã¡ãããããã¯å€§å£°ã§ã®çºèšã§ããMail ã Yandex ã®ãããªå€§æäŒæ¥ãããã圌ãã Kubernetes ã䜿ã£ãŠäœããè¡ã£ãŠããŸããã圌ãã§ãããç§ãã¡ãããã¯ããã«å€ãã®ããšãè¡ã£ãŠããå šäžçã®äŒæ¥ã®è²¢ç®ã«ã¯åã³ãŸããã ç§ã®èšæ¶ãééã£ãŠããªããã°ã80 人ã®ã¹ã¿ãããæ±ãã Flant ãšãKubernetes ããšã« 300 人ã®ãšã³ãžãã¢ãæ±ãã Red Hat ãæ¯èŒããã®ã¯å°é£ã§ãã æ¯èŒããã®ã¯é£ããã§ãã RnD éšéã«ã¯ç§ãå«ã㊠6 人ãããããã¹ãŠã®å·¥å ·ãã«ããããŠããŸãã 6 人察 300 人㮠Red Hat ãšã³ãžã㢠â æ¯èŒããã®ã¯ã©ããããããé£ããã§ãã
- ãããããã® 6 人ã§ããå®éçãªåé¡ã«çŽé¢ããŠãã³ãã¥ããã£ã«è§£æ±ºçãæäŸãããšãã«ãæ¬åœã«æçã§çå€çãªããšãè¡ãããšãã§ããã®ã¯ãèå³æ·±ãã±ãŒã¹ã§ãã 倧æãã¯ãããžãŒäŒæ¥ã§ã¯ãç¬èªã® Kubernetes éçºããã³ãµããŒã ããŒã ããããååãšããŠåãããŒã«ãéçºã§ãããšç解ããŠããŸãã ããã¯ãéçºããŠã³ãã¥ããã£ã«æäŸã§ãããã®ã®äžäŸã§ãããKubernetes ã䜿çšããã³ãã¥ããã£å šäœã«æšé²åãäžããŸãã
ããããªãŒïŒããã¯ããããã€ã³ãã°ã¬ãŒã¿ã®æ©èœãç¹æ®æ§ã§ãã ç§ãã¡ã«ã¯å€ãã®ãããžã§ã¯ãããããããŸããŸãªç¶æ³ãèŠãããŸãã ç§ãã¡ã«ãšã£ãŠãä»å 䟡å€ãçã¿åºãäž»ãªæ¹æ³ã¯ããããã®äºäŸãåæããå ±éç¹ãèŠã€ããŠãã§ããã ãå®ãããããšã§ãã ç§ãã¡ã¯ããã«ç©æ¥µçã«åãçµãã§ããŸãã ãã·ã¢ãäžçã«ã€ããŠè©±ãã®ã¯é£ããã§ããã瀟å ã«ã¯ Kubernetes ã«åãçµã DevOps ãšã³ãžãã¢ãçŽ 40 人ããŸãã ãã·ã¢ã«ã¯ãKubernetes ãç解ããã¹ãã·ã£ãªã¹ããããã»ã©å€ãæ±ããŠããäŒæ¥ã¯ãããšããã£ããšããŠãå€ããªããšæããŸãã
ç§ã¯ DevOps ãšã³ãžãã¢ãšãã圹è·ã«ã€ããŠãã¹ãŠãç解ããŠããŸãã誰ãããã¹ãŠãç解ããŠãããDevOps ãšã³ãžãã¢ã DevOps ãšã³ãžãã¢ãšåŒã¶ããšã«æ £ããŠããŸããããã«ã€ããŠã¯è°è«ããŸããã ããã 40 人ã®çŽ æŽããã DevOps ãšã³ãžãã¢å šå¡ãæ¯æ¥åé¡ã«çŽé¢ãã解決ããŠããŸããç§ãã¡ã¯ãã®çµéšãåæããäžè¬åããããšããŠããã ãã§ãã ãããç§ãã¡ã®äžã«æ®ã£ãŠããå Žåãã³ãã¥ããã£ã®ã©ããã«æ¢è£œã®ãã¥ãŒã©ãçŸãããããããŒã«ã¯XNUMXãXNUMX幎ã§åœ¹ã«ç«ããªããªãããšãç§ãã¡ã¯ç解ããŠããŸãã ãã®çµéšãå éšçã«èç©ããŠãæå³ã¯ãããŸããããšãã«ã®ãŒãšæéã dev/null ã«æ¶èããã ãã§ãã ãããŠç§ãã¡ã¯ãããå šãæ®å¿µã«æã£ãŠããŸããã ç§ãã¡ã¯ãã¹ãŠãåãã§å ¬éãã人ã ãããã䜿çšããçµéšãè¿œå ã§ããããã«ãå ¬éãéçºã宣äŒã宣äŒããå¿ èŠãããããšãç解ããŠããŸããããããã°ããã¹ãŠãæé·ããçãç¶ããŸãã ãããŠXNUMX幎çµã£ãŠã楜åšã¯ãŽãç®±è¡ãã«ãªããŸããã 誰ããããªãã®ããŒã«ã䜿çšããŠããããšã¯æããã§ãããXNUMX 幎åŸã«ã¯èª°ããããã䜿çšããŠãããããåã泚ãç¶ããããšã¯æ®å¿µã§ã¯ãããŸããã
ããã¯ãdapp/werf ã䜿çšããåœç€Ÿã®å€§ããªæŠç¥ã®äžéšã§ãã ãã€äœãå§ãããã¯èŠããŠããªãã®ã§ããã3幎ãããåã ã£ããããªæ°ãããŸãã åœåãããã¯éåžžã·ã§ã«äžã«ãããŸããã ããã¯éåžžã«åªããæŠå¿µå®èšŒã§ãããç¹å®ã®åé¡ã®ããã€ãã解決ããŸãããããŸããããŸããã ããããã·ã§ã«ã«ã¯åé¡ãããããã以äžæ¡åŒµããããšã¯äžå¯èœã§ããã·ã§ã«ã§ã®ããã°ã©ãã³ã°ã¯å¥ã®äœæ¥ã§ãã ç§ãã¡ã¯ Ruby ã§æžãç¿æ £ããã£ãã®ã§ãRuby ã§äœããäœãçŽããéçºãéçºãéçºãç¹°ãè¿ããã³ãã¥ããã£ãã€ãŸãã欲ããã欲ãããªãããèšããªãéå£ãååšãããšããäºå®ã«ééããŸããã ããšã«ããŒã«éŒ»ãåããã®ã§ãããé¢çœãã§ããïŒ ãã§ãã¯ãªã¹ãã®æåã®ç¹ãæºããããã«ã¯ãããããã¹ãŠã Go ã§èšè¿°ããå¿ èŠãããããšã«æ°ä»ããŸããã DevOps ããŒã«ã¯éçãã€ããªã§ããå¿ èŠããããŸãã Go ãã©ããã¯ããã»ã©éèŠã§ã¯ãããŸããããGo ã§æžãããéçãã€ããªã®æ¹ãåªããŠããŸãã
ç§ãã¡ã¯ãšãã«ã®ãŒãè²»ãããŠãdapp ã Go ã§æžãçŽããããã werf ãšåä»ããŸããã Dapp ã¯ãµããŒããéçºãè¡ãããŠããããææ°ããŒãžã§ã³ã§å®è¡ãããŠããŸãããæäžäœãžã®çµ¶å¯Ÿçãªã¢ããã°ã¬ãŒã ãã¹ããããããã«åŸãããšãã§ããŸãã
dappã¯ãªãäœãããã®ã§ããããïŒ
â dappãäœãããçç±ãšãããã解決ããåé¡ãç°¡åã«æããŠãã ããã
ããããªãŒïŒæåã®çç±ã¯ã¢ã»ã³ããªã«ãããŸãã åœåãDocker ã«ãã«ãã¹ããŒãžæ©èœããªãã£ãããããã«ãã«å€§ããªåé¡ãçºçãããããç¬èªã«ãã«ãã¹ããŒãžãäœæããŸããã ãã®åŸãã€ã¡ãŒãžã®ã¯ãªãŒãã³ã°ã«é¢ããŠããã«å€ãã®åé¡ãçºçããŸããã CI/CD ãè¡ã人ã¯ãé ããæ©ããã倧éã®ç»åãåéãããŠãããããäžèŠãªãã®ãäœããã®æ¹æ³ã§åé€ããå¿ èŠãªãã®ãæ®ãå¿ èŠããããšããåé¡ã«çŽé¢ããããšã«ãªããŸãã
XNUMX çªç®ã®çç±ã¯å±éã§ãã ã¯ããHelm ã¯ãããŸãããããã¯åé¡ã®äžéšãã解決ããŸããã é¢çœãããšã«ããHelm 㯠Kubernetes ã®ããã±ãŒãž ãããŒãžã£ãŒã§ãããšæžãããŠããŸãã ãŸãã«ãã¶ãã§ãã ãããã±ãŒãž ãããŒãžã£ãŒããšããèšèããããŸãããããã±ãŒãž ãããŒãžã£ãŒã«éåžžæåŸ ããããã®ã¯äœã§ãã? ãããã±ãŒãž ãããŒãžã£ãŒ - ããã±ãŒãžãã€ã³ã¹ããŒã«ããŠãã ãã!ããšèšããŸãã ãããŠç§ãã¡ã¯åœŒããè·ç©ã¯é éãããŸããããšèšãã®ãæåŸ ããŠããŸãã
èå³æ·±ãã®ã¯ãç§ãã¡ãããã«ã ãããã±ãŒãžãã€ã³ã¹ããŒã«ããŠãã ããããšèšããšã圌ãã€ã³ã¹ããŒã«ãããšçãããšãã¡ããã©ã€ã³ã¹ããŒã«ãéå§ããã°ããã§ããããšãããããŸãã圌㯠Kubernetes ã«ããããèµ·åããŠãã ãã!ããšæ瀺ãããããéå§ãããã©ãããæ瀺ããŸãããæ©èœãããã©ããã«é¢ä¿ãªããHelm ã¯ãã®åé¡ããŸã£ãã解決ããŸããã
Helm 㯠Kubernetes ã«ããŒã¿ãããŒãããåãªãããã¹ã ããªããã»ããµã§ããããšãããããŸããã
ãããããããã€ã¡ã³ãã®äžç°ãšããŠãã¢ããªã±ãŒã·ã§ã³ãå®çšŒåçšã«ãªãªãŒã¹ããããã©ãããç¥ããããšæããŸãã? prod ã«ããŒã«ã¢ãŠãããããšããããšã¯ãã¢ããªã±ãŒã·ã§ã³ãããã«ç§»åãããæ°ããããŒãžã§ã³ããããã€ãããå°ãªããšãããã§ã¯ã©ãã·ã¥ãããæ£ããå¿çããããšãæå³ããŸãã Helm ã¯ãã®åé¡ããŸã£ãã解決ããŸããã ããã解決ããã«ã¯ãKubernetes ã«ããŒã«ã¢ãŠãããã³ãã³ããäžããããã§äœãèµ·ãã£ãŠããã (ãããã€ãããŠãããããŒã«ã¢ãŠããããŠããã) ãç£èŠããå¿ èŠããããããå€å€§ãªåŽåãè²»ããå¿ èŠããããŸãã ãŸããå±éãã¯ãªãŒãã³ã°ãçµã¿ç«ãŠã«é¢é£ããã¿ã¹ã¯ããããããããŸãã
äºå®
ä»å¹Žã¯çŸå°éçºãéå§ããŸãã 以å Vagrant ã«ãã£ããã®ãå®çŸããããšèããŠããŸãããvagrant upããšå ¥åããä»®æ³ãã·ã³ããããã€ããŸããã Git ã«ãããžã§ã¯ãããããšãããŸã§é²ã¿ãããšæããŸããããã«ãwerf upããšæžããŸãããããšããã®ãããžã§ã¯ãã®ããŒã«ã« ã³ããŒã衚瀺ãããããŒã«ã«ã® mini-Kub ã«ãããã€ãããéçºã«äŸ¿å©ãªãã¹ãŠã®ãã£ã¬ã¯ããªãæ¥ç¶ãããŸãã ã éçºèšèªã«å¿ããŠããã®å®è¡æ¹æ³ã¯ç°ãªããŸãããããã§ãããŒã«ã«éçºãããŠã³ãããããã¡ã€ã«ã§ç°¡åã«å®è¡ã§ããããã«ããŸãã
ç§ãã¡ã®æ¬¡ã®ã¹ãããã¯ã éçºè ã®å©äŸ¿æ§ã«æè³ããã XNUMX ã€ã®ããŒã«ã䜿çšããŠãããžã§ã¯ããããŒã«ã«ã«è¿ éã«ãããã€ããã«ã¯ããããžã§ã¯ããéçºã㊠Git ã«ããã·ã¥ããŸãããŸãããã€ãã©ã€ã³ã«å¿ããŠã¹ããŒãžã³ã°ãŸãã¯ãã¹ãã«ããŒã«ã¢ãŠãããåãããŒã«ã䜿çšããŠéçšç°å¢ã«ç§»è¡ããŸãã ãã®ããŒã«ã«ç°å¢ãã販売ãŸã§ã®ã€ã³ãã©ã®äžäœæ§ãçµ±äžæ§ãåçŸæ§ã¯ç§ãã¡ã«ãšã£ãŠéåžžã«éèŠãªãã€ã³ãã§ãã ããããããã¯ãŸã èšç»ãããŠããŸãããç§ãã¡ã¯ãããèšç»ããŠãããšããã§ãã
ããããdapp/werf ãžã®éã¯ãæåã® Kubernetes ã®å Žåãšåžžã«åãã§ããã ç§ãã¡ã¯åé¡ã«ééããåé¿çã§ãããã解決ããŸãããç§ãã¡ã¯ãã·ã§ã«ããããããã®ã«ã€ããŠãèªåãã¡ã§ããã€ãã®è§£æ±ºçãèãåºããŸããã 次ã«ã圌ãã¯ãããã®åé¿çãäœããã®åœ¢ã§ä¿®æ£ããäžè¬åããŠãã€ããªã«çµ±åããããšããŸããããã®å Žåã¯ããããå ±æããã ãã§ãã
ãã®ç©èªå šäœãé¡æšããŠèŠãå¥ã®æ¹æ³ããããŸãã
Kubernetes ã¯ãšã³ãžã³ãåããèªåè»ã®ãã¬ãŒã ã§ãã ãã¢ãã¬ã©ã¹ãã©ãžãªãã¯ãªã¹ãã¹ããªãŒãäœããããŸããã ãã¬ãŒã ãšãšã³ãžã³ã ãã ãããŠHelmããããŸã - ããã¯ãã³ãã«ã§ãã ã¯ãŒã«ã§ããã¹ãã¢ãªã³ã°ãã€ãŒã«ã¯ãããŸãããã¹ãã¢ãªã³ã°ãã³ãã¹ãã¢ãªã³ã°ã©ãã¯ãã®ã¢ããã¯ã¹ããã€ãŒã«ãå¿ èŠã§ãããããªãã§ã¯ãã£ãŠãããŸããã
werf ã®å Žåããã㯠Kubernetes ã®å¥ã®ã³ã³ããŒãã³ãã§ãã ããšãã°ãwerf ã®ã¢ã«ãã¡çã§ã¯ãHelm ã werf å
ã§ã³ã³ãã€ã«ãããããã«ãªããŸãããããã¯ãèªåãã¡ã§è¡ãã®ã«é£œããããã§ãã ããã«ã¯å€ãã®çç±ããããŸããããªããã«ã å
šäœãšãã£ã©ãŒããŽã§ã«ãå
ã«ãŸãšããã®ãã«ã€ããŠè©³ãã説æããŸãã
werf ã¯ããçµ±åãããã³ã³ããŒãã³ãã«ãªããŸããã å®æããã¹ãã¢ãªã³ã°ãã€ãŒã«ãšã¹ãã¢ãªã³ã°ãã³ãå ¥æããŸããç§ã¯è»ãããŸãåŸæã§ã¯ãããŸããããããã¯ãã§ã«ããªãåºç¯å²ã®åé¡ã解決ãã倧ããªãããã¯ã§ãã èªåã§ã«ã¿ãã°ã調ã¹ãŠãããéšåãšå¥ã®éšåãéžæããããããã©ã®ããã«ãã蟌ãããèããå¿ èŠã¯ãããŸããã å€ãã®åé¡ãäžåºŠã«è§£æ±ºããæ¢è£œã®ã³ã³ãã€ã³ãå ¥æããŸãã ãããããã®å éšã¯åããªãŒãã³ ãœãŒã¹ ã³ã³ããŒãã³ãããæ§ç¯ãããŠãããã¢ã»ã³ããªã«ã¯ Docker ã䜿çšããäžéšã®æ©èœã«ã¯ Helm ã䜿çšããŠãããä»ã«ãããã€ãã®ã©ã€ãã©ãªããããŸãã ããã¯ãåªãã CI/CD ãç®±ããåºããŠããã«äŸ¿å©ã«å ¥æã§ããçµ±åããŒã«ã§ãã
Kubernetes ã®ä¿å®ã¯é£ããã§ãã?
â ããªã㯠Kubernetes ã䜿ãå§ããçµéšã«ã€ããŠè©±ããŠããŸããããã¯ããªãã«ãšã£ãŠãã¬ãŒã ã§ããããšã³ãžã³ã§ãããããã£ããã³ãã«ãããã«ã®ããžãã·ãŒããªã©ãããŸããŸãªãã®ããã®äžã«æããããšãã§ãããšã®ããšã§ãã Kubernetes ã®ãµããŒãã¯ã©ã®ãããé£ããã§ãã?ãšããçåãçããŸãã ããªãã¯è±å¯ãªçµéšããæã¡ã§ãããä»ã®ãã¹ãŠããåé¢ã㊠Kubernetes ããµããŒãããããã«ã©ã®ãããã®æéãšãªãœãŒã¹ãè²»ãããŠããŸãã?
ããããªãŒ: ããã¯éåžžã«é£ãã質åã§ããçããã«ã¯ããµããŒããšã¯äœããKubernetes ã«äœãæ±ããŠããã®ããç解ããå¿ èŠããããŸãã ããããããæŽé²ã§ããããïŒ
â ç§ã®ç¥ãéãããŸãèŠãŠããéããçŸåšå€ãã®ããŒã ã Kubernetes ãè©ŠããããšèããŠããŸãã 誰ãããããå©çšããèã®äžã«çœ®ããŸãã 人ã ã¯ãã®ã·ã¹ãã ã®è€éããå¿ ãããç解ããŠããªããããªæ°ãããŸãã
ããããªãŒïŒ ãã®ãããªãã®ã§ãã
â Kubernetes ãæåããå°å ¥ããŠã€ã³ã¹ããŒã«ããæ¬çªç°å¢ã«å¯Ÿå¿ãããã®ã¯ã©ã®ãããé£ããã§ãã?
ããããªãŒïŒå¿èã移æ€ããã®ã¯ã©ããããé£ãããšæããŸããïŒ ããã劥åçãªè³ªåã§ããããšã¯ç解ããŠããŸãã ã¡ã¹ã䜿ã£ãŠãã¹ãããªãããšã¯ãããã»ã©é£ããããšã§ã¯ãããŸããã ã©ããåãããã©ããçž«ããæããŠããããã°ãæé èªäœã¯é£ãããããŸããã ãã¹ãŠãããŸãããããšãäœåºŠãä¿èšŒããã®ã¯å°é£ã§ãã
Kubernetes ãã€ã³ã¹ããŒã«ããŠåäœãããã®ã¯ç°¡åã§ãã â ã€ã³ã¹ããŒã«ãããŠããŸãããã€ã³ã¹ããŒã«æ¹æ³ã¯ãããããããŸãã ããããåé¡ãçºçããå Žåã¯ã©ããªãã§ãããã?
åžžã«çåãçããŸãããŸã èæ ®ãããŠããªãããšã¯äœã§ãã? ç§ãã¡ããŸã ãã£ãŠããªãããšã¯äœã§ããããïŒ ã©ã® Linux ã«ãŒãã« ãã©ã¡ãŒã¿ãééã£ãŠæå®ãããŸããã? äž»ããç§ãã¡ã¯ãããã«ã€ããŠãèšåããŸããã?! ã©ã® Kubernetes ã³ã³ããŒãã³ããé ä¿¡ãããã©ã®ã³ã³ããŒãã³ããé ä¿¡ãããŠããªãã§ãããã? äœåãã®çåãçãããããã«çããã«ã¯ããã®æ¥ç㧠15 ïœ 20 幎ãè²»ããå¿ èŠããããŸãã
ãã®ãããã¯ã«é¢ããŠããKubernetes ã®ä¿å®ã¯é£ããã§ãã?ããšããåé¡ã®æå³ãæããã«ããå¯èœæ§ã®ããæè¿ã®äŸããããŸãã å°ãåã«ãç§ãã¡ã¯ Cilium ã Kubernetes ã®ãããã¯ãŒã¯ãšããŠå®è£ ããã¹ããã©ãããçå£ã«æ€èšããŸããã
Ciliumãšã¯äœãã«ã€ããŠèª¬æããŸãããã Kubernetes ã«ã¯ãããã¯ãŒã¯ ãµãã·ã¹ãã ã®ããŸããŸãªå®è£ ãããããã®äžã® XNUMX ã€ã§ãã Cilium ã¯éåžžã«åªããŠããŸãã ãã®æå³ã¯äœã§ãã? ã«ãŒãã«ã§ã¯ãå°ãåã«ã«ãŒãã«çšã®ããã¯ãäœæã§ããããã«ãªããŸãããããã«ãããäœããã®åœ¢ã§ãããã¯ãŒã¯ ãµãã·ã¹ãã ããã®ä»ã®ããŸããŸãªãµãã·ã¹ãã ã«äŸµå ¥ããã«ãŒãã«å ã®å€§ããªãã£ã³ã¯ããã€ãã¹ã§ããããã«ãªããŸãã
Linux ã«ãŒãã«ã«ã¯æŽå²çã«ãip ã«ãŒãããªãŒããŒãã£ã«ã¿ãŒãããªããžãããã³ 15 幎ã20 幎ã30 幎åã®ããŸããŸãªå€ãã³ã³ããŒãã³ããå«ãŸããŠããŸãã äžè¬çã«ããããã¯æ©èœãããã¹ãŠãçŽ æŽãããã§ãããä»ã§ã¯ã³ã³ãããç©ã¿äžãããã15åã®ã¬ã³ã¬ãç©ã¿éãªã£ãå¡ã®ããã«èŠãããã®äžã«ç足ã§ç«ã£ãŠããŸã - å¥åŠãªæèŠã§ãã ãã®ã·ã¹ãã ã¯ãäœå ã®ä»é²ã®ããã«ãæŽå²çã«ããŸããŸãªãã¥ã¢ã³ã¹ã䌎ããªããçºå±ããŠããŸããã ããšãã°ãç¶æ³ã«ãã£ãŠã¯ããã©ãŒãã³ã¹ã®åé¡ãçºçããããšããããŸãã
çŽ æŽããã BPF ãšã«ãŒãã«çšã®ããã¯ãäœæããæ©èœãããã圌ãã¯ã«ãŒãã«çšã«ç¬èªã®ããã¯ãäœæããŸããã ããã±ãŒãžã¯ Linux ã«ãŒãã«ã«å ¥ããå ¥åæã«çŽæ¥åãåºãããããªããžã TCPãIP ã¹ã¿ãã¯ã䜿çšããã«ãå¿ èŠã«å¿ããŠèªåçã«åŠçãããŸããã€ãŸããLinux ã«ãŒãã«ã«èšè¿°ãããŠãããã¹ãŠã®å 容ããã€ãã¹ããŠãåãåºããŸããããã容åšã®äžã«åºããŸãã
ã©ãããã®ïŒ éåžžã«ã¯ãŒã«ãªããã©ãŒãã³ã¹ãã¯ãŒã«ãªæ©èœ - ãšã«ããã¯ãŒã«ã§ã! ãããããããèŠããšãåãã·ã³ã«ã¯ Kubernetes API ã«æ¥ç¶ããããã°ã©ã ãããããã® API ããåãåã£ãããŒã¿ã«åºã¥ã㊠C ã³ãŒããçæãããã€ããªãã³ã³ãã€ã«ããŠã«ãŒãã«ã«ããŒããããããã®ããã¯ãæ©èœããããšãããããŸããã«ãŒãã«ç©ºéå ã
äœãåé¡ãçºçããå Žåã¯ã©ããªããŸãã? æã ã¯ç¥ããŸããã ãããç解ããã«ã¯ããã®ã³ãŒãããã¹ãŠèªã¿ãããžãã¯ããã¹ãŠç解ããå¿ èŠããããŸããããããã©ãã»ã©é£ãããã¯é©ãã¹ãããšã§ãã ããããã®äžæ¹ã§ããããã®ããªããžãããã ãã£ã«ã¿ãŒãIP ã«ãŒãã£ã³ã°ãååšããŸããç§ã¯ãããã®ãœãŒã¹ ã³ãŒããèªãã ããšããããŸããããåœç€Ÿã§åã 40 人ã®ãšã³ãžãã¢ãèªãã§ããŸããã äžéšã®éšåãç解ããŠãã人ã¯å°ãªããããããŸããã
éãã¯äœã§ãã? Linux ã«ãŒãã«ã§ãã ip rout ããããæ°ããããŒã«ãããããšãããããŸããããããã©ã®ãããªéããçãã®ããç§ãã¡ã¯ã©ã¡ãããç解ããŠããŸããã ããããç§ãã¡ã¯æ°ãããã®ã䜿çšããããšãæããŠããŸã - ãªãã§ãããã? ãªããªããããŒã«ã 30 幎åã®ãã®ã§ããã°ã30 幎ã®éã«ãã¹ãŠã®ãã°ãçºèŠããããã¹ãŠã®ééããèžãŸããŠããããããã¹ãŠãç¥ãå¿ èŠã¯ãããŸããããã©ã㯠ããã¯ã¹ã®ããã«æ©èœããåžžã«æ©èœããŸãã ã©ã®èšºæãã©ã€ããŒãã©ã®å Žæã«å·®ã蟌ãã¹ãããã©ã®æç¹ã§ã©ã® tcpdump ãå®è¡ãã¹ããã¯èª°ããç¥ã£ãŠããŸãã 誰ãã蚺æãŠãŒãã£ãªãã£ã«ã€ããŠã¯ããç¥ã£ãŠããããã®äžé£ã®ã³ã³ããŒãã³ãã Linux ã«ãŒãã«ã§ã©ã®ããã«æ©èœããããã€ãŸãåäœæ¹æ³ã§ã¯ãªãã䜿çšæ¹æ³ãç解ããŠããŸãã
ãããŠãçŽ æŽãããã¯ãŒã«ãª Cilium 㯠30 æ³ã§ã¯ãªãããŸã èåããŠããŸããã Kubernetes ã«ãåãåé¡ããããŸãã Cilium ã¯å®ç§ã«ã€ã³ã¹ããŒã«ãããŠãããKubernetes ãå®ç§ã«ã€ã³ã¹ããŒã«ãããŠããŸãããæ¬çªç°å¢ã§äœãåé¡ãçºçããå Žåãå±æ©çãªç¶æ³ã§äœãåé¡ã ã£ãã®ããããã«ç解ã§ããŸãã?
Kubernetes ãä¿å®ããã®ã¯é£ããããšãããšãããããããã¯éåžžã«ç°¡åã§ãããã¯ããä¿¡ããããªãã»ã©é£ããã§ãã Kubernetes ã¯åç¬ã§ãåªããæ©èœãçºæ®ããŸãããããŸããŸãªãã¥ã¢ã³ã¹ããããŸãã
ãã©ãããŒãã¢ãããŒãã«ã€ããŠ
â ãããã£ããã¥ã¢ã³ã¹ãã»ãŒç¢ºå®ã«çŸããäŒæ¥ã¯ããã®ã§ããããïŒ Yandex ãçªç¶ãã¹ãŠã®ãµãŒãã¹ã Kubernetes ã«ç§»è¡ãããšãããã«ã¯å€§ããªè² è·ãçºçããŸãã
ããããªãŒ: ããããããã¯è² è·ã«ã€ããŠã®è©±ã§ã¯ãªããæãåçŽãªããšã«ã€ããŠã®è©±ã§ãã ããšãã°ãKubernetes ããããããã«ã¢ããªã±ãŒã·ã§ã³ããããã€ããŸããã ãããæ©èœããŠããããšãã©ããã£ãŠç¥ãããšãã§ããŸãã? ã¢ããªã±ãŒã·ã§ã³ãã¯ã©ãã·ã¥ããŠããªãããšãç解ããããã®æ¢è£œã®ããŒã«ã¯ãŸã£ãããããŸããã ã¢ã©ãŒããéä¿¡ããæ¢è£œã®ã·ã¹ãã ã¯ãªãããããã®ã¢ã©ãŒããšåã¹ã±ãžã¥ãŒã«ãæ§æããå¿ èŠããããŸãã ãããŠãKubernetes ãæŽæ°ããŠããŸãã
Ubuntu 16.04ã䜿çšããŠããŸãã ããã¯å€ãããŒãžã§ã³ã§ãããšèšããŸãããLTS ã§ãããããŸã 䜿çšãããŠããŸãã systemd ãšãããã®ããããŸããããã®ãã¥ã¢ã³ã¹ã¯ C ã°ã«ãŒããã¯ãªãŒã³ã¢ããããªããšããããšã§ãã Kubernetes ã¯ããããèµ·åããC ã°ã«ãŒããäœæãããã®åŸããããåé€ããŸãããããŠã©ãããããããç³ãèš³ãããŸããã詳现ã¯èŠããŠããŸãããsystemd ã¹ã©ã€ã¹ãæ®ã£ãŠããããšãããããŸããã ããã¯ãæéã®çµéãšãšãã«ãã©ã®è»ãå€§å¹ ã«é床ãèœãšãå§ãããšããäºå®ã«ã€ãªãããŸãã ããã¯é«è² è·ã«é¢ãã質åã§ããããŸããã ããšãã°ãæ°žç¶çãªããããèµ·åãããå Žåãããããåžžã«çæãã Cron ãžã§ããããå ŽåãUbuntu 16.04 ãæèŒãããã·ã³ã¯ 16 é±éåŸã«é床ãäœäžãå§ããŸãã å€æ°ã® C ã°ã«ãŒããäœæãããŠãããããè² è·å¹³åã¯åžžã«é«ããªããŸãã ããã¯ãåã« Ubuntu XNUMX ãš Kubernetes ããã®äžã«ã€ã³ã¹ããŒã«ãã人ãçŽé¢ããåé¡ã§ãã
圌ãäœããã®æ¹æ³ã§ systemd ãªã©ãæŽæ°ãããšããŸãããããããã4.16 ãŸã§ã® Linux ã«ãŒãã«ã§ã¯ããã«ããããªããšã«ãªããŸããC ã°ã«ãŒããåé€ãããšããããã¯ã«ãŒãã«å ã«æŒæŽ©ããå®éã«ã¯åé€ãããŸããã ãããã£ãŠããã®ãã·ã³ã§ 15 ãæéäœæ¥ãç¶ãããšãçåºã®ã¡ã¢ãªçµ±èšã確èªã§ããªããªããŸãã ãã¡ã€ã«ãåãåºããããã°ã©ã å ã§ããŒãªã³ã°ãããšãXNUMX ã€ã®ãã¡ã€ã«ã XNUMX ç§éããŒãªã³ã°ãããŸããããã¯ãã«ãŒãã«ãå éšã® XNUMX äžåã® C ã°ã«ãŒããã«ãŠã³ãããã®ã«éåžžã«é·ãæéããããããã§ãããããã®ã°ã«ãŒãã¯åé€ãããŠããããã«èŠããŸãããéããŸãããªãŒã¯ããŠããŸãã ã
ãããªå°ããªãã®ããŸã ãã¡ãã¡ã«ãããããããŸãã ããã¯ã巚倧äŒæ¥ãéåžžã«å€§ããªè² è·ã®äžã§æã çŽé¢ããå¯èœæ§ãããåé¡ã§ã¯ãããŸããããããããã¯æ¥åžžçãªåé¡ã§ãã 人ã ã¯äœã¶æããã®ããã«ç掻ããããšãã§ããŸããKubernetes ãã€ã³ã¹ããŒã«ããã¢ããªã±ãŒã·ã§ã³ããããã€ããŸãããããã¯æ©èœããŠããããã§ãã å€ãã®äººã«ãšã£ãŠãããã¯æ®éã®ããšã§ãã 圌ãã¯ããã®ã¢ããªã±ãŒã·ã§ã³ãäœããã®çç±ã§ã¯ã©ãã·ã¥ããããšããç¥ããŸããããã¢ã©ãŒããåãåããŸãããã圌ãã«ãšã£ãŠã¯ãããæšæºã§ãã 以åã¯ç£èŠãªãã§ä»®æ³ãã·ã³ã䜿çšããŠããŸããããçŸåšã¯ç£èŠãªã㧠Kubernetes ã«ç§»è¡ããŠããŸãããã®éãã¯äœã§ãããã?
åé¡ã¯ãç§ãã¡ãæ°·ã®äžãæ©ããšããäºåã«æž¬å®ããªãéããã®åããç¥ãããšã¯ã§ããªããšããããšã§ãã å€ãã®äººã¯æ©ããããšãããã®ã§ãå¿é ããããšã¯ãããŸããã
ç§ã®èŠ³ç¹ãããããšãã·ã¹ãã ãéçšããäžã§ã®åŸ®åŠãªéããšè€éãã¯ãåé¡ã解決ããã®ã«ååãªæ°·ã®åãã確ä¿ããããšã«ãããŸãã ãããç§ãã¡ã話ããŠããããšã§ãã
IT æ¥çã§ã¯ããéãè¯ããã°ããšããã¢ãããŒããå€ãããããã«æããŸãã å€ãã®äººã¯å¹žéãæåŸ ããŠãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ãããœãããŠã§ã¢ ã©ã€ãã©ãªã䜿çšããŸãã äžè¬ã«ãå€ãã®äººã¯å¹žéã§ãã ãããããããæ©èœããçç±ã§ãã
â ç§ã®æ²èŠ³çãªè©äŸ¡ã«ãããšã次ã®ããã«ãªããŸãããªã¹ã¯ãé«ããã¢ããªã±ãŒã·ã§ã³ãåäœããå¿ èŠãããå ŽåãFlauntããããã Red Hat ããã®ãµããŒããå¿ èŠã«ãªãããæºåãã§ããŠãã Kubernetes å°çšã®ç€Ÿå ããŒã ãå¿ èŠã«ãªããŸãããããããéããããã«ã
ããããªãŒïŒå®¢èŠ³çã«ã¯ãããªãã§ãã å°èŠæš¡ãªããŒã 㧠Kubernetes ã®è©±ã«ç¬åã§åãçµãããšã«ã¯ãå€ãã®ãªã¹ã¯ã䌎ããŸãã
ã³ã³ããã¯å¿ èŠã§ãã?
â ãã·ã¢ã§ Kubernetes ãã©ã®çšåºŠæ®åããŠãããæããŠããã ããŸãã?
ããããªãŒ: ç§ã¯ãã®ããŒã¿ãæã£ãŠããŸããããä»ã®äººããããæã£ãŠãããã©ãããããããŸããã ç§ãã¡ã¯ãKubernetesãKubernetesããšèšããŸããããã®åé¡ã«ã¯å¥ã®èŠæ¹ããããŸãã ãŸããã³ã³ãããŒãã©ã®çšåºŠæ®åããŠãããã¯ããããŸããããã€ã³ã¿ãŒãããäžã®ã¬ããŒããããã³ã³ãããŒã® 70% ã Kubernetes ã«ãã£ãŠãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãããŠãããšããæ°åã¯ããããŸãã ããã¯ãäžçäžã®ããªã倧èŠæš¡ãªãµã³ãã«ã®ä¿¡é Œã§ããæ å ±æºã§ããã
次ã«å¥ã®è³ªåã§ãããã³ã³ããã¯å¿ èŠã§ãã? ç§ã®å人çãªæèŠãš Flant 瀟ã®å šäœçãªç«å Žã¯ãKubernetes ãäºå®äžã®æšæºã§ãããšããããšã§ãã
Kubernetes 以å€ã«ã¯äœãååšããŸããã
ããã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ç®¡çã®åéã«ããã絶察çãªå€é©ã§ãã 絶察çãªãã®ã ãã§ããAnsibleãChefãä»®æ³ãã·ã³ãTerraform ã¯äžèŠã§ãã ç§ã¯æã®éå£èŸ²æ³ã«ã€ããŠè©±ããŠããã®ã§ã¯ãããŸããã Kubernetes ã¯çµ¶å¯Ÿçãªå€é©è ã§ãããããŠä»ã¯ãããªããããããŸããã
ãããç解ããã®ã«æ°å¹Žããã人ãããã°ãæ°å幎ããã人ãããã®ã¯æããã§ãã Kubernetes ãšãã®æ°ããå€èŠ³ä»¥å€ã«äœãååšããªãããšã¯ééããããŸããããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«æå·ãäžããããšã¯ãªããªããŸãããã ã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãã³ãŒãã ãã§ãªãã宣èšçã«èšè¿°ãããã€ã³ãã©ã¹ãã©ã¯ãã£ã§ãã yml ã䜿çšããŸãã ããããããã£ãšãããªæ°ãããã
â ã€ãŸãããŸã Kubernetes ã«åãæ¿ããŠããªãäŒæ¥ã¯ãééããªã Kubernetes ã«åãæ¿ããããå¿ãå»ããããŸãŸã«ãªãã§ãããã æ£ããç解ããŸãããïŒ
ããããªãŒïŒãããå®å šã«çå®ã§ã¯ãããŸããã ããšãã°ãDNS ãµãŒããŒãå®è¡ããã¿ã¹ã¯ãããå ŽåãFreeBSD 4.10 äžã§å®è¡ã§ãã20 幎éã¯å®å šã«åäœããŸãã ãã åãã ãã§ãã ãããã20幎以å ã«äœããäžåºŠæŽæ°ããå¿ èŠãããã§ãããã ç§ãã¡ãç«ã¡äžãã圢åŒã®ãœãããŠã§ã¢ã«ã€ããŠè©±ããŠããŠãå®éã«äœå¹Žãã¢ããããŒããå€æŽãå ããã«åäœããã®ã§ããã°ãåœç¶ãKubernetes ã¯ååšããŸããã 圌ã¯ããã«ã¯å¿ èŠãããŸããã
CI/CD ã«é¢é£ãããã¹ãŠ - ç¶ç¶çããªããªãŒãå¿ èŠãªå ŽåãããŒãžã§ã³ãæŽæ°ããå¿ èŠãããå Žåãã¢ã¯ãã£ããªå€æŽãè¡ãå¿ èŠãããå Žåããã©ãŒã«ã ãã¬ã©ã³ã¹ãæ§ç¯ããå¿ èŠãããå Žå - Kubernetes ã®ã¿ã
ãã€ã¯ããµãŒãã¹ã«ã€ããŠ
- ããã§å°ãäžååé³ããããŸãã Kubernetes ã䜿çšããã«ã¯ãå€éšãŸãã¯å éšã®ãµããŒããå¿ èŠã§ãããããæåã®ãã€ã³ãã§ãã 第äºã«ãç§ãã¡ãéçºãå§ããã°ããã®ãšããç§ãã¡ã¯å°èŠæš¡ãªã¹ã¿ãŒãã¢ããã§ããããŸã äœãæã£ãŠããŸãããKubernetes ãŸãã¯ãã€ã¯ããµãŒãã¹ ã¢ãŒããã¯ãã£äžè¬ã®éçºã¯è€éã«ãªãå¯èœæ§ããããå¿ ãããçµæžçã«æ£åœåããããšã¯éããŸããã ããªãã®æèŠã«èå³ããããŸããã¹ã¿ãŒãã¢ããäŒæ¥ã¯ããã«ãŒããã Kubernetes çšã®äœæãéå§ããå¿ èŠãããã®ã§ããããããããšãã¢ããªã¹ãäœæããåŸãKubernetes ã®ã¿ã䜿çšã§ããã®ã§ãããã?
ããããªãŒ: ã¯ãŒã«ãªè³ªåã§ãã ãã€ã¯ããµãŒãã¹ã«ã€ããŠè©±ããŸã
ããšãã°ã300 人ãæžããã¢ããªã¹ããããéçºã«åå ããå šå¡ãããã«åé¡ãããããšãç解ããŠããããããå°ããªéšåã«åå²ããå¿ èŠããããšããŸããçŽ 10 åã®éšåã«ãããã 30 人ãäœæããŸããæå°ããŒãžã§ã³ã§ã ããã¯éèŠã§ãããå¿ èŠã§ãããã¯ãŒã«ã§ãã ããããéåžžã«ã¯ãŒã«ã§æèœã®ãã 3 人ãèã®äžã§ 60 åã®ãã€ã¯ããµãŒãã¹ãæžããã¹ã¿ãŒãã¢ãããç§ãã¡ã®ãšããã«æ¥ããšãç§ã¯ãã€ã Corvalol ãæ¢ããŸãã
ããã¯ãã§ã«äœååã話ãããŠããããã«æããŸã - ç§ãã¡ã¯äœããã®åœ¢ã§åæ£ã¢ããªã¹ãæã«å ¥ããŸããã ããã¯çµæžçã«æ£åœåããããã®ã§ã¯ãªããäžè¬ã«ãã¹ãŠã«ãããŠéåžžã«å°é£ã§ãã ç§ã¯ãããäœåºŠãèŠãã®ã§æ¬åœã«å·ã€ããã®ã§ãããã«ã€ããŠè©±ãç¶ããŸãã
æåã®è³ªåã«å¯ŸããŠã¯ãKubernetes ã¯äœãå£ããã®ããæ©èœããªãã®ããæ確ã§ã¯ãªãããã䜿çšããã®ãæããšããäºå®ãšãKubernetes ã§ã¯ãã¹ãŠãæ©èœããããšã¯æããã§ãããšããäºå®ã®éã«ççŸããããŸãããããŠãKubernetes 以å€ã¯äœãååšããŸããã çã - åŸãããå©çã®éãšã解決ã§ããã¿ã¹ã¯ã®éãæ¯èŒæ€èšããã ããã¯ã¹ã±ãŒã«ã®çåŽã«ãããŸãã äžæ¹ã§ãããŠã³ã¿ã€ã ãå¿çæéã®äœäžãå¯çšæ§ã¬ãã«ã®äœäžãã€ãŸãããã©ãŒãã³ã¹ææšã®äœäžã«é¢é£ãããªã¹ã¯ããããŸãã
ã€ãŸããç§ãã¡ã¯è¿ éã«è¡åããKubernetes ã«ãã£ãŠå€ãã®ããšãããéããããé©åã«å®è¡ã§ããããã«ãªããŸãããããã¯ãä¿¡é Œæ§ãé«ãå®çžŸã®ãããœãªã¥ãŒã·ã§ã³ã䜿çšããŸãããè¡åã¯ã¯ããã«é ããªããŸãã ããã¯ãã¹ãŠã®äŒæ¥ãéžæããªããã°ãªããªãããšã§ãã ããã¯ãžã£ã³ã°ã«ã®äžã®å°éãšèããããšãã§ããŸããåããŠæ©ããšãããããã©ããŸãã¯çã£ãã¢ãã°ãã«åºäŒãããšãã§ãã10åæ©ããšããã®éãæ©ããããšã«ãªããŸããæããªããªãæ©ãããããªããŸãã æ¯åéãåºããªããŸãã ãã®åŸã¯ã¢ã¹ãã¡ã«ãéè·¯ã«ãªãããã®åŸã¯çŸãã倧éãã«ãªããŸãã
Kubernetes ã¯ç«ã¡æ¢ãŸã£ãŠããŸããã å質å: Kubernetes 㯠4 ïœ 5 ã€ã®ãã€ããªã§ããäžæ¹ã§ããšã³ã·ã¹ãã å šäœã§ãã ããã¯ãç§ãã¡ã®ãã·ã³ã«æèŒãããŠãããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã§ãã ããã¯äœã§ããïŒ Ubuntu ã Curios ã? ãã㯠Linux ã«ãŒãã«ã§ãããè¿œå ã³ã³ããŒãã³ãã®æã§ãã ããããã¹ãŠãããã«ãããäžå¹ã®æ¯èãéè·¯ããæãæšãŠãããããã«æµã建ãŠãããŸããã Kubernetes ã¯éåžžã«è¿ éãã€åçã«éçºãããŠããããªã¹ã¯ã®éãšæªç¥ã®éã¯æ¯ææžå°ããŠãããããã«å¿ããŠãããã®ã¹ã±ãŒã«ã®ãã©ã³ã¹ãå調æŽãããŠããŸãã
ã¹ã¿ãŒãã¢ããã¯äœããã¹ãããšãã質åã«çãããšãç§ã¯ããèšããŸããFlaunt ã«æ¥ãŠã150 äžã«ãŒãã«ãæ¯æã£ãŠãç°¡åãªã¿ãŒã³ã㌠DevOps ãµãŒãã¹ãåããŠãã ããã éçºè ãæ°äººã®å°èŠæš¡ãªã¹ã¿ãŒãã¢ããã®å Žåã¯ãããã§ããŸããããŸãã åé¡ã®è§£æ±ºæ¹æ³ãåŠã³ãçŸæç¹ã§çµŠäžãæ¯æãå¿ èŠãããç¬èªã® DevOps ãéã代ããã«ããã¹ãŠã®åé¡ã«å¯Ÿããã¿ãŒã³ã㌠ãœãªã¥ãŒã·ã§ã³ãåŸãããšãã§ããŸãã ã¯ããããã€ãã®æ¬ ç¹ããããŸãã ç§ãã¡ã¯ã¢ãŠããœãŒãµãŒãšããŠããããŸã§é¢äžããŠå€åã«è¿ éã«å¯Ÿå¿ããããšã¯ã§ããŸããã ããããç§ãã¡ã«ã¯å€ãã®å°éç¥èãšããã«äœ¿ããå®è·µæ¹æ³ããããŸãã ç§ãã¡ã¯ãã©ã®ãããªç¶æ³ã§ãã£ãŠããããã«åé¡ã解決ããKubernetes ã埩掻ãããããšãä¿èšŒããŸãã
10 人ã®ããŒã ãéå¶ã«å°ä»»ã§ããèŠæš¡ãŸã§ã®ã¹ã¿ãŒãã¢ãããæ¢åã®äŒæ¥ã«ã¢ãŠããœãŒã·ã³ã°ããããšã匷ããå§ãããŸããããããªããšæå³ããããŸããã ãããã¢ãŠããœãŒã·ã³ã°ããããšã¯ééããªãåççã§ãã
ã¢ããŸã³ãšã°ãŒã°ã«ã«ã€ããŠ
â Amazon ã Google ã®ãœãªã¥ãŒã·ã§ã³ã®ãã¹ãã¯ã¢ãŠããœãŒã¹ãšããŠèæ ®ã§ããŸãã?
ããããªãŒ: ã¯ãããã¡ãããããã«ããå€ãã®åé¡ã解決ãããŸãã ãããããã¯ããã¥ã¢ã³ã¹ããããŸãã ãŸã 䜿ãæ¹ãç解ããå¿ èŠããããŸãã ããšãã°ãAmazon AWS ã®äœæ¥ã«ã¯çŽ°ããäœæ¥ããããããããŸããããŒã ãã©ã³ãµãŒããŠã©ãŒã ã¢ããããå¿ èŠããããããçããããã©ãã£ãã¯ãåä¿¡ããŸãã®ã§ãããŒã ãã©ã³ãµãŒããŠã©ãŒã ã¢ããããŠãã ãã!ããšãããªã¯ãšã¹ããäºåã«äœæããå¿ èŠããããŸãã ãããã£ããã¥ã¢ã³ã¹ãç¥ã£ãŠããå¿ èŠããããŸãã
ãããå°éãšãã人ã«é Œããšãå žåçãªåé¡ã¯ã»ãŒãã¹ãŠè§£æ±ºãããŸãã çŸåšããšã³ãžãã¢ã¯ 40 åã§ããã幎æ«ãŸã§ã«ãããã 60 åã«ãªãã§ããããç§ãã¡ã¯ééããªãããããã¹ãŠã«ééããŸããã äœãã®ãããžã§ã¯ãã§ãŸããã®åé¡ã«ééãããšããŠããããã«ãäºãã«è³ªåããŠè§£æ±ºæ¹æ³ãç¥ã£ãŠããŸãã
ããããçãã¯ãããã¡ããããã¹ããããã¹ããŒãªãŒã«ãããããéšåãç°¡åã«ãªããã§ãã åé¡ã¯ããããã®ãã¹ãã£ã³ã°æ¥è ãä¿¡é Œããæºåãã§ããŠãããã©ããããããŠåœŒããåé¡ã解決ããŠããããã©ããã§ãã ã¢ããŸã³ãšã°ãŒã°ã«ã¯å¥œèª¿ã ã ãã¹ãŠã®ã±ãŒã¹ã«ãããŠããŸãã«ããã§ãã ãã以äžããžãã£ããªçµéšã¯ãããŸããã ç§ãã¡ãæ±ãããšããä»ã®ã¯ã©ãŠãã¯ãã¹ãŠãAger ããã·ã¢ã«ãããã¹ãŠã®ãã®ãããŸããŸãªå®è£ ã§ã®ããããçš®é¡ã® OpenStack (ãããã¹ã¿ãŒããªãŒããŒãšã€ãžãªã©) ãªã©ãå€ãã®åé¡ãåŒãèµ·ãããŸãã ãããã¯ãã¹ãŠã解決ããããªãåé¡ãåŒãèµ·ãããŸãã
ãããã£ãŠãçãã¯ãã¯ããã§ãããå®éã«ã¯ãæçãããã¹ãåãœãªã¥ãŒã·ã§ã³ã¯ããã»ã©å€ããããŸããã
Kubernetes ãå¿ èŠãªã®ã¯èª°ã§ãã?
â ããã§ããKubernetes ãå¿ èŠãšããã®ã¯èª°ã§ãããã? ãã§ã« Kubernetes ã«åãæ¿ããå¿ èŠãããã®ã¯èª°ã§ãããKubernetes å°çšã®å žåç㪠Flaunt ã¯ã©ã€ã¢ã³ãã¯èª°ã§ãã?
ããããªãŒ: ããã¯èå³æ·±ã質åã§ãããªããªããçŸåšãKubernetes ã®åœ±é¿ã§ãå€ãã®äººãç§ãã¡ã®ãšããã«æ¥ãŸãããã¿ãªãããããªãã Kubernetes ããã£ãŠããã®ã¯ç¥ã£ãŠããŸããç§ãã¡ã®ããã«ãã£ãŠãã ãã!ã ç§ãã¡ã¯åœŒãã«ããçããŸãããçãããç§ãã¡ã¯ Kubernetes ããã£ãŠããããã§ã¯ãããŸãããç§ãã¡ã¯ prod ãšããã«é¢é£ããããããããšããã£ãŠããã®ã§ããã ãªããªããçŸæç¹ã§ã¯ããã¹ãŠã® CI/CD ãšãã®ã¹ããŒãªãŒå šäœãå®è¡ããã«è£œåãäœæããããšã¯ãŸã£ããäžå¯èœã ããã§ãã éçºã«éçºãããããã®åŸã«æŸåã«æŸåãè¡ããããšããåºåãã誰ããé¢ããŠããŸããã
ç§ãã¡ã®ã¯ã©ã€ã¢ã³ãã¯ããŸããŸãªããšãæåŸ ããŠããŸããã誰ããäœããã®åé¡ãæ±ããŠãããšããè¯ãå¥è·¡ãåŸ ã£ãŠããŸãã â Kubernetes ããããã解決ããŸãã 人ã ã¯å¥è·¡ãä¿¡ããŸãã 圌ãã¯å¿ã®äžã§ã¯å¥è·¡ãªã©èµ·ãããªããšç解ããŠããŸãããå¿ã®äžã§ã¯æåŸ ããŠããŸã - ãããã® Kubernetes ããã¹ãŠã解決ããŠããããšãããã圌ãã¯ããã«ã€ããŠãããã話ããŸãã çªç¶åœŒã¯ä»ããããã¿ãããŸããïŒ -ãããŠç¹å¹è¬ããããã¿ïŒ â ãããŠçšŒåç㯠100% ã§ããããã¹ãŠã®éçºè ã¯æ¬çªç°å¢ã«å°å ¥ããããã®ã 50 åãªãªãŒã¹ã§ããŸãããã¯ã©ãã·ã¥ããããšã¯ãããŸããã äžè¬çã«ãå¥è·¡ã§ãïŒ
ãã®ãããªäººãç§ãã¡ã®ãšããã«æ¥ããšãç§ãã¡ã¯ããèšããŸãããç³ãèš³ãããŸããããå¥è·¡ãªã©ãšãããã®ã¯ãããŸãããã å¥åº·ã«ãªãããã«ã¯ãããé£ã¹ãŠéåããå¿ èŠããããŸãã ä¿¡é Œæ§ã®é«ã補åãå®çŸããã«ã¯ãä¿¡é Œæ§ã®é«ã補é ãå¿ èŠã§ãã 䟿å©ãª CI/CD ãäœæããã«ã¯ã次ã®ããã«ããå¿ èŠããããŸãã ãããªããã°ãªããªãäœæ¥ã¯ãããããããŸãã
誰ã Kubernetes ãå¿ èŠãšããããšãã質åãžã®çã - Kubernetes ãå¿ èŠãšãã人ã¯ããŸããã
Kubernetes ãå¿ èŠã§ãããšèª€è§£ããŠãã人ãããŸãã 人ã ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ãã¹ãŠã®åé¡ãã¢ããªã±ãŒã·ã§ã³ã®å®è¡ã®åé¡ã«ã€ããŠèããããå匷ããããèå³ãæ±ãããããã®ããããå¿ èŠããããæ·±ãå¿ èŠãšããŠããŸãã 圌ãã¯ãã¢ããªã±ãŒã·ã§ã³ãåäœãããããã€ãããã ãã§ããããšãæãã§ããŸãã 圌ãã«ãšã£ãŠãKubernetes ã¯ããç§ãã¡ã¯ããã«æšªããã£ãŠããããšãããããŒã«ã¢ãŠãã§ããªãããšãããã®ä»ã®è©±ãèããªããªããšããåžæã§ãã
éåžžã¯ãã¯ãã«ã«ãã£ã¬ã¯ã¿ãŒãæ¥ãŠãããŸãã 圌ãã¯åœŒã« XNUMX ã€ã®ããšãå°ããŸããXNUMX ã€ã¯æ©èœãæäŸããããšããã XNUMX ã€ã¯å®å®æ§ãæäŸããããšã§ãã ãã²èªåèªèº«ã§åŒãåããŠå®è¡ããããšããå§ãããŸãã ç¹å¹è¬ããšãããç¹å¹è¬ã¯ãããããåé¡ã«ã€ããŠèããŠæéãç¡é§ã«ããã®ãããããšããããšã§ãã ãã®åé¡ã解決ããŠãããç¹å¥ãªäººãããŸãã
ç§ãã¡ãä»ã®èª°ãã Kubernetes ãå¿ èŠãšãããšããè¡šçŸã¯æ£ãããããŸããã
Kubernetes ã¯éãã ãããã£ããã§ããéåžžã«èå³æ·±ãããã¡ããªã®ã§ã管çè ã«ã¯æ¬åœã«å¿ èŠã§ãã æ£çŽã«èšããšã誰ããããã¡ãã倧奜ãã§ãã ç§ãã¡ã¯çãã©ããã®åäŸã§ãããæ°ãããã®ãèŠããšãããããã¬ã€ããããªããŸãã ããšãã°ãæ¿æš©å ã§ãããæšå¥šãããªã人ãããããªããªãã圌ãã¯ãã§ã«ååã«ãã¬ãŒããŠãããããåçŽã«ãã¬ãŒããããªãã»ã©ç²ããŠããããã§ããã ããããããã¯èª°ã«ãå®å šã«å€±ãããããã§ã¯ãããŸããã ããšãã°ãã·ã¹ãã 管çã DevOps ã®åéã®ããã¡ãã«é·ãé飜ããŠãããšããŠããç§ã¯ãã®ããã¡ãããŸã 倧奜ãã§ãæ°ããããã¡ããããã€ãè³Œå ¥ããŸãã 人ã¯çãäœããã®åœ¢ã§ãäœããã®ããã¡ãã欲ããããŸãã
ãããã¯ã·ã§ã³ããããå¿ èŠã¯ãããŸããã ç§ã絶察ã«ãããªãããšãæšå¥šããŠããããšããããŠä»ç§ãç®ã«ããŠãããã®ã¯ãã¹ãŠãããããæ°ããããã¡ãã !ããšãããã®ã§ãã â 圌ãã¯èµ°ã£ãŠãããè²·ãã«è¡ããè²·ã£ãŠããä»ããåŠæ ¡ã«æã£ãŠãã£ãŠãåéå šå¡ã«èŠããŸããããã ãããªããšã¯ããªãã§ãã ããã ç³ãèš³ãããŸããããç§ã®åäŸãã¡ã¯æé·ããã°ããã§ãç§ã¯åžžã«åäŸãã¡ã®äžã«äœããèŠãŠãèªåèªèº«ã®äžã§ããã«æ°ã¥ãããããä»ã®äººã«äžè¬åããŸãã
æçµçãªçãã¯ããKubernetes ã¯å¿ èŠãªããã§ãã åé¡ã解決ããå¿ èŠããããŸãã
éæã§ããããšã¯æ¬¡ã®ãšããã§ãã
- ããããã¯èœã¡ãŸããã
- ããšã圌ãèœã¡ãããšããŠããç§ãã¡ã¯ãããäºåã«ç¥ã£ãŠããããã®äžã«äœããå ¥ããããšãã§ããŸãã
- ããžãã¹ã«å¿ èŠãªã¹ããŒãã§å€æŽã§ãã䟿å©ã«å€æŽã§ãããããäœã®åé¡ãçºçããŸããã
å®éã®ããŒãºã¯ XNUMX ã€ãããŸããä¿¡é Œæ§ãšå±éã®ãã€ãããºã /æè»æ§ã§ãã çŸåšãäžçã楜ã«ããããã®ãœãããªã©ãã©ã®ãããªçš®é¡ã® IT ãããžã§ã¯ãã«åãçµãã§ããŠããããç解ããŠãã人ã¯èª°ã§ãããããã®ããŒãºã解決ããå¿ èŠããããŸãã é©åãªã¢ãããŒããé©åãªç解ãååãªçµéšãåãã Kubernetes ã䜿çšãããšãåé¡ã解決ã§ããŸãã
ãµãŒããŒã¬ã¹ã«ã€ããŠ
â ããå°ãå°æ¥ã«ç®ãåãããšãå±éã®é床ãšã¢ããªã±ãŒã·ã§ã³ã®å€æŽã®é床ã«ãããã€ã³ãã©ã¹ãã©ã¯ãã£ã®åé¡ã解決ããããšãããšããµãŒããŒã¬ã¹ãªã©ã®æ°ãããœãªã¥ãŒã·ã§ã³ãç»å ŽããŸãã ãã®æ¹åã«å¯èœæ§ãæããŸãã?ãŸããKubernetes ãåæ§ã®ãœãªã¥ãŒã·ã§ã³ã«å¯ŸããŠå±éºæ§ãæããŸãã?
ããããªãŒ: ããã§ããäžåºŠèšã£ãŠãããŸãããç§ã¯å ãèŠãŠããããªãã ããïŒããšèšãäºèšè ã§ã¯ãããŸããã ç§ãåãããšãããã ããªã®ã«ã èªåã®è¶³å ãèŠããšãããã«ã¯ããããã®åé¡ãèŠããŠããŸããããšãã°ãã³ã³ãã¥ãŒã¿ãŒå ã§ã®ãã©ã³ãžã¹ã¿ã®åäœãªã©ã§ãã é¢çœãã§ãããïŒ CPU ã«ããã€ãã®ãã°ãçºçããŠããŸãã
ãµãŒããŒã¬ã¹ãéåžžã«ä¿¡é Œæ§ãé«ããå®äŸ¡ã§ãå¹ççãã€äŸ¿å©ã«ãããã¹ãŠã®ãšã³ã·ã¹ãã ã®åé¡ã解決ããŸãã ããã§ç§ã¯ã人é¡ã«èé害æ§ãããããããã«ç¬¬äºã®ææãå¿ èŠã§ãããšããã€ãŒãã³ã»ãã¹ã¯ã®æèŠã«åæããŸãã 圌ãäœãèšã£ãŠããã®ãã¯åãããŸããããç§èªèº«ã¯ç«æã«é£ã¶æºåãã§ããŠããªãããããã¯ææ¥ã«ããªããªãããšã¯ç解ããŠããŸãã
ãµãŒããŒã¬ã¹ã§ã¯ããããã€ããªãã®ãŒçã«æ£ããããšã§ããããšã¯æããã§ãã人é¡ã«ãšã£ãŠã®èé害æ§ãšåæ§ãææã XNUMX ã€ããæ¹ã XNUMX ã€ãããåªããŠããŸãã ããããä»ãããã©ããã£ãŠè¡ããïŒ é åŸã XNUMX ã€æŽŸé£ããŠããããã«éäžããã°åé¡ãããŸããã æ°åã®é åŸéã掟é£ããæ°å人ãå®äœãããããšãçŸå®çã ãšæããŸãã ãããããããå®å šã«ãã©ãŒã«ããã¬ã©ã³ãã«ããŠã人é¡ã®ååãããã«äœãããšã¯ãä»ã§ã¯äžå¯èœã§ãããæ€èšãããŠããªãããã«æããŸãã
ãµãŒããŒã¬ã¹ã® 2019 察 2030 ã¯çŽ æŽããããã®ã§ããã2019 幎ã®åé¡ãšã¯ã»ã©é ãã§ãã XNUMX 幎ãè¿ã¥ããŠããŸã - ãããèŠãŠçããŸãããã ç§ãã¡ãçããããšã«çãã¯ãããŸãããç§ãã¡ã¯ééããªãçããŸãïŒå¯ãåã«ç¹°ãè¿ããŸãïŒããä»ã¯ä»ã®åé¡ã解決ããå¿ èŠããããŸãã ããã¯ããšã話ã®ãããŒã®è¹ãä¿¡ãããããªãã®ã§ãã ã¯ããäºä»¶ã®æ°ããŒã»ã³ãã¯è§£æ±ºããããããã¯å®å šã«è§£æ±ºãããŸããã䞻芳çã«ã¯ããµãŒããŒã¬ã¹ã¯è¹ã§ã...ç§ã«ãšã£ãŠããã®ãããã¯ã¯ããŸãã«ãé ããã®ã§ãããããŸãã«ãç解ã§ããŸããã 話ãæºåãã§ããŠããŸããã XNUMX 幎ã§ã¯ããµãŒããŒã¬ã¹ã§åäžã®ã¢ããªã±ãŒã·ã§ã³ãäœæããããšã¯ã§ããŸããã
Kubernetesã¯ã©ã®ããã«é²åããã
â ç§ãã¡ããã®æœåšçã«çŽ æŽãããé ãæªæ¥ã«åãã£ãŠé²ãäžã§ãKubernetes ãšãã®åšãã®ãšã³ã·ã¹ãã ã¯ã©ã®ããã«çºå±ãããšæããŸãã?
ããããªãŒïŒããã«ã€ããŠã¯ããèããŸããããæ確ãªçãããããŸãã XNUMX ã€ç®ã¯ã¹ããŒããã«ã§ããçµå±ã®ãšãããã¹ããŒãã¬ã¹ã®æ¹ãç°¡åã§ãã Kubernetes ã¯åœåãããã«ããã«æè³ãããã¹ãŠã¯ããããå§ãŸããŸããã ã¹ããŒãã¬ã¹ã¯ Kubernetes ã§ã»ãŒå®ç§ã«æ©èœããæå¥ã®ä»ãããããããŸããã ãŸã ãŸã åé¡ãšããããã¥ã¢ã³ã¹ããããããããŸãã ããã«ãããã®ã¯ãã¹ãŠç§ãã¡ã«ãšã£ãŠãã§ã«ããŸãæ©èœããŠããŸãããããã¯ç§ãã¡ãªã®ã§ãã ããããã¹ãŠã®äººã«å¹æãããããã«ã¯ãå°ãªããšãããšæ°å¹Žã¯ãããã ããã ããã¯èšç®ãããææšã§ã¯ãªããç§ã®é ã®æèŠã§ãã
ã€ãŸãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãã¹ããŒã¿ã¹ãä¿åããã¹ããŒãã¬ã¹ ã¢ããªã±ãŒã·ã§ã³ãååšããªããããã¹ããŒããã«ã¯éåžžã«åŒ·åã«éçºãããã¯ãã§ãããä»åŸãéçºãããã§ãããã ããã¯å¹»æ³ã§ãããåžžã«äœããã®ããŒã¿ããŒã¹ãšãã®ä»ã®ãã®ãå¿ èŠã«ãªããŸãã ã¹ããŒããã«ãšã¯ãå¯èœãªéããã¹ãŠãä¿®æ£ãããã¹ãŠã®ãã°ãä¿®æ£ããçŸåšçŽé¢ããŠãããã¹ãŠã®åé¡ãæ¹åããããšã§ãããããå°å ¥ãšåŒã³ãŸãããã
æªç¥ã®ã¬ãã«ãæªè§£æ±ºã®åé¡ã®ã¬ãã«ãäœãã«ééãã確çã®ã¬ãã«ã¯å€§å¹ ã«äœäžããŸãã ããã¯éèŠãªè©±ã§ãã ãããŠæŒç®å - ç°¡åãªãµãŒãã¹ãååŸããããã®ç®¡çããžãã¯ãå¶åŸ¡ããžãã¯ã®ææåã«é¢é£ãããã¹ãŠ: MySQL ç°¡åãµãŒãã¹ãRabbitMQ ç°¡åãµãŒãã¹ãMemcache ç°¡åãµãŒãã¹ - äžè¬ã«ãåäœãä¿èšŒããå¿ èŠãããããããã¹ãŠã®ã³ã³ããŒãã³ãããã¯ã¹ã ããã¯ãããŒã¿ããŒã¹ã¯æ¬²ãããã©ç®¡çããããªããããã㯠Kubernetes ã¯æ¬²ãããã©ç®¡çããããªããšããæ©ã¿ã解決ããã ãã§ãã
ãã®ãªãã¬ãŒã¿ãŒéçºã®ã¹ããŒãªãŒã¯ãäœããã®åœ¢ã§ä»åŸæ°å¹Žéã§éèŠã«ãªãã§ãããã
䜿ããããã¯å€§å¹ ã«åäžããã¯ãã§ããããã¯ã¹ã¯ãŸããŸãé»ããªãããŸããŸãä¿¡é Œæ§ãé«ãŸãããŸããŸãã·ã³ãã«ãªãããè¿œå ãããŸãã
ç§ã¯ãã€ãŠ YouTube ã®ãSaturday Night Liveã㧠80 幎代ã®ã¢ã€ã¶ãã¯ã»ã¢ã·ã¢ãã®å€ãã€ã³ã¿ãã¥ãŒãèããããšããããŸããUrgant ã®ãããªçªçµã§ããããã èå³æ·±ãã ãã§ãã 圌ãã¯åœŒã«ã³ã³ãã¥ãŒã¿ã®å°æ¥ã«ã€ããŠå°ããŸããã æªæ¥ã¯ã©ãžãªãšåãããã«ã·ã³ãã«ãã®äžã«ãããšåœŒã¯èšããŸããã ã©ãžãªåä¿¡æ©ã¯ããšããšè€éãªãã®ã§ããã æ³¢ããã£ããããã«ã¯ã15 åéãããåããäž²ãåãããã¹ãŠãã©ã®ããã«æ©èœããããç解ããé»æ³¢éä¿¡ã®ç©çåŠãç解ããå¿ èŠããããŸããã ãã®çµæãã©ãžãªã«ã¯ããã XNUMX ã€ã ãæ®ããŸããã
2019幎ã®ä»ãã©ããªã©ãžãªãããã§ããããïŒ è»å ã§ã¯ãã©ãžãªåä¿¡æ©ããã¹ãŠã®é»æ³¢ãšæŸéå±ã®ååãæ€åºããŸãã ããã»ã¹ã®ç©ççæ§è³ªã¯ 100 幎éå€ãã£ãŠããŸãããã䜿ããããã¯å€ãããŸããã ä»ã ãã§ãªãããã§ã« 1980 幎ã«ã¢ãžã¢ãã®ã€ã³ã¿ãã¥ãŒããã£ããšãã誰ããã©ãžãªã䜿çšããŠããããããã©ã®ããã«æ©èœããããªã©èª°ãèããŠããŸããã§ããã ããã¯åžžã«ããŸããããŸãã - ããã¯åœç¶ã®ããšã§ãã
ãããšã¢ãžã¢ãã¯ãããã¯ã³ã³ãã¥ãŒã¿ã§ãåãã ãããšèšããŸããã 䜿ãããããé«ãŸããŸãã 1980 幎ã«ã¯ãã³ã³ãã¥ãŒã¿ãŒã®ãã¿ã³ãæŒãããã«èšç·Žãåããå¿ èŠããããŸããããå°æ¥ã¯ããã§ã¯ãããŸããã
Kubernetes ãšã€ã³ãã©ã¹ãã©ã¯ãã£ã«ãã£ãŠã䜿ãããããå€§å¹ ã«åäžãããšæããŠããŸãã ç§ã®æèŠã§ã¯ãããã¯æããã§ã - ããã¯è¡šé¢äžã«ãããŸãã
ãšã³ãžãã¢ã¯ã©ãããã°ããã®ã§ããããïŒ
ââã§ã¯ãKubernetesãæ¯ãããšã³ãžãã¢ãã·ã¹ãã 管çè ã¯ã©ããªãã®ã§ããããïŒ
ããããªãŒ: 1C ã®åºçŸåŸãäŒèšå£«ã¯ã©ããªããŸããã? ã»ãŒåãã ãããŸã§ã¯çŽã«åºã¥ããŠèšç®ããŠããŸããããçŸåšã¯ããã°ã©ã ã«çµã¿èŸŒãŸããŠããŸãã åŽåçç£æ§ã¯æ¡éãã«åäžããŸããããåŽåèªäœããªããªã£ãããã§ã¯ãããŸããã 以åã¯é»çããã蟌ãã®ã« 10 人ã®ãšã³ãžãã¢ãå¿ èŠã§ããããä»ã§ã¯ XNUMX 人ã§ååã§ãã
ãœãããŠã§ã¢ã®éãšã¿ã¹ã¯ã®æ°ã¯ãæ°ãã DevOps ãç»å ŽããŠå¹çãåäžãããããéãé床ã§å¢å ããŠããããã«æããŸãã çŸåšãåžå Žã§ã¯ç¹å®ã®åèç¶æ ãçºçããŠãããããã¯é·æã«ããã£ãŠç¶ãã§ãããã ãã®åŸããã¹ãŠã¯ããçš®ã®æ£åžžãªç¶æ ã«æ»ããäœæ¥ã®å¹çãåäžãããµãŒããŒã¬ã¹ããŸããŸãå¢ãããã¥ãŒãã³ã Kubernetes ã«æ¥ç¶ãããå¿ èŠã«å¿ããŠãã¹ãŠã®ãªãœãŒã¹ãæ£ç¢ºã«éžæãããäžè¬çã«ã¯ãã¹ãŠãèªåã§è¡ãå¿ èŠããããŸãããã®äººã¯ãã ç«ã¡å»ããå¹²æžããŸããã
ããããããã§ã誰ãã決æãäžãå¿ èŠãããã§ãããã ãã®äººã®è³æ Œãå°éæ§ã®ã¬ãã«ãé«ãããšã¯æããã§ãã çŸåšãçµçéšéã§ã¯ãæãç²ããªãããã« 10 人ã®åŸæ¥å¡ã垳簿ãä»ããå¿ èŠã¯ãããŸããã ããã¯åçŽã«å¿ èŠãããŸããã å€ãã®ææžã¯ãé»åææžç®¡çã·ã¹ãã ã«ãã£ãŠèªåçã«ã¹ãã£ã³ãããèªèãããŸãã ãã§ã«ã¯ããã«åªããã¹ãã«ãšååãªç解ãåãããè³¢æãªäž»ä»»äŒèšå£«ã XNUMX 人ããã°ååã§ãã
äžè¬ã«ãããã¯ãã¹ãŠã®æ¥çã§æ¡çšãããŠããæ¹æ³ã§ãã è»ãåãã§ã以åã¯è»ã«ã¯æŽå士ãšãã©ã€ããŒã XNUMX 人ããŸããã ä»æ¥ãè»ã®é転ã¯ãç§ãã¡å šå¡ãæ¯æ¥åå ããåçŽãªããã»ã¹ã§ãã 誰ãè»ãè€éãªãã®ã ãšã¯æã£ãŠããŸããã
DevOps ãã·ã¹ãã ãšã³ãžãã¢ãªã³ã°ã¯ã©ãã«ãè¡ããŸãããé«åºŠãªäœæ¥ãšå¹çãåäžããŸãã
ââå®éã«ä»äºãå¢ãããšããèå³æ·±ã話ãèããŸããã
ããããªãŒïŒãã¡ãããçŸããŒã»ã³ãã§ããïŒ ãªããªããç§ãã¡ãäœæãããœãããŠã§ã¢ã®éã¯åžžã«å¢å ããŠããããã§ãã ãœãããŠã§ã¢ã§è§£æ±ºã§ããåé¡ã®æ°ã¯å¢ãç¶ããŠããŸãã ä»äºã®éã¯å¢ããŠããŸãã çŸåšãDevOpsåžå Žã¯ã²ã©ãéç±ããŠããŸãã ããã¯çµŠäžã®æåŸ å€ãããããããŸãã è¯ãæå³ã§ã詳现ã¯çããŸãããXã欲ããåŸèŒ©ã1,5Xã欲ããäžå ã2Xã欲ããå 茩ãããã¯ãã§ãã ãããŠä»ãã¢ã¹ã¯ã¯ã® DevOps 絊äžåžå ŽãèŠããšãåŸèŒ©ã¯ X ãã 3 åãæã¿ãäžçŽè 㯠X ãã 3 åãæãã§ããŸãã
ã©ããããã®è²»çšããããã®ã誰ãç¥ããŸããã 絊äžæ°Žæºã¯ããªãã®èªä¿¡ã«ãã£ãŠæž¬ãããŸããæ£çŽã«èšããšãåžå Žã¯ã²ã©ãéç±ããŠããŸãã
ãã¡ããããã®ç¶æ³ã¯ããã«å€ãããŸããããçšåºŠã®é£œåãèµ·ããã¯ãã§ãã ããã¯ãœãããŠã§ã¢éçºã«ã¯åœãŠã¯ãŸããŸããã誰ããéçºè ãå¿ èŠãšãã誰ããåªããéçºè ãå¿ èŠãšããŠããã«ãããããããåžå Žã¯èª°ã«äœã®äŸ¡å€ãããããç解ããŠããŸããæ¥çã¯èœã¡çããŠããŸãã æè¿ã® DevOps ã§ã¯ããã§ã¯ãããŸããã
â èãããšããã«ãããšãçŸåšã®ã·ã¹ãã 管çè ã¯ããŸãå¿é ããå¿ èŠã¯ãªãããã¹ãã«ãåäžãããŠãææ¥ã¯ããå€ãã®ä»äºãçºçããããããé«åºŠãªè³æ Œãå¿ èŠã«ãªããšããäºå®ã«åããææãæ¥ãŠãããšããçµè«ã«éããŸããã
ããããªãŒïŒ çŸããŒã»ã³ãã äžè¬ã«ãç§ãã¡ã¯ 2019 幎ã«çããŠããã人çã®ã«ãŒã«ã¯æ¬¡ã®ãšããã§ãã ç涯åŠç¿ â ç§ãã¡ã¯ç涯ãéããŠåŠã³ãŸãã ä»ã§ã¯èª°ãããã§ã«ãã®ããšãç¥ã£ãŠãããæããŠããããã«æããŸãããç¥ãã ãã§ã¯ååã§ã¯ãªãããããããªããã°ãªããŸããã ç§ãã¡ã¯æ¯æ¥å€åããªããã°ãªããŸããã ããããªããšãé ããæ©ãããç§ãã¡ã¯ãã®è·æ¥ããè¿œãåºãããŠããŸãã§ãããã
180 床ã®æ¥ã«ãŒãã«åããŠãã ããã ç§ã¯ãäœããæ ¹æ¬çã«å€ããããäœãæ°ãããã®ãçºæãããå¯èœæ§ãæé€ããŸãããããã¯èµ·ãããŸãã ãããïŒ - ãããŠç§ãã¡ã¯ä»ãéãè¡åããšããŸãã å¿é ããªãããã«åããŠããããšãéèŠã§ãã ææ¥ãç§ãããããšãã¹ãŠãäžå¿ èŠã§ããããšãå€æãããããããŸãã-äœããç§ã¯ãããŸã§ãã£ãšå匷ããŠããã®ã§ãäœãä»ã®ããšãåŠã¶æºåãã§ããŠããŸãã åé¡ãããªãã éçšã®å®å®ãæããå¿ èŠã¯ãããŸããããåžžã«æ°ããããšãåŠã¶æºåãããŠããå¿ èŠããããŸãã
é¡ããšXNUMXåéã®å®£äŒ
-äœãé¡ãã¯ãããŸããïŒ
ããããªãŒïŒã¯ããããã€ããé¡ãããããŸãã
æåã§åæ¥ç㪠- 賌èªãã
XNUMXçªç®ã®åæ¥çãªé¡ã - ã«è¡ã
第äžã«ãéèŠãªããããŠãã¯ãåæ¥çãªé¡ãã§ã¯ãããŸãã - ããšã話ãä¿¡ããã®ããããã ããªããã¡ã¯ãããã§ãã·ã§ãã«ã§ãã DevOps ã¯éåžžã«çå£ã§è²¬ä»»ã®ããè·æ¥ã§ãã è·å Žã§éã¶ã®ã¯ãããŸãããã ã¯ãªãã¯ããŠã¿ãŠãã ãããããããã°ç解ã§ããã§ãããã ããªããç é¢ã«æ¥ãŠãããã§å»åž«ãããªããå®éšããŠãããšæ³åããŠãã ããã ããã誰ããäžå¿«ã«ããããããããªãããšã¯ç解ããŠããŸãããããããããã¯ããªãã«é¢ãããã®ã§ã¯ãªããä»ã®èª°ãã«é¢ãããã®ã§ãã ä»ã®äººã«ããããããäŒããŠãã ããã ããã¯ç§ãã¡å šå¡ã®ç掻ãæ¬åœã«å°ç¡ãã«ããŸããå€ãã®äººããéçšã管çè ãDevOps ãããŸãäœããå£ãã奎ããšããŠæ±ãå§ããŸãã ããã¯ãã»ãšãã©ã®å Žåãç§ãã¡ãéã³ã«è¡ã£ããšããäºå®ã«ãã£ãŠãå£ããããã®ã§ããããããã©ã®ãããªãã®ã§ããããããã©ã®ãããªãã®ã§ããããå·éã«æèããŠèŠãªãã£ããšããäºå®ãåå ã§ãã
ããã¯ãå®éšããŠã¯ãããªããšããæå³ã§ã¯ãããŸããã ç§ãã¡ã¯å®éšããå¿ èŠããããŸããç§ãã¡ã¯èªåãã¡ã§ãããè¡ããŸãã æ£çŽã«èšããšãç§ãã¡èªèº«ãæã ã²ãŒã ãããŸãããã¡ãããããã¯éåžžã«æªãããšã§ããã人éã¯ç§ãã¡ã«ãšã£ãŠç°è³ªãªãã®ã§ã¯ãããŸããã 2019 幎ã¯ãã²ãŒã ã®æ¬çªã§ã¯ãªããçå£ã§ããèãæãããå®éšã®å¹Žã§ãããšå®£èšããŸãããã ããããããã§ãããã
- ã©ããããããšãããããŸãïŒ
ããããªãŒ: ãŽã£ã¿ãªãŒããããæéãšã€ã³ã¿ãã¥ãŒã«å¿ããŠããã ãããããšãããããŸããã èªè ã®çæ§ãçªç¶ãããŸã§ãã©ãçããŸããããèª ã«ããããšãããããŸãã å°ãªããšãããã€ãã®èãããå±ãã§ããã°å¹žãã§ãã
ã€ã³ã¿ãã¥ãŒã®äžã§ãããããªãŒã¯ã¯ãŒãã®åé¡ã«ã€ããŠè§Šããã ããã¯ã»ãŒãã¹ãŠã®åé¡ã解決ããäžèœã®ã¹ã€ã¹ãã€ãã§ãã ããããå¿ ãããããã§ã¯ãããŸããã§ããã ã®äž
DevOpsConf ãç¥ãã§RIT++ Dmitry Stolyarov ããã®ããŒã«ã«ã€ããŠè©³ãã説æããŸãã å ±åæžã®äžã§ãwerf 㯠Kubernetes ã® CI/CD çšããŒã«ã§ãã Kubernetes ã®åé¡ãšé ããããã¥ã¢ã³ã¹ããããã®åé¡ã解決ããããã®ãªãã·ã§ã³ãçŸåšã® werf å®è£ ã®è©³çŽ°ãªã©ããã¹ãŠãå«ãŸããŸãã 27 æ 28 æ¥ãš XNUMX æ¥ã«ãåå ãã ãããå®ç§ãªããŒã«ãäœæããŸãã
åºæïŒ habr.com