Настройка частного подключения Git для папок Git Databricks (Repos)

Сведения о и настройке прокси-сервера Git для папок Databricks Git, настраиваемой службы, которая позволяет прокси-серверу Git прокси-сервера из папок рабочей области Databricks отправляться в локальные репозитории, обслуживаемые GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server и GitLab самостоятельно.

Примечание.

Пользователи с прокси-сервером Databricks Git, настроенным во время предварительной версии, должны обновить разрешения кластера для повышения производительности. См. статью "Удалить глобальные CAN_ATTACH_TO разрешения".

Что такое прокси-сервер Git для папок Git Databricks?

Прокси-сервер Databricks Git для папок Git — это функция, которая позволяет прокси-серверу Git прокси-сервера из рабочей области Azure Databricks.

Папки Databricks Git (ранее — Репозиторий) представляют подключенные репозитории Git в виде папок. Содержимое этих папок управляется версией, синхронизируя их с подключенным репозиторием Git. По умолчанию папки Git могут синхронизироваться только с общедоступными поставщиками Git (например, общедоступными GitHub, GitLab, Azure DevOps и другими). Однако если вы размещаете собственный локальный сервер Git (например, GitHub Enterprise Server, Bitbucket Server или GitLab самостоятельно), необходимо использовать прокси-сервер Git с папками Git для предоставления доступа Databricks к серверу Git. Сервер Git должен быть доступен из плоскости данных Azure Databricks (узел драйвера).

Примечание.

В настоящее время папки Databricks Git могут содержать только записные книжки Databricks и вложенные папки, а также определенный набор других типов ресурсов. Текущий список поддерживаемых типов активов см. в разделе "Ограничения" и вопросы и ответы по интеграции Git с папками Databricks Git.

Как работает прокси-сервер Git server для Databricks Git?

Прокси-сервер Git для Databricks Git папок прокси-серверов прокси-сервера Git выполняет команды Git из плоскости управления Databricks в "прокси-кластер", работающий в вычислительной плоскости рабочей области Databricks. В этом контексте прокси-кластер — это кластер, настроенный для запуска службы прокси-сервера для команд Git из папок Databricks Git в локальном репозитории Git. Эта прокси-служба получает команды Git из плоскости управления Databricks и пересылает их в экземпляр сервера Git.

На следующей схеме показана общая системная архитектура:

Схема, на которую показано, как прокси-сервер Git server для databricks Git настроен для запуска из вычислительной плоскости клиента.

В настоящее время прокси-сервер Git больше не требует CAN_ATTACH_TO разрешения для всех пользователей. Администратор с существующими прокси-кластерами теперь может изменить разрешение ACL кластера, чтобы включить эту функцию. Для его включения выполните следующие действия.

  1. Выберите "Вычисления " на боковой панели и выберите Меню Кебаб меню кебаб рядом с записью вычислений для запущенного прокси-сервера Git Server:

    Выберите

  2. В диалоговом окне удалите запись "Может присоединиться к " для всех пользователей:

    Во всплывающем диалоговом окне модального окна нажмите кнопку X справа от всех пользователей, можно подключиться к

Разделы справки настроить прокси-сервер Git server для папок Databricks Git?

В этом разделе описывается подготовка экземпляра сервера Git для папок Git Server для Databricks Git, создания прокси-сервера и проверки конфигурации.

Подготовка к работе

Перед включением прокси-сервера рассмотрите следующие предварительные требования и задачи планирования:

  • В рабочей области включена функция папок Databricks Git.
  • Экземпляр сервера Git доступен из VPC плоскости вычислений рабочей области Azure Databricks и включает как HTTPS, так и личные маркеры доступа (PATs).

Примечание.

Прокси-сервер Git для Databricks работает во всех регионах, поддерживаемых VPC.

Шаг 1. Подготовка экземпляра сервера Git

Чтобы настроить экземпляр сервера Git, выполните приведенные действия.

  1. Предоставьте узлу драйвера прокси-кластера доступ к серверу Git.

    Корпоративный allowlist сервер Git может иметь IP-адреса, из которых разрешен доступ.

    1. Свяжите статический исходящий IP-адрес для трафика, исходящего из прокси-кластера. Это можно сделать с помощью Брандмауэр Azure или исходящего (модуль).
    2. Добавьте IP-адрес из предыдущего шага в список разрешений сервера Git.
  2. Задайте экземпляр сервера Git, чтобы разрешить транспорт HTTPS.

    • Сведения о GitHub Enterprise см. в статье "Какие удаленный URL-адрес следует использовать в справке GitHub Enterprise".
    • Для Bitbucket перейдите на страницу администрирования сервера Bitbucket и выберите параметры сервера. В разделе размещения SCM HTTP(S) включите проверка box с включенным протоколом HTTP(S).

Шаг 2. Запуск записной книжки включения

Чтобы включить прокси-сервер, выполните следующие действия.

  1. Войдите в рабочую область Azure Databricks в качестве администратора рабочей области с правами доступа для создания кластера.

  2. Импортируйте эту записную книжку:

    Включите прокси-сервер Git для папок Databricks Git для подключения к частному серверу Git в папках Git.

  3. Выберите "Выполнить все", чтобы выполнить следующие задачи:

    • Создайте кластер одного узла с именем Databricks Git Proxy, который не завершает работу автоматически. Это "прокси-кластер", который будет обрабатывать и пересылать команды Git из рабочей области Azure Databricks на локальный сервер Git.
    • Включите флаг функции, который определяет, используются ли запросы Git в папках Git Databricks через кластер.

Внимание

Для создания кластера необходимо быть администратором рабочей области с правами доступа.

Примечание.

Вы должны знать следующее:

  • Запуск дополнительного длительного кластера для размещения программного обеспечения прокси-сервера вызывает дополнительные субД. Чтобы свести к минимуму затраты, записная книжка настраивает прокси-сервер для использования одного кластера узлов с недорогим типом узла. Однако может потребоваться изменить параметры кластера в соответствии с вашими потребностями.

Шаг 3. Проверка конфигурации сервера Git

Чтобы проверить конфигурацию сервера Git, попробуйте клонировать репозиторий, размещенный на частном сервере Git через прокси-кластер. Успешное клонирование означает, что вы успешно включили прокси-сервер Git для рабочей области.

Шаг 4. Создание репозиториев с поддержкой прокси-сервера

После настройки учетных данных Git никакие дальнейшие действия не требуются для создания или синхронизации репозиториев. Сведения о настройке учетных данных и создании репозитория в папках Databricks Git см. в статье "Настройка учетных данных Git" и подключение удаленного репозитория к Azure Databricks.

Удаление глобальных разрешений CAN_ATTACH_TO

Администратор с существующими прокси-кластерами теперь может изменить разрешение ACL кластера для использования общедоступного поведения прокси-сервера Git.

Если вы ранее настроили прокси-сервер Databricks Git с CAN_ATTACH_TO привилегиями, выполните следующие действия, чтобы удалить эти разрешения:

  1. Выберите "Вычисления " на боковой панели и выберите Меню Кебаб меню кебаб рядом с записью вычислений для запущенного прокси-сервера Git:

    Выберите

  2. В диалоговом окне удалите запись "Может присоединиться к " для всех пользователей:

    Во всплывающем диалоговом окне модального окна нажмите кнопку X справа от всех пользователей, можно подключиться к

Устранение неполадок

Возникла ошибка при настройке прокси-сервера Git для папок Databricks Git? Ниже приведены некоторые распространенные проблемы и способы их более эффективной диагностики.

Контрольный список распространенных проблем

Прежде чем приступить к диагностике ошибки, убедитесь, что вы выполнили следующие действия:

  • Убедитесь, что ваш прокси-кластер запущен.
  • Убедитесь, что у пользователей папок Databricks Git есть разрешения на подключение к прокси-кластеру.
  • Запустите записную книжку включения еще раз и зафиксировать результаты, если вы еще не сделали этого. Если не удается выполнить отладку проблемы, служба поддержки Databricks может просмотреть результаты. Вы можете экспортировать и отправить записную книжку включения в виде архива DBC.

Проверка журналов в прокси-кластере

Файл в /databricks/git-proxy/git-proxy.log прокси-кластере содержит журналы, которые полезны для отладки.

Файл журнала должен начинаться со строки Data-plane proxy server binding to ('', 8000)… , если она не выполняется, это означает, что прокси-сервер не был запущен должным образом. Попробуйте перезапустить кластер или удалить созданный кластер и снова запустить записную книжку включения.

Если файл журнала начинается с этой строки, просмотрите инструкции журнала, которые следуют за ним для каждого запроса Git, инициированного операцией Git в папках Databricks Git.

Например:

  do_GET: https://server-address/path/to/repo/info/refs?service=git-upload-pack 10.139.0.25 - - [09/Jun/2021 06:53:02] /
  "GET /server-address/path/to/repo/info/refs?service=git-upload-pack HTTP/1.1" 200`

Журналы ошибок, записанные в этот файл, могут быть полезны, чтобы помочь вам или Databricks Support debug.

Распространенные сообщения об ошибках и их разрешение

  • Не удалось установить безопасное подключение из-за проблем SSL

    Возможны следующие ошибки:

      https://git.consult-prodigy.com/Prodigy/databricks_test: Secure connection to https://git.consult-prodigy.com/Prodigy/databricks_test could not be established because of SLL problems
    

    Часто это означает, что вы используете репозиторий, требующий специальных SSL-сертификатов. Проверьте содержимое /databricks/git-proxy/git-proxy.log файла в прокси-кластере. Если в нем говорится, что проверка сертификата завершилась сбоем, необходимо добавить сертификат центра в цепочку системных сертификатов. Сначала извлеките корневой сертификат (с помощью браузера или другого параметра) и отправьте его в DBFS. Затем измените кластер Git-прокси папок Git, чтобы использовать GIT_PROXY_CA_CERT_PATH переменную среды для указания корневого файла сертификата. Дополнительные сведения об изменении переменных среды кластера см. в разделе "Переменные среды среды".

    После завершения этого шага перезапустите кластер.

    Модальное диалоговое окно Databricks, в котором вы устанавливаете переменные среды для прокси-сервера Git

  • Сбой клонирования репозитория с ошибкой "Отсутствующие или недопустимые учетные данные Git"

    Сначала проверка, которые вы настроили учетные данные Git в user Параметры.

    Эта ошибка может возникнуть:

      Error: Invalid Git credentials. Go to User Settings -> Git Integration and check that your personal access token or app password has the correct repo access.
    

    Если ваша организация использует единый вход SAML, убедитесь, что маркер авторизован (это можно сделать на странице управления персональным маркером доступа (PAT) сервера Git).

Часто задаваемые вопросы

Каковы последствия безопасности прокси-сервера Git?

Наиболее важными вещами, которые необходимо знать, являются:

  • Прокси-сервер не влияет на архитектуру безопасности плоскости управления Databricks.
  • Для каждой рабочей области можно использовать только один прокси-кластер прокси-сервера Git.

Да. В текущем выпуске рабочая область Azure Databricks не отличается от прокси-файлов и не прокси-репозиториев.

Работает ли функция прокси-сервера Git с другими поставщиками корпоративных серверов Git?

Папки Databricks Git поддерживают самостоятельное управление GitHub Enterprise, Bitbucket Server, Azure DevOps Server и GitLab. Другие поставщики корпоративных серверов Git должны работать так же, если они соответствуют общим спецификациям Git.

Поддерживают ли папки Databricks Git подписывание фиксаций GPG?

Поддерживает ли папки Databricks Git транспорт SSH для операций Git?

№ Поддерживается только ПРОТОКОЛ HTTPS.

Поддерживается ли использование порта HTTPS, отличного от по умолчанию, на сервере Git?

В настоящее время записная книжка включения предполагает, что сервер Git использует порт HTTPS по умолчанию 443. Можно задать переменную GIT_PROXY_CUSTOM_HTTP_PORT среды, чтобы перезаписать значение порта предпочтительно.

Можно ли совместно использовать один прокси-сервер для нескольких рабочих областей или вам нужен один прокси-кластер для каждой рабочей области?

Для рабочей области Azure Databricks требуется один прокси-кластер.

Работает ли прокси-сервер с устаревшей версией одной записной книжки?

Нет, прокси-сервер не работает с устаревшим управлением версиями одной записной книжки. Пользователи должны перейти на управление версиями папок Databricks Git.

Можно ли Databricks скрыть URL-адреса сервера Git, которые являются прокси-адресами? Могут ли пользователи вводить исходные URL-адреса сервера Git, а не прокси-адреса?

Да для обоих вопросов. Пользователям не нужно настраивать их поведение для прокси-сервера. При текущей реализации прокси-сервера все трафик Git для папок Git Databricks направляется через прокси-сервер. Пользователи введите обычный URL-адрес репозитория Git, например https://git.company.com/org/repo-name.git.

Как часто пользователи будут работать с URL-адресами Git?

Как правило, пользователь просто добавит URL-адрес Git при создании нового репозитория или проверка существующего репозитория, который он еще не проверка.

Является ли функция прозрачно прокси-проверкой подлинности на сервере Git?

Да, прокси-сервер использует маркер сервера Git учетной записи пользователя для проверки подлинности на сервере Git.

Существует ли доступ Databricks к коду сервера Git?

Прокси-служба Azure Databricks обращается к репозиторию Git на сервере Git с помощью учетных данных, предоставленных пользователем, и синхронизирует все файлы кода в репозитории с репозиторием. Доступ ограничен разрешениями, указанными в предоставленном пользователем личном маркере доступа (PAT).