ä»å¹Žãç§ãã¡ã¯è£œåãæ¹åããããã®éå¿çãªç®æšãèšå®ããŸããã
äžéšã®ã¿ã¹ã¯ã«ã¯ç¶¿å¯ãªæºåãå¿ èŠã§ããããã®ããã«ãŠãŒã¶ãŒãããã£ãŒãããã¯ãåéããŸããéçºè ãã·ã¹ãã 管çè ãããŒã ãªãŒããŒãKubernetes ã¹ãã·ã£ãªã¹ãããªãã£ã¹ã«æåŸ ããŸãã
å Žåã«ãã£ãŠã¯ããã£ãŒãããã¯ã«å¿ããŠãµãŒããŒãçºè¡ããŸãã
ã»ãšãã©ã®å€æŽã«ã¯å€ãã®éçºæéãå¿ èŠã§ããã åžå Ž - ãŸã£ããå¥ã®è©±ã ã¹ãããã·ã§ããã®åºçŸã«ãããæåéã XNUMX æ¥ã§ã€ã¡ãŒãžãåžå Žã«æå ¥ã§ããããã€ã¡ãŒãžãæºåã§ããå€éšã®ã·ã¹ãã 管çè ãåŒãä»ããæ©äŒãåŸãããŸããã
è²¢ç®æ¹æ³
Centos 8 㧠Gitlab ãã³ãã¬ãŒããäœæããæ¹æ³
Gitlab ãã€ã³ã¹ããŒã«ããããã«ãYura 㯠8 GB RAM ãš 2 CPU ã³ã¢ãåãããµãŒããŒãéžæããŸãã (4 GB ãš 1 CPU ãå¯èœã§ããããã®å Žåã¯ã¹ã¯ãã ãã¡ã€ã«ã䜿çšããå¿ èŠãããããã®å Žåã® Gitlab ã®ããã©ãŒãã³ã¹ã¯èããäœäžããŸã)ã
Gitlab ã®ã€ã³ã¹ããŒã«ã«å¿ èŠãªããã±ãŒãžãã€ã³ã¹ããŒã«ãããŠããããšã確èªããŠãã ããã
sudo dnf install -y curl policycoreutils
ããŒã 80 ãš 443 ãžã®ã¢ã¯ã»ã¹ãéããŠã¿ãŸãããã
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
Gitlab ãªããžããªãè¿œå ããŸãããã
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
ãµãŒããŒã« DNS åãæ§æãããŠããå Žåã¯ãããã䜿çšã㊠Gitlab ãã€ã³ã¹ããŒã«ã§ããŸãã https:// ãã¬ãã£ãã¯ã¹ãæå®ãããšãGitlab 㯠Lets Encrypt 蚌ææžãèªåçã«çæããŸãã
ç§ãã¡ã®å Žåããªããªãã ç§ãã¡ã¯ä»®æ³ãã·ã³ã®ãã³ãã¬ãŒããäœæããYura ããã³ãã¬ãŒã ã¢ãã¬ã¹ãèšå®ããŸãã (ããã¯å°æ¥åé¡ãªãå€æŽã§ããŸã)ã
sudo EXTERNAL_URL="http://0.0.0.0" dnf install -y gitlab-ee
ãã®åŸã次ã®å Žæã«ç§»åããŠãGitlab ãµãŒãã¹ãåäœããŠããããšã確èªã§ããŸãã
http://vps_ip_address/
ã·ã¹ãã ã¯ãroot 管çè ã¢ã«ãŠã³ãã®åæãã¹ã¯ãŒããèšå®ããããã«æ±ããããã³ããã衚瀺ããŸãã
ãã®æ®µéã§ã¯ããµãŒããŒã®ã¹ãããã·ã§ãããååŸããããã䜿çšããŠãµãŒããŒãæ§æããŸãã
ãããŠããŸã ïŒ
ããŒãã¹: æ¡åŒµããããšã§ã©ã®ãããªèå³æ·±ãããšãã§ãããã説æããŸã
Grafana ã䜿çšãã Gitlab ã®ç£èŠ
XNUMX 幎åãGitlab ããŒã ã¯ãGitlab ãµãŒãã¹ã«é¢é£ããèšå€§ãªæ°ã®ã¡ããªã¯ã¹ã管çããç£èŠã·ã¹ãã ãå®è£ ããŸããã
ãã以æ¥ãGitlab ã¯ããŠãŒã¶ãŒã Prometheus ãæäŸããç£èŠæ©èœãå©çšã§ããããã«ãPrometheus ãå«ãã€ã³ã¹ããŒã« ããã±ãŒãžã®åºè·ãéå§ããŸããã
Prometheus ã¯ãGo ã§æžãããããšããš SoundCloud ã§éçºããããªãŒãã³ (Apache 2.0) æç³»å DBMS ã§ãã èšãæããã°ãããã¯ã¡ããªã¯ã¹ãä¿åããŸãã Prometheus ã®èå³æ·±ãæ©èœã¯ãPrometheus èªäœãç¹å®ã®ãµãŒãã¹ã®ã»ããããã¡ããªã¯ã¹ããã«ãã (ãã«ãè¡ã) ããšã§ãã ãã®ãããPrometheus ã¯ãã¥ãŒãªã©ã§è©°ãŸãããšããªããç£èŠãã·ã¹ãã ã®ããã«ããã¯ã«ãªãããšã¯ãããŸããã ãã®ãããžã§ã¯ãã¯ãåºæ¬çã«æ°Žå¹³ã¹ã±ãŒãªã³ã°ãé«å¯çšæ§ãæäŸããªããšããç¹ã§ãèå³æ·±ããã®ã§ãã
XNUMX 幎ã¡ãã£ãšåãGitlab ããŒã ã¯ãããã·ã¥ããŒããªãã§ã¯ã¡ããªã¯ã¹ã¯ããŸã䟿å©ã§ã¯ãªããšããçµè«ã«éããŸããã ããã§åœŒãã¯ããŠãŒã¶ãŒãæå㧠Grafana ãã€ã³ã¹ããŒã«ããªããŠãããŒã¿ãèŠèŠåã§ããããã«ãGrafana ãã«ã¹ã¿ãã€ãºãããããã·ã¥ããŒããšçµ±åããŸããã
ããŒãžã§ã³ 12.0 以éãGitlab 㯠Grafana ãçµ±åããããã©ã«ã㧠SSO ãèšå®ãããŠããŸãã
Gitlab ãš Prometheus ã®çµ±åã«ã¯ XNUMX ã€ã®ç°ãªãéšåããããŸãã
- GitLab ã¢ãã¿ãªã³ã° (ãªã ããã¹)
- Kubernetes ã¯ã©ã¹ã¿ãŒå ã®åã ã® GitLab ã¢ããªã±ãŒã·ã§ã³ã®ã¢ãã¿ãªã³ã°
ã©ããã£ãŠäœ¿ãã®ã§ãã
ããªã ããã¹ãã¯ãGitLab ãã¡ã€ã³ ã€ã³ã¹ããŒã« ããã±ãŒãžãšåŒãã§ãããã®ã§ãã
ã°ã©ãã¡ãã®èšå®æ¹æ³
Grafana ã®ãã°ã€ã³ãšãã¹ã¯ãŒãã¯ããã©ã«ãã§ç¡å¹ã«ãªã£ãŠããŸã (SSO ãã°ã€ã³ã®ã¿ãèš±å¯ãããŸã) ãã管çè æš©éãæã€ã¢ã«ãŠã³ãã«ãã°ã€ã³ããå¿ èŠãããå ŽåããŸãã¯ãŠãŒã¶ãŒåãšãã¹ã¯ãŒãã䜿çšããŠãã°ã€ã³ã§ããããã«ããå¿ èŠãããå Žåã¯ãGitlab èšå®ã§ãããæå¹ã«ããå¿ èŠããããŸãã察å¿ããè¡ãç·šéããŠããã¡ã€ã« /etc/gitlab/gitlab .rb ãäœæããŸãã
grafana['disable_login_form'] = false
ãããŠãGitlab ãåæ§æããŠå€æŽãé©çšããŸãã
sudo gitlab-ctl reconfigure
ããŒã±ãããã¬ã€ã¹ã®ä»®æ³ãã·ã³ ãã³ãã¬ãŒãã䜿çšã㊠Gitlab ãèµ·åããå Žåã¯ã/etc/gitlab/gitlab.rb å ã®å¯Ÿå¿ããè¡ãå€æŽããŠãURL ããµãŒããŒã«å²ãåœãŠãå¿ èŠããããŸãã
external_url = 'http://gitlab.mydomain.ru'
åæ§æãå®è¡ããŸãã
sudo gitlab-ctl reconfigure
ãããŠãããã«å¿ã㊠Grafana ã®ãªãã€ã¬ã¯ã URI ãå€æŽããŸãã
管çãšãªã¢ > ã¢ããªã±ãŒã·ã§ã³ > GitLab Grafana
SSO ã䜿çšããŠåããŠãã°ã€ã³ãããšããGitlab 㯠Grafana ãã°ã€ã³ãæ¿èªããããã®èš±å¯ãæ±ããŸãã
ã¡ããªã¯ã¹
Grafana ã§ã¯ãäž»èŠãªãµãŒãã¹ã®æ¢è£œã®ããã·ã¥ããŒããæ§æãããGitlab Omnibus ã«ããŽãªã§å©çšã§ããŸãã
ããã·ã¥ããŒãã®æŠèŠ
ãµãŒãã¹ ãã©ãããã©ãŒã ã¡ããªã㯠ããã·ã¥ããŒã
- æŠèŠ - ãµãŒãã¹ããã¥ãŒããµãŒã㌠ãªãœãŒã¹ã®äœ¿çšç¶æ³ã瀺ãæŠèŠããã·ã¥ããŒã
- Gitaly - Gitlab ãªããžããªãžã® RPC ã¢ã¯ã»ã¹ãæäŸãããµãŒãã¹ç£èŠ
- NGINX VTS - ãªã¯ãšã¹ãããšã®ãµãŒãã¹ ãã©ãã£ãã¯ãš HTTP ã³ãŒãã®çµ±èš
- PostgreSQL - PostgreSQL ããŒã¿ããŒã¹ã®å¯çšæ§ãšè² è·ã«é¢ããçµ±èš
- Praefect - é«å¯çšæ§ã«ããã¹ãã¬ãŒãžè² è·ç£èŠ Praefect
- Rails ã¢ã㪠- Rails ã¢ããªã±ãŒã·ã§ã³ã®æŠèŠããã·ã¥ããŒã
- Redis - Redis ãµãŒãã¹ã®è² è·ã®ç£èŠ
- ã¬ãžã¹ã㪠- ã€ã¡ãŒãž ã¬ãžã¹ããªã®ç£èŠ
- ãµãŒãã¹ ãã©ãããã©ãŒã ã¡ããªã㯠- Gitlab ã«ãããªãœãŒã¹äœ¿çšçããµãŒãã¹ã®å¯çšæ§ãRPC ãªã¯ãšã¹ãã®æ°ããšã©ãŒã®æ°ã瀺ããµãŒãã¹ ã¡ããªãã¯ã
çµ±åã¯éåžžã«å æ¬çã§ãããGitlab ãŠãŒã¶ãŒã¯èŠèŠåããã Gitlab ã¡ããªã¯ã¹ãããã«åæã§ããŸãã
Gitlab ã§ã¯ãå¥ã®ããŒã ãããã·ã¥ããŒãã®ä¿å®ãšæŽæ°ãæ åœããŠãããGitlab ã® SRE ãšã³ãžãã¢ã§ãã Ben Kouchie æ°ã«ãããšãããã©ã«ãèšå®ãšæºåãããããã·ã¥ããŒãã¯ã»ãšãã©ã®ãŠãŒã¶ãŒã«é©ããŠãããšã®ããšã§ãã
ãããŠãããããéèŠã§ã: äžç·ã«ããŒã±ãããã¬ã€ã¹ãäœããŸããã
ç§ãã¡ã¯ãHabr ã³ãã¥ããã£å šäœã«ããŒã±ãããã¬ã€ã¹ã®äœæã«åå ããŠããããããšèããŠããŸãã åå æ¹æ³ã«ã¯ XNUMX ã€ã®ãªãã·ã§ã³ããããŸãã
ç»åãèªåã§æºåãããšãæ®é«ã« 3000 ã«ãŒãã«ãè¿œå ãããŸã
ããã«æŠéã«çªå ¥ããæ¬ ããŠããã€ã¡ãŒãžãäœæããæºåãã§ããŠããå Žåã¯ããµãŒããŒã«è²»ããããšãã§ããå éšæ®é«ã« 3000 ã«ãŒãã«ãã¯ã¬ãžãããããŸãã
ç¬èªã®ã€ã¡ãŒãžãäœæããæ¹æ³:
- ã¢ã«ãŠã³ããäœæããŠãã ãã
ãªã³ã©ã€ã³ - ã€ã¡ãŒãžãäœæããŠãã¹ãããäºå®ã§ããããšããµããŒãã«ç¥ãããŠãã ãã
- 3000 ã«ãŒãã«ãã¯ã¬ãžããããã¹ãããã·ã§ãããäœæã§ããããã«ããŸãã
- ã¯ãªãŒã³ãªãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãæèŒããä»®æ³ãµãŒããŒã泚æãã
- ãã® VPS ã«ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ããŠèšå®ããŸã
- ãœãããŠã§ã¢å°å ¥ã®ããã®æé ãŸãã¯ã¹ã¯ãªãããäœæãã
- æ§æããããµãŒããŒã®ã¹ãããã·ã§ãããäœæãã
- ããµãŒã㌠ãã³ãã¬ãŒããããããããŠã³ ãªã¹ãã§ä»¥åã«äœæããã¹ãããã·ã§ãããéžæããŠãæ°ããä»®æ³ãµãŒããŒã泚æããŸãã
- ãµãŒããŒãæ£åžžã«äœæãããããæé 6 ã§åãåã£ãè³æããã¯ãã«ã« ãµããŒãã«è»¢éããŸãã
- ãšã©ãŒãçºçããå Žåã¯ããµããŒãã«çç±ã確èªããã»ããã¢ãããããçŽãããšãã§ããŸãã
ããžãã¹ãªãŒããŒåã: ãœãããŠã§ã¢ãæäŸããŠãã ãã
VPS äžã«å±éããŠäœ¿çšãããœãããŠã§ã¢éçºè
ã§ããã°ãããŒã±ãããã¬ã€ã¹ã«åå ãããããšãã§ããŸãã ããããæ°ãã顧客ããã©ãã£ãã¯ãèªç¥åºŠã®åäžãæ¯æŽããæ¹æ³ã§ãã
ã³ã¡ã³ãã§ç»åãææ¡ããŠãã ãã
ã¯ã³ã¯ãªãã¯ã§ä»®æ³ãã·ã³ããããã€ã§ããããã«ããããœãããŠã§ã¢ã¯ã©ãã§ãã?
RUVDS ããŒã±ãããã¬ã€ã¹ã«æ¬ ããŠãããã®ã¯äœã§ãã?
èªå°å¿ã®ãããã¹ãã£ã³ã°äŒç€Ÿã¯ãèªç€Ÿã®ããŒã±ãããã¬ã€ã¹ã«äœãå«ããã¹ãã§ãããã?
ç»é²ãŠãŒã¶ãŒã®ã¿ãã¢ã³ã±ãŒãã«åå ã§ããŸãã
ã©ã®ç»åãæåã«ããŒã±ãããã¬ã€ã¹ã«å«ããã¹ãã§ãããã?
-
èŠèŽè ã®ïŒïŒ%ãLEMP10
-
èŠèŽè ã®ïŒïŒ%ãDrupal3
-
èŠèŽè ã®ïŒïŒ%ãJoomla2
-
èŠèŽè ã®ïŒïŒ%ãããã¯1
-
èŠèŽè ã®ïŒïŒ%ãããã¯ãã 0
-
èŠèŽè ã®ïŒïŒ%ãã©ã³ã¯ã©ãŠã0
-
èŠèŽè ã®ïŒïŒ%ãã³ãŒããµãŒããŒ1
-
èŠèŽè ã®ïŒïŒ%ãGhost3
-
èŠèŽè ã®ïŒïŒ%ããŠã£ãJs1
-
èŠèŽè ã®ïŒïŒ%ãè«è©±0
-
èŠèŽè ã®ïŒïŒ%ãRã¹ã¿ãžãª0
-
èŠèŽè ã®ïŒïŒ%ããªãŒãã³ã«ãŒã1
-
èŠèŽè ã®ïŒïŒ%ãDjango7
-
èŠèŽè ã®ïŒïŒ%ãLaravel8
-
èŠèŽè ã®ïŒïŒ%ãRuby on Rails4
-
èŠèŽè ã®ïŒïŒ%ãNodeJs11
20 人ã®ãŠãŒã¶ãŒãæ祚ããŸããã 12åã®ãŠãŒã¶ãŒãæ£æš©ããã
åºæïŒ habr.com