Установка GitLab Agent
Приложение GitLab Agent используется для подключения кластера Managed Service for Kubernetes к GitLab. Вы можете развернуть приложение как в инстансе Yandex Managed Service for GitLab, так и в standalone-инстансе GitLab.
GitLab Agent позволяет:
- Работать с кластерами Kubernetes, находящимися за NAT.
- Получать доступ к API кластера Kubernetes в реальном времени.
- Получать информацию о событиях в кластере Kubernetes.
- Включить кеш объектов Kubernetes, которые обновляются с очень низкой задержкой.
Примечание
GitLab Agent не исполняет конвейеры CI/CD. Для этой цели установите приложение GitLab Runner.
Перед началом работы
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра
--folder-name
или--folder-id
. -
Установите kubectl и настройте его на работу с созданным кластером.
-
Создайте инстанс Managed Service for GitLab или standalone-инстанс.
-
Создайте файл конфигурации агента в репозитории:
- Откройте ваш инстанс GitLab и перейдите в ваш проект.
- В ветке
main
создайте новый каталог.gitlab/agents/<имя агента GitLab>
. - В каталоге
<имя агента GitLab>
создайте пустой файлconfig.yaml
.
-
Зарегистрируйте агента в GitLab и получите токен доступа:
- Откройте ваш инстанс GitLab и перейдите в ваш проект.
- Нажмите кнопку Infrastructure и выберите пункт Kubernetes clusters.
- Нажмите кнопку Connect a cluster и выберите имя агента
<имя агента GitLab>
. - Нажмите кнопку Register an agent.
- GitLab создаст токен, который потребуется для установки приложения. Сохраните токен в безопасном месте.
Примечание
Подробнее о настройке и регистрации агента см. в документации GitLab.
Установка с помощью Yandex Cloud Marketplace
- Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
- Нажмите на имя нужного кластера Kubernetes и выберите вкладку Marketplace.
- В разделе Доступные для установки приложения выберите GitLab Agent и нажмите кнопку Использовать.
- Задайте настройки приложения:
- Пространство имен — выберите пространство имен или создайте новое.
- Название приложения — укажите название приложения, например
gitlab-agent
. - Имя домена GitLab — укажите имя вашего домена GitLab, например
gitlab-test.gitlab.yandexcloud.net
. - Токен доступа агента — скопируйте в это поле токен доступа GitLab, полученный ранее.
- Нажмите кнопку Установить.
- Дождитесь, пока статус приложения изменится на
Deployed
. - Откройте ваш инстанс GitLab и перейдите на страницу Infrastucture → Kubernetes clusters. Убедитесь, что агент перешел в состояние
Connected
.
Установка с помощью Helm-чарта
-
Установите менеджер пакетов Helm версии не ниже 3.7.0.
-
Для установки Helm-чарта с GitLab Agent выполните команду:
export HELM_EXPERIMENTAL_OCI=1 && \ helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/gitlab-org/gitlab-agent/chart/gitlab-agent \ --version <версия Helm-чарта> \ --untar && \ helm upgrade --install \ --namespace <пространство имен> \ --create-namespace \ --set config.kasAddress='wss://<имя вашего домена GitLab>/-/kubernetes-agent/' \ --set config.token='<токен доступа GitLab>' \ gitlab-agent ./gitlab-agent
Актуальную версию Helm-чарта можно посмотреть на странице приложения.
Эта команда также создаст новое пространство имен, необходимое для работы приложения.
-
Убедитесь, что под GitLab Agent перешел в состояние
Running
:kubectl get pods --namespace gitlab-agent
-
Откройте ваш инстанс GitLab и перейдите на страницу Infrastucture → Kubernetes clusters. Убедитесь, что агент перешел в состояние
Connected
.