ãããããã«ïŒ
ç§ãã¡ã¯Exnessãã©ãããã©ãŒã ããŒã ã代衚ããŠããŸãã 以åãç§ãã¡ã®ååããã§ã«æ¬¡ã®ãããªèšäºãæžããŠããŸããã
ãŸããè°è«ãããå
容ãããããç解ããããã«ãããã€ãã®æ°åã瀺ããŸãã
- åœç€Ÿã®éçºéšé㯠100 人以äžã§æ§æãããŠããããã®äžã«ã¯èªçµŠèªè¶³ã® QAãDevOpsãã¹ã¯ã©ã ããã»ã¹ãæ〠10 ãè¶ ããç°ãªãããŒã ãå«ãŸããŸãã éçºã¹ã¿ã㯠- PythonãPHPãC++ãJavaãGolangã
- ãã¹ãç°å¢ãšå®çšŒåç°å¢ã®ãµã€ãºã¯ãããããçŽ 2000 ã³ã³ãããŒã§ãã 圌ã㯠VMware ã®äžã§ç¬èªã®ä»®æ³åäžã§ Rancher v1.6 ãå®è¡ããŠããŸãã
åæ©
ããèšãããããã«ãæ°žé ã«ç¶ããã®ã¯ãªããRancher ã¯ããªãåã«ããŒãžã§ã³ 1.6 ã®ãµããŒãçµäºãçºè¡šããŸããã ã¯ãã1.6 幎以äžãããŠãç§ãã¡ã¯ãããæºåããçºçããåé¡ã解決ããæ¹æ³ãåŠã³ãŸãããã決ããŠä¿®æ£ãããªãåé¡ã«çŽé¢ããããšããŸããŸãå¢ããŠããŸãã Rancher XNUMX ã«ã¯ãæš©å©ãçºè¡ããããã®ç¡¬çŽåããã·ã¹ãã ããããã»ãšãã©ãã¹ãŠã®ããšãå®è¡ã§ããããäœãå®è¡ã§ããªããã®ã©ã¡ããã§ãã
ç¬èªã®ä»®æ³åã«ãããããŒã¿ ã¹ãã¬ãŒãžãšãã®ã»ãã¥ãªãã£ããã现ããå¶åŸ¡ã§ããããã«ãªããŸããããäŒç€Ÿã®çµ¶ãéãªãæé·ããããžã§ã¯ãã®æ°ãããã³ãããã«å¯ŸããèŠä»¶ãèæ ®ãããšãåãå ¥ããããéçšã³ã¹ãã課ããããŸããã
ç§ãã¡ã¯ãIaC æšæºã«åŸããå¿ èŠã«å¿ããŠãå°ççãªå Žæãåããããã³ã㌠ããã¯ãªãã§å®¹éãè¿ éã«ååŸããããã«æŸæ£ã§ããããã«ããããšèããŠããŸããã
æåã®ã¹ããã
ãŸã第äžã«ãããŒã ãéçºãµã€ã¯ã«ãççž®ããé»åãæäŸãããã©ãããã©ãŒã ãšã®ããåãã«ãããéçšã³ã¹ããæå°éã«æããããšãã§ããææ°ã®ãã¯ãããžãŒãšãœãªã¥ãŒã·ã§ã³ã«äŸåããããšèããŸããã
ãã¡ãããç§ãã¡ã®é ã«æåã«æµ®ããã ã®ã¯ Kubernetes ã§ããããç§ãã¡ã¯è奮ããããããæ£ããéžæã§ãããã©ããã確èªããããã«å°ã調æ»ããŸããã ç§ãã¡ã¯ãªãŒãã³ãœãŒã¹ ãœãªã¥ãŒã·ã§ã³ã®ã¿ãè©äŸ¡ããŸããããäžå
¬å¹³ãªæŠãã§ã¯ Kubernetes ãç¡æ¡ä»¶ã§åå©ããŸããã
次ã«ãã¯ã©ã¹ã¿ãŒãäœæããããŒã«ãéžæãããšããåé¡ãçããŸããã æã人æ°ã®ãããœãªã¥ãŒã·ã§ã³ã§ãã kopsãkubesprayãkubeadm ãæ¯èŒããŸããã
ãŸããkubeadm ã¯ããŸãã«ãè€éãªéã§ããããããããçš®ã®ãèªè»¢è»ãã®çºæè ã®ããã«èŠããkops ã«ã¯ååãªæè»æ§ããããŸããã§ããã
ãããŠåè ã¯æ¬¡ã®ãšããã§ããã
ç§ãã¡ã¯ç¬èªã®ä»®æ³åãš AWS ã®å®éšãéå§ããå
šå¡ãåããã¯ã©ã¹ã¿ãŒããå
±æãã以åã®ãªãœãŒã¹ç®¡çãã¿ãŒã³ãšã»ãŒåããã®ãåçŸããããšããŸããã ãããŠä»ã10 å°ã®å°ããªä»®æ³ãã·ã³ãããªãæåã®ã¯ã©ã¹ã¿ãŒãã§ããŸããããã®ãã¡ã® XNUMX å°ã¯ AWS ã«ãããŸãã ç§ãã¡ã¯ããŒã ãããã«ç§»è¡ããããšè©Šã¿å§ããŸãããããã¹ãŠããè¯å¥œãã§ããããã«èŠããç©èªã¯çµäºããå¯èœæ§ããããŸããã...
æåã®åé¡
Ansible 㯠kubespray ã®åºç€ã§ãããIaC ã«åŸãããšãå¯èœã«ããããŒã«ã§ã¯ãããŸãã: ããŒãã®ã³ããã·ã§ãã³ã°/ãã³ããã·ã§ã³æã«åžžã«äœãåé¡ãçºçããäœããã®ä»å ¥ãå¿ èŠã«ãªããç°ãªã OS ã䜿çšãããšããã¬ã€ããã¯ã®åäœãç°ãªããŸãã ã ã¯ã©ã¹ã¿ãŒå ã®ããŒã ãšããŒãã®æ°ãå¢ããã«ã€ããŠããã¬ã€ããã¯ã®å®äºã«ãŸããŸãæéãããã£ãŠããããšã«æ°ã¥ãå§ããŸããããã®çµæãç§ãã¡ã®èšé²ã¯ 3,5 æéã«ãªããŸãããããªãã®èšé²ã¯ã©ãã§ãã? ð
ãããŠãkubespray ã¯åãªã Ansible ã§ãããäžèŠãããšãã¹ãŠãæããã§ããããã«èŠããŸããã次ã®ãšããã§ãã
移è¡ã®éå§æç¹ã§ã¯ãAWS ãšä»®æ³åã®ã¿ã§ãã£ãã·ãã£ãŒãç«ã¡äžããããšãã¿ã¹ã¯ã§ãããããã®åŸãããããããšã§ãããèŠä»¶ãå€ãããŸããã
ãããèæ
®ãããšãã¯ã©ã¹ã¿ãŒãéåžžã«é¢ããŠããŠãç°ãªããããã€ããŒã«ãã£ãŠç®¡çãããŠããå ŽåããªãœãŒã¹ã XNUMX ã€ã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ã·ã¹ãã ã«çµåãããšããå€ããã¿ãŒã³ã¯é©åã§ã¯ãªãããšãæããã«ãªããŸããã
ããã«ã ãã¹ãŠã®ããŒã ãåãã¯ã©ã¹ã¿ãŒå ã§äœæ¥ããŠããå ŽåãNodeSelector ãæ£ããã€ã³ã¹ããŒã«ãããŠããªãããŸããŸãªãµãŒãã¹ãå¥ã®ããŒã ã®ãå€éšããã¹ãã«é£ãã§ããã®ãªãœãŒã¹ãå©çšããå¯èœæ§ããããŸãããŸãããã€ã³ããèšå®ãããŠããå Žåã¯ãããããã®ãµãŒãã¹ãåäœããŠããªããšããèŠæ±ãåžžã«çºçããŸãã人çèŠå ã«ããæ£ããé åžãããŠããŸããã ãã XNUMX ã€ã®åé¡ã¯ãç¹ã«ããŒãéã§ãµãŒãã¹ãåæ£ããéã®åé¡ãèæ ®ããã³ã¹ãã®èšç®ã§ããã
å¥ã®è©±ã¯ãåŸæ¥å¡ãžã®æš©å©ã®çºè¡ã§ãããåããŒã ã¯ã¯ã©ã¹ã¿ãŒã®ãå é ã«ç«ã£ãŠãã¯ã©ã¹ã¿ãŒãå®å šã«ç®¡çããããšèããŠããŸããããããŒã ã¯åºæ¬çã«äºãã«ç¬ç«ããŠãããããå®å šãªåŽ©å£ãåŒãèµ·ããå¯èœæ§ããããŸããã
äœããããïŒ
äžèšãšãããç¬ç«æ§ãé«ããããšããããŒã ã®èŠæãèæ ®ããŠãXNUMX ã€ã®ããŒã - XNUMX ã€ã®ã¯ã©ã¹ã¿ãŒãšããã·ã³ãã«ãªçµè«ãäžããŸããã
ãã㧠XNUMX çªç®ã®ãã®ãååŸããŸããã
ãã㊠XNUMX çªç®ã®ã¯ã©ã¹ã¿ãŒ:
ããã§ç§ãã¡ã¯èãå§ããŸãããXNUMX 幎以å
ã«ãç§ãã¡ã®ããŒã ã«è€æ°ã®ã¯ã©ã¹ã¿ãŒãã§ãããšããŸãã? ããšãã°ãå°ççã«ç°ãªãå°åã«ããã®ãããããšãç°ãªããããã€ããŒã®ç®¡çäžã«ããã®ã? ãŸããäžéšã®ãã¹ãã§ã¯ãäžæçãªã¯ã©ã¹ã¿ãŒãè¿
éã«ãããã€ã§ããããã«ããããšèããŠããŸãã
å®å
šãª Kubernetes ãç»å Žããã§ããã! ããã¯ãã皮㮠MultiKubernetes ã§ããããšãå€æããŸããã
åæã«ãç§ãã¡å šå¡ãäœããã®æ¹æ³ã§ããããã¹ãŠã®ã¯ã©ã¹ã¿ãŒãç¶æããããããžã®ã¢ã¯ã»ã¹ãç°¡åã«ç®¡çã§ããã ãã§ãªããæåä»å ¥ãªãã§æ°ããã¯ã©ã¹ã¿ãŒãäœæããããå€ãã¯ã©ã¹ã¿ãŒãå»æ¢ãããã§ããããã«ããå¿ èŠããããŸãã
Kubernetes ã®äžçãžã®æ ãå§ããŠãããã°ããæéãçµéãããããå©çšå¯èœãªãœãªã¥ãŒã·ã§ã³ãåæ€èšããããšã«ããŸããã Rancher 2.2 ã¯ãã§ã«åžå Žã«ååšããŠããããšãå€æããŸããã
ç§ãã¡ã®èª¿æ»ã®æåã®æ®µéã§ãRancher Labs ã¯ãã§ã«ããŒãžã§ã³ 2 ã®æåã®ãªãªãŒã¹ãäœæããŠããŸããããããã€ãã®ãã©ã¡ãŒã¿ãŒã䜿çšããŠå€éšäŸåé¢ä¿ãªãã§ã³ã³ãããŒãèµ·åããããå
¬åŒã® HELM ãã£ãŒãã䜿çšããããšã§éåžžã«è¿
éã«ãªãªãŒã¹ã§ããŸããããããã¯ç²éã«èŠããŸããããããŠããããéçºãããããããã«æŸæ£ããããã«ãããããããã®æ±ºå®ãä¿¡é Œã§ãããã©ããã¯ããããŸããã§ããã UI èªäœã®ã¯ã©ã¹ã¿ãŒ = ã¯ãªãã¯ã®ãã©ãã€ã ãç§ãã¡ã«ã¯åãããRKE ã¯ããªãçãç¯å²ã«çŠç¹ãåœãŠãããŒã«ã§ãããããRKE ã«çžãããããšã¯æãã§ããŸããã§ããã
ããŒãžã§ã³ Rancher 2.2 ã¯ãã§ã«ããå®çšçãªå€èŠ³ãåããŠããã以åã®ããŒãžã§ã³ãšåãããŠãå€ãã®å€éšãããã€ããŒãšã®çµ±åãæš©å©ãš kubeconfig ãã¡ã€ã«ã®åäžé åžãã€ã³ããkubectl ã®èµ·åãªã©ãããã«äœ¿ããèå³æ·±ãæ©èœãå€æ°åããŠããŸããã UI ã§ããªãã®æš©å©ãæã€ã€ã¡ãŒãžããã¹ããããåå空éãå¥åãããžã§ã¯ãã
Rancher 2 ãäžå¿ã«ãã§ã«ã³ãã¥ããã£ã圢æãããŠãããããã管çããããã« HashiCorp Terraform ãšãããããã€ããŒãäœæããããã¹ãŠããŸãšããã®ã«åœ¹ç«ã¡ãŸããã
ã©ãããã®
ãã®çµæãRancher ãå®è¡ãã XNUMX ã€ã®å°ããªã¯ã©ã¹ã¿ãŒãå®æããŸããããã®ã¯ã©ã¹ã¿ãŒã¯ãä»ã®ãã¹ãŠã®ã¯ã©ã¹ã¿ãŒã ãã§ãªããããã«æ¥ç¶ãããŠããå€ãã®ã¯ã©ã¹ã¿ãŒã«ãã¢ã¯ã»ã¹ã§ããã©ã®ã¯ã©ã¹ã¿ãŒãžã®ã¢ã¯ã»ã¹ãããŠãŒã¶ãŒã ldap ãã£ã¬ã¯ããªã«è¿œå ããã ãã§èš±å¯ãããŸãããããã©ãã«ããããã©ã®ãããã€ããŒã®ãªãœãŒã¹ã䜿çšãããŠãããã
gitlab-ci ãš Terraform ã䜿çšããŠãã¯ã©ãŠããããã€ããŒãŸãã¯ç¬èªã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã«ä»»æã®æ§æã®ã¯ã©ã¹ã¿ãŒãäœæããRancher ã«æ¥ç¶ã§ããã·ã¹ãã ãäœæããŸããã ããã¯ãã¹ãŠ IaC ã¹ã¿ã€ã«ã§è¡ãããåã¯ã©ã¹ã¿ãŒã¯ãªããžããªã«ãã£ãŠèšè¿°ããããã®ç¶æ ã¯ããŒãžã§ã³ç®¡çãããŸãã åæã«ãã»ãšãã©ã®ã¢ãžã¥ãŒã«ã¯å€éšãªããžããªããæ¥ç¶ããããããæ®ã£ãŠããã®ã¯å€æ°ãæž¡ããã€ã³ã¹ã¿ã³ã¹ã®ã«ã¹ã¿ã æ§æãèšè¿°ããããšã ãã§ãããã³ãŒãã®ç¹°ãè¿ãã®å²åãæžããã®ã«åœ¹ç«ã¡ãŸãã
ãã¡ãããç§ãã¡ã®æ
ã¯çµãã£ãããã§ã¯ãªããã¯ã©ã¹ã¿ãŒã®ãã°ãšã¡ããªã¯ã¹ãæ±ãåäžãã€ã³ãããµãŒãã¹ ã¡ãã·ã¥ããã«ãã¯ã©ã¹ã¿ãŒã§ã®è² è·ã管çããããã® gitops ãªã©ãå€ãã®èå³æ·±ãã¿ã¹ã¯ããŸã æ®ã£ãŠããŸãã ç§ãã¡ã®çµéšãèå³æ·±ããã®ã§ããããšãé¡ã£ãŠããŸãã
ãã®èšäºã¯ããã©ãããã©ãŒã ãšã³ãžãã¢ã® A. AntipovãA. Ganush ã«ãã£ãŠå·çãããŸããã
åºæïŒ habr.com