- PVSM.RU - https://www.pvsm.ru -
В этом году мы поставили себе амбициозные цели по улучшению продукта.
Некоторые задачи требуют серьезной подготовки, по ним мы собираем обратную связь от пользователей: приглашаем в офис разработчиков, сисадминов, руководителей команд, специалистов по Kubernetes.
В некоторых — выдаем серверы в ответ за фидбек, как например было со студентами Blurred Education [1]. У нас очень насыщенные чаты с обсуждением UI/UX, беклог обучающих статей в справочник и большие планы по улучшению пользовательского опыта.
Большинство изменений требуют большое количество часов разработчиков, но маркетплейс — совсем другая история. С появлением снапшотов у нас появилась возможность привлекать внешних системных администраторов, которые могут подготовить образ, чтобы мы буквально за день включили его в маркетплейс.
Как внести свой вклад в маркетплейс [2] RUVDS и что за это будет, мы покажем на примере нашего нового образа, подготовленного нашим клиентом takezi [3] — GitLab [4]
Для установки Gitlab Юра выбрал сервер с 8 Гб RAM и 2 ядрами CPU (можно и 4 Гб и 1 CPU, но в этом случае придется задействовать swap-файл, и с производительность 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.
В нашем случае, т.к. мы делали шаблон виртуальной машины, то Юра задал шаблонный адрес (который потом без проблем можно будет изменить в будущем):
sudo EXTERNAL_URL="http://0.0.0.0" dnf install -y gitlab-ee
После этого можно проверить что сервисы Gitlab работают, зайдя на
http://vps_ip_address/
система предложит задать первоначальный пароль для учетной записи администратора root.
На этом этапе сделаем снапшот сервера, и далее будем уже настраивать используя его.
И все!
Бонус: расскажем, что можно сделать интересного, развернув виртуалку [5] с образом GitLab.
Три года назад команда 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 [6].
Есть две разных части интеграции Gitlab с Prometheus:
“Omnibus” — так GitLab называет свой основной установочных пакет.
Вход по логину и паролю в Grafana по умолчанию отключены (разрешен только вход SSO), но если есть необходимость войти в учетную запись с правами администратора или иметь возможность входа по логину и паролю, необходимо разрешить это в файле конфигурации Gitlab /etc/gitlab/gitlab.rb, отредактировав соотвествующую строку:
grafana['disable_login_form'] = false
И выполнить реконфигурацию Gitlab для применения изменений:
sudo gitlab-ctl reconfigure
В случае, если вы запустили Gitlab используя наш шаблон виртуальной машины из нашего маркетплейса, необходимо назначить серверу свой URL, изменив соответствующую строку в /etc/gitlab/gitlab.rb:
external_url = 'http://gitlab.mydomain.ru'
Выполнить реконфигурацию:
sudo gitlab-ctl reconfigure
И изменить Redirect URI для Grafana соответственно в
Admin Area > Applications > GitLab Grafana
gitlab.mydomain.ru/-/grafana/login/gitlab [7]
При первом входе с использованием SSO, Gitlab запросит разрешение на авторизацию входа в Grafana.
В Grafana настроены и доступны в категории Gitlab Omnibus готовые дашборды основных сервисов.
Дашборд Overview
Дашборд Service Platform Metrics
Интеграция довольно комплексная и пользователи Gitlab имеют возможность анализировать визуализированные метрики Gitlab прямо из коробки.
В Gitlab поддержкой и обновлением дашбордов занимается отдельная команда и по словам Бена Кочи (Ben Kochie), инженера SRE Gitlab, настройки по умолчанию и подготовленные дашборды подойдут большинству пользователей.
Мы хотим предложить всему коммьюнити Хабра поучаствовать в создании маркетплейса. Есть три варианта, как вы можете присоединиться:
Если вы готовы сразу ринуться в бой и самому создать образ, которого вам не хватает, мы зачислим вам 3000 рублей на внутренний баланс — вы сможете потратить на серверы.
Как создать свой образ:
Если вы — разработчик софта, который разворачивают и используют на
Напишите, какой с каким софтом вы хотели бы иметь возможность разворачивать виртуалки в один клик?
Чего вам не хватает в маркетплейсе RUVDS?
Что каждый уважающий себя
Автор: galimova_ruvds
Источник [11]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/marketplace/357977
Ссылки в тексте:
[1] со студентами Blurred Education: https://habr.com/ru/company/ruvds/blog/521218/
[2] маркетплейс: https://ruvds.com/marketplace/
[3] takezi: https://habr.com/ru/users/takezi/
[4] GitLab: https://ruvds.com/marketplace/gitlab
[5] виртуалку: https://ruvds.com/ru-rub/marketplace#order
[6] доступна по этом URL: https://gitlab.mydomain.ru/-/grafana
[7] gitlab.mydomain.ru/-/grafana/login/gitlab: http://gitlab.mydomain.ru/-/grafana/login/gitlab
[8] сайте: https://ruvds.com
[9] VPS: https://www.reg.ru/?rlink=reflink-717
[10] Пишите нам: mailto:galimova@rucloud.host
[11] Источник: https://habr.com/ru/post/523658/?utm_source=habrahabr&utm_medium=rss&utm_campaign=523658
Нажмите здесь для печати.