У гэтым годзе мы паставілі сабе амбіцыйныя мэты па паляпшэнні прадукту.
Некаторыя задачы патрабуюць сур'ёзнай падрыхтоўкі, па іх мы збіраем зваротную сувязь ад карыстальнікаў: запрашаем у офіс распрацоўшчыкаў, сісадмінаў, кіраўнікоў каманд, спецыялістаў па Kubernetes.
У некаторых - выдаём серверы ў адказ за фідбэк, як напрыклад было са студэнтамі Blurred Education. У нас вельмі насычаныя чаты з абмеркаваннем UI/UX, бэклог навучальных артыкулаў у даведнік і вялікія планы па паляпшэнні карыстацкага досведу.
Большасць змен патрабуюць вялікую колькасць гадзін распрацоўшчыкаў, але маркетплейс - зусім іншая гісторыя. Са з'яўленнем снапшотаў у нас з'явілася магчымасць прыцягваць вонкавых сістэмных адміністратараў, якія могуць падрыхтаваць выяву, каб мы літаральна за дзень уключылі яго ў маркетплейс.
Як унесці свой уклад у маркетплейс RUVDS і што за гэта будзе, мы пакажам на прыкладзе нашай новай выявы, падрыхтаванага нашым кліентам takezi - GitLab
Як ствараўся шаблон Gitlab на Centos 8
Для ўсталёўкі Gitlab Юра абраў сервер з 8 Гб RAM і 2 ядрамі CPU (можна і 4 Гб і 1 CPU, але ў гэтым выпадку прыйдзецца задзейнічаць swap-файл, і з прадукцыйнасць Gitlab у такім выпадку прыкметна ніжэй.
Пераканаемся, што ўсталяваныя неабходныя пакеты для ўсталёўкі Gitlab:
Калі ў сервера ёсць наладжанае DNS-імя, то Gitlab можна ўсталяваць выкарыстоўваючы яго. Калі пазначыць прэфікс https://, то Gitlab аўтаматычна згенеруе сертыфікаты Lets Encrypt.
У нашым выпадку, т.я. мы рабілі шаблон віртуальнай машыны, то Юрась задаў шаблонны адрас (які потым без праблем можна будзе змяніць у будучыні):
Пасля гэтага можна праверыць што сэрвісы Gitlab працуюць, зайшоўшы на
http://vps_ip_address/
сістэма прапануе задаць першапачатковы пароль для ўліковага запісу адміністратара root.
На гэтым этапе зробім снапшот сервера, і далей будзем ужо наладжваць выкарыстоўваючы яго.
І ўсё!
Бонус: раскажам, што можна зрабіць цікавага, разгарнуўшы віртуалку з выявай GitLab.
Маніторынг Gitlab з дапамогай Grafana
Тры гады таму каманда Gitlab рэалізавала сістэму маніторынгу, каб кіраваць вялікай колькасцю метрык звязаных з сэрвісамі Gitlab.
З тых часоў Gitlab стаў пастаўляць свой усталявальны пакет разам з Prometheus, што б даць магчымасць сваім карыстачам скарыстацца магчымасцямі маніторынгу якія прадстаўляюцца Prometheus.
Prometheus з'яўляецца адкрытай (Apache 2.0) time series СКБД, напісанай на мове Go і першапачаткова распрацаванай у кампаніі SoundCloud. Іншымі словамі, гэтая штука захоўвае вашыя метрыкі. Цікавай асаблівасцю Prometheus з'яўляецца тое, што ён сам цягне метрыкі з зададзенага мноства сэрвісаў (робіць pull). За кошт гэтага ў Prometheus не могуць забіцца нейкія там чэргі ці накшталт таго, а значыць маніторынг ніколі не стане вузкім месцам сістэмы. Таксама праект цікавы тым, што ён прынцыпова не прапануе які-небудзь гарызантальнага маштабавання ці high availability.
Крыху больш за год таму каманда Gitlab зрабіла выснову, што метрыкі не вельмі зручныя без дашбордаў. Таму яны інтэгравалі Grafana з настроенымі дашбордамі, каб дапамагчы сваім карыстальнікам, візуалізаваць дадзеныя, без неабходнасці ўсталёўваць Grafana ўручную.
Пачынальна з версіі 12.0, у Gitlab інтэграваная Grafana, сканфігураваная з SSO па змаўчанні, і даступная па гэтым URL.
Ёсць дзве розныя часткі інтэграцыі Gitlab з Prometheus:
Маніторынг GitLab (Omnibus)
Маніторынг асобных прыкладанняў GitLab у кластары Kubernetes
Як гэта выкарыстоўваць
"Omnibus" - так GitLab называе свой асноўны ўсталявальных пакет.
Як наладзіць Grafana
Уваход па лагіне і паролю ў Grafana па змаўчанні адключаныя (дазволены толькі ўваход SSO), але калі ёсць неабходнасць увайсці ва ўліковы запіс з правамі адміністратара або мець магчымасць уваходу па лагіне і паролю, неабходна дазволіць гэта ў файле канфігурацыі Gitlab /etc/gitlab/gitlab .rb, адрэдагаваўшы адпаведны радок:
grafana['disable_login_form'] = false
І выканаць рэканфігурацыю Gitlab для ўжывання змен:
sudo gitlab-ctl reconfigure
У выпадку, калі вы запусцілі Gitlab выкарыстоўваючы наш шаблон віртуальнай машыны з нашага маркетплэйса, неабходна прызначыць серверу свой URL, змяніўшы адпаведны радок у /etc/gitlab/gitlab.rb:
Пры першым уваходзе з выкарыстаннем SSO, Gitlab запытае дазвол на аўтарызацыю ўваходу ў Grafana.
Метрыкі
У Grafana настроены і даступныя ў катэгорыі Gitlab Omnibus гатовыя дашборды асноўных сэрвісаў.
Дашборд Overview
Дашборд Service Platform Metrics
Overview - аглядны дашборд, які паказвае стан сэрвісаў, чэргі і выкарыстанне рэсурсаў сервера
Gitaly — маніторынг сэрвісу які прадстаўляе RPC доступ да рэпазітараў Gitlab
NGINX VTS - статыстыка па трафіку сэрвісаў і кодам HTTP на запыт
PostgreSQL - статыстыка па даступнасці і нагрузцы на базу дадзеных PostgreSQL
Praefect — маніторынг нагрузкі на сховішча з вышыннай даступнасцю Praefect
Rails App - аглядны дашборд для прыкладанняў Rails
Redis - маніторынг нагрузкі на сэрвіс Redis
Registry - маніторынг рэестра вобразаў
Service Platform Metrics - сэрвісныя метрыкі якія паказваюць утылізацыю рэсурсаў Gitlab'ом, даступнасць сэрвісаў, колькасць запытаў RPC і колькасць памылак.
Інтэграцыя даволі комплексная і карыстачы Gitlab маюць магчымасць аналізаваць візуалізаваныя метрыкі Gitlab прама са скрынкі.
У Gitlab падтрымкай і абнаўленнем дашбордаў займаецца асобная каманда і па словах Бэна Кочы (Ben Kochie), інжынера SRE Gitlab, налады па змаўчанні і падрыхтаваныя дашборды падыдуць большасці карыстальнікаў.
А зараз галоўнае: давайце рабіць маркетплейс разам
Мы жадаем прапанаваць усяму кам'юніці Хабра паўдзельнічаць у стварэнні маркетплейса. Ёсць тры варыянты, як вы можаце далучыцца:
Падрыхтаваць вобраз самому і атрымаць 3000 рублёў на баланс
Калі вы гатовы адразу рынуцца ў бой і самому стварыць вобраз, якога вам не хапае, мы залічым вам 3000 рублёў на ўнутраны баланс — вы зможаце патраціць на серверы.
Паведаміце ў падтрымку, што вы збіраецеся ствараць і тэставаць выявы
Мы залічым вам 3000 рублёў і ўключым магчымасць ствараць снапшоты
Замоўце віртуальны сервер з чыстай аперацыйнай сістэмай
Усталюйце на гэтую VPS праграмнае забеспячэнне і наладзьце яго
Складзіце інструкцыю або скрыпт для разгортвання ПЗ
Стварыце снапшот для настроенага сервера
Замоўце новы віртуальны сервер, выбраўшы ў выпадаючым спісе «Шаблон сервера» створаны раней снапшот
У выпадку паспяховага стварэння сервера, перадайце матэрыялы атрыманыя на этапе 6 тэхнічнай падтрымцы
У выпадку памылкі вы можаце ўдакладніць у падтрымкі прычыну і паўтарыць настройку
Для ўладальнікаў бізнэсу: прапануеце свой софт
Калі вы - распрацоўшчык софту, які разгортваюць і выкарыстоўваюць на VPS, то мы можам уключыць вас у маркетплейс. Так мы можам дапамагчы вам прывесці новых кліентаў, трафік і пазнавальнасць. Пішыце нам
Проста прапанаваць нам вобраз у каментарах
Напішыце, які з якім софтам вы хацелі б мець магчымасць разгортваць віртуалкі ў адзін клік?
Чаго вам не хапае ў маркетплэйсе RUVDS?
Што кожны які паважае сябе хостынг павінен абавязкова ўключыць у свой маркетплейс?
Толькі зарэгістраваныя карыстачы могуць удзельнічаць у апытанні. Увайдзіце, Калі ласка.
Якія выявы нам варта ўключыць у маркетплейс першымі?