Поделиться через


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

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

Примечание.

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

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

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

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

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

Если ваша корпоративная сеть является частным (VPN) доступом только (без общедоступного доступа), необходимо запустить прокси-сервер Git для доступа к репозиториям Git, расположенным за ее пределами, и добавить папки Git в рабочие области.

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

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

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

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

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

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

    Выберите вычисления на боковой панели, выберите кебаб справа от вычислительного ресурса прокси-сервера Git

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

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

Как настроить прокси для Git-сервера в папках Databricks Git?

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

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

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

  • В рабочей области включена функция папок 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) установите флажок с включенным протоколом HTTP(S).

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

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

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

  2. Импортируйте эту записную книжку, которая выбирает самый маленький тип экземпляра, доступный у поставщика облачных служб для запуска прокси-сервера Git.

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

  3. Щелкните Запустить Всё, чтобы запустить записную книжку, которая выполняет следующие задачи:

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

    Рекомендуется создать простое задание для запуска вычислительного ресурса прокси-сервера Git. Это может быть простая записная книжка, которая печатает или регистрирует состояние, например "Служба прокси-сервера Git запущена". Задайте задание для выполнения в регулярных интервалах времени, чтобы убедиться, что прокси-служба Git всегда доступна для пользователей.

Примечание.

При выполнении дополнительного длительного вычислительного ресурса для размещения прокси-программного обеспечения возникает дополнительная база данных. Чтобы свести к минимуму затраты, записная книжка настраивает прокси-сервер для использования вычислительных ресурсов с одним узлом с недорогим типом узла. Однако вы можете изменить параметры вычислений в соответствии с вашими потребностями. Дополнительные сведения о ценах на вычислительный экземпляр см. в калькуляторе цен Databricks.

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

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

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

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

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

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

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

  1. Выберите Compute на боковой панели, а затем щелкните меню kebab меню рядом с записью Compute для прокси-сервера Git, который вы запускаете:

    Выберите вычисления на боковой панели, выберите кебаб справа от вычислительного ресурса прокси-сервера Git

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

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

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

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

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

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

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

Изменение конфигурации прокси-сервера Git

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

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

Переменная среды Формат Description
GIT_PROXY_ENABLE_SSL_VERIFICATION true/false Задайте для этого значение false, если вы используете самозаверяющий сертификат для частного сервера Git.
GIT_PROXY_CA_CERT_PATH Путь к файлу (строка) Задайте для этого путь к файлу сертификата ЦС, используемому для проверки SSL. Пример: /FileStore/myCA.pem
GIT_PROXY_HTTP_PROXY https://<hostname>:<port #> Задайте для этого URL-адрес HTTPS для прокси-сервера брандмауэра сети для HTTP-трафика.
GIT_PROXY_CUSTOM_HTTP_PORT Номер порта (целое число) Задайте для этого номер порта, назначенный HTTP-порту сервера Git.

Чтобы задать эти переменные среды, перейдите на вкладку "Вычисления" в рабочей области Azure Databricks и выберите конфигурацию вычислений для прокси-службы Git. В нижней части области конфигурации разверните дополнительные параметры и выберите вкладку Spark под ним. Установите одну или несколько этих переменных среды, добавив их в текстовое поле переменных среды .

страница конфигурации вычислений Databricks, в которой вы устанавливаете переменные среды для прокси-сервера Git

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

Файл в /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 переменную среды для указания корневого файла сертификата. Дополнительные сведения об изменении переменных среды кластера см. в разделе "Переменные среды среды".

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

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

    Сначала убедитесь, что настроили учетные данные Git в параметрах пользователя.

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

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

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

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

Какой самый простой способ узнать, работает ли прокси-сервер Git?

Импортируйте записную книжку для отладки прокси Git , предоставленную Databricks. Скачайте его на локальный компьютер и импортируйте его в рабочую область Azure Databricks.

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