Рекомендации по использованию
In this article:
Рекомендации по использованию#
В этом разделе приводятся рекомендации по работе с сервисом разработки GitLab.
Варианты запуска сервиса#
Одиночный экземпляр сервиса, развёрнутый на одном экземпляре виртуальной машины в выбранной зоне доступности.
Подключение к сервису#
После успешного запуска адреса и порты, которые прослушивает сервис GitLab, можно найти на его странице на вкладке Информация. По умолчанию сервис GitLab прослушивает следующие порты:
Сервис |
Протокол |
Порт |
Комментарий |
|---|---|---|---|
API |
HTTP |
80 |
Если была выбрана схема |
API |
HTTPS |
443 |
Если была выбрана схема |
Container Registry |
HTTP |
5050 |
Если была выбрана схема |
Container Registry |
HTTPS |
5050 |
Если была выбрана схема |
Доступ к сервису из интернета#
GitLab обрабатывает чувствительные данные: учётные записи пользователей, репозитории, вебхуки, CI/CD-токены и другие секреты. Если соединение не зашифровано, злоумышленники могут перехватить передаваемые данные. Кроме того, большинство технологий единого входа (Single Sign-On, SSO) требуют использования HTTPS. Например, Google OAuth не позволяет осуществлять авторизацию по HTTP, из-за чего интеграция с ним может оказаться невозможна. Некоторые сервисы CI/CD, а также внешние вебхуки отказываются работать с незащищёнными HTTP-серверами. Поэтому мы рекомендуем запускать сервис GitLab только с включённым протоколом HTTPS, особенно если к сервису предполагается публичный доступ извне.
GitLab по умолчанию поддерживает автоматическое получение SSL-сертификата через сервис Let’s Encrypt. Для этого необходимо, чтобы:
доступ к GitLab осуществлялся по HTTPS;
доменное имя GitLab указывало на внешний IP-адрес экземпляра GitLab.
Публичный доступ к сервису из интернета по HTTPS в К2 Облаке обеспечивается за счёт создания вместе с ним внешнего балансировщика нагрузки. Кроме того, в облаке создаётся специальная DNS-зона, в которой для сервиса GitLab регистрируется CNAME-запись. В соответствии с этой записью трафик направляется на DNS-имя балансировщика нагрузки, для которого настроена соответствующая A-запись.
Благодаря такой конфигурации Let’s Encrypt может получить публичный доступ к сервису из интернета, подтвердить владение доменом и выпустить сертификат.
Мониторинг сервиса#
Для мониторинга сервиса мы рекомендуем включить облачный сервис мониторинга Prometheus. Если вы хотите использовать свой собственный сервер мониторинга для контроля состояния и работоспособности сервиса GitLab, то можете воспользоваться встроенными в GitLab экспортерами:
Экспортер |
Протокол |
Порт |
Эндпоинт |
|---|---|---|---|
gitlab_exporter |
TCP |
9168 |
http://<private_ip>:9168/metrics |
node_exporter |
TCP |
9100 |
http://<private_ip>:9100/metrics |
postgres_exporter |
TCP |
9187 |
http://<private_ip>:9187/metrics |
redis_exporter |
TCP |
9121 |
http://<private_ip>:9121/metrics |