ç§ã¯ XNUMX é±éã®ãããžã§ã¯ãã倧奜ãã§ãããXNUMX 幎ã«ããããããžã§ã¯ãã«ã¯ææ°ã¥ããŠããŸãã ã¢ãžã£ã€ã«ã§ã¯ãMVP ãšã€ã³ã¯ãªã¡ã³ãã®æŠå¿µããšãŠãæ°ã«å ¥ããŸãããããã¯ãŸãã«ç§ã®å¥œã¿ã§ããå®è¡å¯èœãªéšåãäœæããå®è£ ããŠã次ã«é²ã¿ãŸãã
åæã«ãæžç±ãã«ã³ãã¡ã¬ã³ã¹ã§è°è«ãããŠãã圢åŒã® DevOps å€é©ã¯ãXNUMX 幎ããããããžã§ã¯ãã«ãããŸããã ãããã¯æ°å¹ŽåŸã
ç§ãã¡ã¯ããXNUMX ã€ã®ã¹ããªã³ãã§ã® MVP DevOpsããšãå¢åãžã®æºåãã®ãã©ãã€ã ã«åºã¥ã㊠DevOps ã³ãŒã¹ãæ§ç¯ããŸããã ãããŠã人éã®èšèã§èšãã°ããåå è ãåž°ã£ãŠããããããã«èªå® ã§äœããå®è·µãããã®æ©æµãåããããšãã§ããããã«ãããããã§ãã
MVP DevOps: ãã®ã³ãŒã¹ã«ã¯ãåºæ¬ç㪠DevOps ããã»ã¹çšã®ããŒã«ãå«ãŸããŠããŸãã ç§ãã¡ã¯ããã¹ãŠã® CI/CD ã·ã¹ãã ãã¬ãã¥ãŒããŠæ¯èŒããããã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ã㣠ã¢ãããŒãã®æ·±ããæããã«ããããããšããã¿ã¹ã¯ãèªåãã¡ã«èšå®ããããã§ã¯ãããŸããã ç§ãã¡ã¯ãGitlab CI/CDãAnsibleãTerraform ããã³ PackerãMoleculeãPrometheusãEFK ãšãã XNUMX ã€ã®æ確ãªã¹ã¿ãã¯ãæäŸããŸãã ã³ãŒã¹ããåå ãããã¬ãŒãã³ã°è³æãããã€ããã ãããžã§ã¯ãçšã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãåéããããã§äœæ¥ããããšãã§ããŸãã
å¢åãžã®æºå: åèŠçŽ ã«å€ãã®å®è·µäŸãšäŸãæäŸããŸãã XNUMX ã€ã®ããŒã«ãéžæãããã¬ãŒãã³ã°å³é¢ã䜿çšããŠå®è£ ãéå§ã§ããŸãã ããšãã°ãéçºç°å¢ãããŒã«ã¢ãŠãããããã® Ansible ãã¬ã€ããã¯ãäœæãããããããã«æ¥ç¶ããŠæºåž¯é»è©±ãããµãŒããŒã管çãããã§ããŸãã ã€ãŸããXNUMXé±éã§å ·äœçãªå®è·µçµæãåŸãããŸãã ããã¯äŒç€Ÿå šäœã® DevOps å€é©ããã¯éããªãé ããããããŸããããããã¯ããã«ååšããæ©èœããå©çããããããŸãã
Slurm DevOps ãããã¯
ããã㯠#1: Git ã®ãã¹ã ãã©ã¯ãã£ã¹ -ããèªäœãç©èªããŸãã
ããã㯠#2: éçºã®èŠ³ç¹ããã¢ããªã±ãŒã·ã§ã³ãæäœãã â ãšã³ãžãã¢ã«ã¯ç®¡çè
ãšéçºè
ã®èœåãå¿
èŠãªã®ã§ãéçºã«ã€ããŠã¯ç®¡çè
ã«äŒããŸãã
ããã㯠#3: CI/CD ã®åºæ¬
- CI/CD ãªãŒãã¡ãŒã·ã§ã³ã®æŠèŠ
- Gitlab CI ã®åºæ¬
- gitlab-runner ã®ãã¹ããã©ã¯ãã£ã¹
- CI/CD ãªã©ã®äžéšãšããŠã® Bashãmakeãgradle ããŒã«
- CI ã®åé¡ã解決ããæ段ãšããŠã® Docker
ããã㯠#4: éçšäžã® Gitlab CI/CD
- ä»äºãå§ãããšãã®ç«¶äº
- å®è¡ã®å¶åŸ¡ãšå¶é: ã®ã¿ã次ã®å Žå
- ã¢ãŒãã£ãã¡ã¯ãã®æäœ
- ãã³ãã¬ãŒããã€ã³ã¯ã«ãŒãããã€ã¯ããµãŒãã¹: å°å ¥ã®ç°¡çŽ å
CI/CD ã®åºæ¬çãªæŠå¿µãšæŠå¿µãããã³ CI/CD å®è£ ã®ããã®ããŒã«ãåŠçã«çŽ¹ä»ããŸãã ãã®çµæãåŠç㯠CI/CD èšèšãã¿ãŒã³ãšé©åãªå®è£ ããŒã«ãç¬èªã«éžæã§ããããã«ãªããŸãã
次ã«ãGitlab ã§ã® CI/CD ã®å®è£ ã瀺ããã»ããã¢ããã段éçã«èª¬æããGitlab CI ã䜿çšããé«åºŠãªæ¹æ³ã確èªããŸãã ãã®çµæãåŠçã¯èªåã®ãããžã§ã¯ãçšã« Gitlab CI ãç¬ç«ããŠæ§æã§ããããã«ãªããŸãã
æåã® DevOps Slurm ãšæ¯èŒããŠãçè«ã 2 å (ãããã¯ããã XNUMX æé) ã«çž®å°ãããã¹ãŠã®ã·ã¹ãã ã®ã¬ãã¥ãŒãé¿ããGitlab CI ã®ã¿ãæ®ããŸããã ç§ãã¡ã¯å®è·µã«éç¹ã眮ããå€ãã®ãã¹ããã©ã¯ãã£ã¹ãè¿œå ããŸããã
ããã㯠#5: ã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£
- IaC: ã³ãŒããšããŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãžã®ã¢ãããŒã
- ã€ã³ãã©ãããã€ããŒãšããŠã®ã¯ã©ãŠããããã€ããŒ
- ã·ã¹ãã åæåããŒã«ãã€ã¡ãŒãžæ§ç¯ïŒããã«ãŒïŒ
- Terraform ãäŸãšããŠäœ¿çšãã IaC
- æ§æã¹ãã¬ãŒãžãã³ã©ãã¬ãŒã·ã§ã³ãã¢ããªã±ãŒã·ã§ã³ã®èªåå
- Ansible ãã¬ã€ããã¯äœæã®å®è·µ
- ã¹ãçæ§ã宣èšæ§
- Ansible ãäŸãšããŠäœ¿çšãã IaC
UI ãš openstack cli ã«é¢ããçè«çãªéšåãæžãããå®è·µã«çŠç¹ãåœãŠãŸããã
åãã¢ããªã±ãŒã·ã§ã³ã䜿çšãã XNUMX ã€ã® IaC ã¢ãããŒããèŠãŠãããããã®ã¢ãããŒãã®é·æãšçæã瀺ããŸãã ãã®çµæãåŠçã¯ã©ã®ã¢ãããŒããã©ãã§äœ¿çšããã¹ãããç解ããTerraform ãš Ansible ã®äž¡æ¹ã䜿çšã§ããããã«ãªããŸãã
Terraform ã«é¢ãããããã¯ã§ã¯ãå®éã®ããŒã ã¯ãŒã¯ãšããŒã¿ããŒã¹ãžã®ç¶æ ã®ä¿åã«ã€ããŠèŠãŠãããŸãã ã¢ãžã¥ãŒã«ã䜿çšããå ŽåãåŠçã¯èªåã§ã¢ãžã¥ãŒã«ãäœæããŠæ§æãããã®äœ¿çšæ¹æ³ãã€ãŸãåå©çšãããŒãžã§ã³ç®¡çãåŠã³ãŸãã Consul ã䜿ã£ãäœæ¥ãè¿œå ããã©ã®ãããªå Žåã« Consul ãå¿ èŠã«ãªãã®ãããããŠãããæ£ãã䜿çšããæ¹æ³ã瀺ããŸãããã
ããã㯠#6: ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ãã¹ã
- 圌ãããªããã¹ããæžããªãã®ãèããŠã¿ãŸãããã
- IaC ã«ã¯ã©ã®ãããªãã¹ãããããŸãã?
- éçã¢ãã©ã€ã¶ãŒãæ¬åœã«åœ¹ã«ç«ããªãã®ã§ãããã?
- ansible + ååãäŸã«ãã IaC ã®åäœãã¹ã
- CI ã®äžéšãšããŠã®ãã¹ã
- ã¹ããã€ãã®æ€æ»ããŸã㯠IaC æ€æ»ãçµäºãããŸã§ 5 æéåŸ ããªãæ¹æ³
ç§ãã¡ã¯çè«çãªéšåãæžãããVagrant/Molecule ã«é¢ãã話ãæžããããªã³ã¿ãŒãšãã®æäœã«çŠç¹ãåœãŠãŠå®è·µãšçŽæ¥ãã¹ããå¢ãããŸããã CI ã®èŠ³ç¹ããèŠããš
ãã¹ããé«éåããæ¹æ³ã å®éã«ã¯æ¬¡ã®ããã«ãªããŸãã
- 圹å²ã«å¿ããŠãã¹ãã®å¿ é å€æ°ã®ååšããã§ãã¯ããèªå·±äœæã®ãªã³ã¿ãŒã
- å€æŽãããããŒã«ã®ã¿ã CI ãã¹ãã«è¿œå ããããšã§ããã¹ãã®å®è¡æéãå€§å¹ ã«ççž®ã§ããŸãã
- ã·ããªãªãã¹ãã®è¿œå ã ã¢ããªã±ãŒã·ã§ã³å šäœãçµ±åãã¹ããšããŠãããã€ããŸãã
ããã㯠#7: Prometheus ã䜿çšããã€ã³ãã©ã¹ãã©ã¯ãã£ç£èŠ
- å¥å šãªç£èŠã·ã¹ãã ãæ§ç¯ããæ¹æ³
- 販売åã§ãã£ãŠããåæãéçºå¹çãã³ãŒãã®å®å®æ§ã®ããã®ããŒã«ãšããŠã¢ãã¿ãªã³ã°
- ããã¡ããŠã¹ + ã¢ã©ãŒããããŒãžã£ãŒ + ã°ã©ãã¡ãã®ã»ããã¢ãã
- ãªãœãŒã¹ç£èŠããã¢ããªã±ãŒã·ã§ã³ç£èŠãžã®ç§»è¡
ãã€ã¯ããµãŒãã¹ã®ç£èŠ (ãªã¯ãšã¹ã IDãAPI ç£èŠããŒã«) ã«ã€ããŠè©³ãã説æããŸãã å€ãã®ãã¹ããã©ã¯ãã£ã¹ãšç¬ç«ããäœæ¥ãæ°å€ãååšããŸãã
ç¬èªã®ãšã¯ã¹ããŒã¿ãŒãäœæããŸãããã å®çšŒåã€ã³ãã©ã¹ãã©ã¯ãã£ãšã¢ããªã±ãŒã·ã§ã³ã ãã§ãªããGitlab ã®ã¢ã»ã³ããªã®ç£èŠãèšå®ããŸãã 倱æãããã¹ãã®çµ±èšãèŠãŠã¿ãŸãããã å®éã«ãhealthCheck ã䜿çšããªãå Žåãšäœ¿çšããå Žåã®ã¢ãã¿ãªã³ã°ãã©ã®ããã«ãªãããèŠãŠã¿ãŸãããã
è°é¡ãã®8ã ELK ã䜿çšããã¢ããªã±ãŒã·ã§ã³ã®ãã°èšé²
- Elastic ãšãã®ããŒã«ã®æŠèŠ
- ELK/Elastic Stack/x-pack - äœãéãã®ãããŸããã®éãã¯äœã§ãã?
- ElasticSearch ã䜿çšããŠè§£æ±ºã§ããåé¡ (æ€çŽ¢ãã¹ãã¬ãŒãžãã¹ã±ãŒãªã³ã°æ©èœãæ§æã®æè»æ§)
- ã€ã³ãã©ã¹ãã©ã¯ãã£ç£èŠ (x-pack)
- ã³ã³ãããŒãšã¢ããªã±ãŒã·ã§ã³ã®ãã° (x-pack)
- äŸãšããŠã¢ããªã±ãŒã·ã§ã³ã䜿çšãããã®ã³ã°
- Kibana ã䜿çšããäœæ¥ã®å®è·µ
- Amazon ãã Elasticsearch ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ãéã
ãã®ãããã¯ã¯å®å šã«åèšèšãããŠãããEduard Medvedev ããã¹ããåããŠãããå€ãã®äººã DevOps ãš SRE ã«é¢ãããŠã§ãããŒã§åœŒãç®ã«ããŸããã 圌ã¯ãæè²ã¢ããªã±ãŒã·ã§ã³ã®äŸã䜿çšããŠãEFK ã䜿çšããããã®ãã¹ã ãã©ã¯ãã£ã¹ã説æãããã¢ã³ã¹ãã¬ãŒã·ã§ã³ããŸãã ããããšã®ç·Žç¿ããããŸãã
ããã㯠#9: ChatOps ã«ããã€ã³ãã©ã¹ãã©ã¯ãã£ã®èªåå
- DevOps ãš ChatOps
- ChatOps: 匷ã¿
- Slack ãšä»£æ¿æ段
- ChatOps çšã®ããã
- Hubot ãšãã®ä»£æ¿å
- ã»ãã¥ãªãã£
- ãã¹ã
- ãã¹ããã©ã¯ãã£ã¹ãšææªã®ãã©ã¯ãã£ã¹
ChatOps ã«ã¯ãæš©å©åé¢ã«ããèªèšŒã®å®è·µãå¥ã®ãŠãŒã¶ãŒã«ããã¢ã¯ã·ã§ã³ã®ç¢ºèªãMattermost ã®åœ¢ã§ Slack ã«ä»£ããçè«ãšå®è·µããããã®åäœãã¹ããšçµ±åãã¹ãã®çè«ãè¿œå ãããŸããã
DevOps ã¹ã©ã 㯠30 æ 30 æ¥ã«å§ãŸããŸãã äŸ¡æ Œ - 000ã
èªã¿çµããæ¹ã¯ãããã¢ãŒã·ã§ã³ ã³ãŒã habrapost ã䜿çšã㊠DevOps ã³ãŒã¹ã 15% å²åŒã§ãå©çšããã ããŸãã
ç»é²
Slurmsã§ãäŒãã§ããã®ã楜ãã¿ã«ããŠããŸãïŒ
åºæïŒ habr.com