Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если вы размещаете частный сервер Git (например, GitHub Enterprise Server, Bitbucket Server или GitLab с самоуправлением) или сервер Git находится за брандмауэром в защищенной сети, вы можете использовать прокси-сервер Git для подключения папок Git в Databricks к вашим частным репозиториям. Прокси-сервер направляет команды Git из рабочей области Azure Databricks через вычислительный ресурс на частный сервер Git.
Сведения о прокси-сервере Git
Прокси-сервер Databricks Git для папок Git позволяет выполнять прокси-команды Git из рабочей области Azure Databricks на частный сервер Git, который недоступен в Интернете.
Папки Databricks Git представляют подключенные репозитории Git в виде папок. Содержимое этих папок управляется версией путем синхронизации с подключенным репозиторием Git. По умолчанию папки Git могут синхронизироваться только с репозиториями, доступными в Интернете. Если вы размещаете частный сервер Git или сервер Git находится за брандмауэром, необходимо использовать прокси-сервер Git с папками Git. Сервер Git должен быть доступен из вычислительной плоскости Azure Databricks.
Когда следует использовать прокси-сервер Git
Используйте следующее руководство, чтобы определить, нужно ли настроить прокси-сервер Git:
- Вам нужен прокси-сервер Git, если ваш сервер Git является частным, находится на территории предприятия или за брандмауэром, например GitHub Enterprise Server, Bitbucket Server, самостоятельно управляемый GitLab или Azure DevOps Server.
- Вам не нужен прокси-сервер Git, если репозитории находятся в облачных службах, доступных из общедоступного Интернета, например GitHub.com, GitLab.com, Bitbucket Cloud или Azure DevOps Services.
После включения все трафик папок Git в рабочей области направляется через прокси-кластер, включая общедоступные репозитории.
Как работает прокси-сервер Git
Прокси-сервер Git для Databricks пересылает команды Git из плоскости управления Databricks в прокси-кластер, работающий в вычислительной плоскости вашей рабочей области. Прокси-кластер настроен для запуска прокси-службы, которая получает команды Git из плоскости управления Databricks и перенаправит их на сервер Git. Прокси-сервер не влияет на архитектуру безопасности уровня управления Databricks.
Ниже показана общая архитектура системы:
Внимание
Databricks предоставляет ноутбук поддержки для настройки экземпляра сервера Git для прокси-команд для папок Databricks Git. Получите тетрадь для обучения с GitHub. Прокси-сервер Databricks Git предназначен для работы с версией среды выполнения Databricks, включенной в записную книжку конфигурации. Не обновляйте версию среды выполнения Databricks в прокси-кластере.
Настройка прокси-сервера Git Server
Чтобы включить частное подключение Git для папок Git в Databricks, подготовьте экземпляр сервера Git, запустите ноутбук настройки для создания прокси-сервера и проверьте конфигурацию.
Чтобы настроить прокси-сервер Git, выполните следующие действия.
- Подготовьте экземпляр сервера Git со статическими IP-адресами и транспортом HTTPS.
- Запустите ноутбук настройки, чтобы создать прокси-кластер.
- Проверьте конфигурацию, клонируя репозиторий.
- Настройте учетные данные Git для пользователей.
Предпосылки
Перед включением прокси-сервера проверьте следующее:
- В рабочей области включена функция папок Databricks Git. См. статью "Включить или отключить папки Databricks Git".
- Ваш экземпляр сервера Git доступен из вычислительной плоскости виртуальной сети Azure (VNet) в рабочей области Azure Databricks и имеет включенные возможности как для HTTPS, так и для персональных токенов доступа (PATs).
Примечание.
Прокси-сервер Git для Databricks работает во всех регионах, поддерживаемых виртуальной сетью.
Шаг 1. Подготовка экземпляра сервера Git
Внимание
Чтобы создать вычислительный ресурс и выполнить эту задачу, необходимо быть администратором рабочей области с правами доступа.
Настройте сервер Git для приема подключений из прокси-кластера и включения транспорта HTTPS.
Корпоративный сервер Git обычно содержит список разрешенных IP-адресов. Чтобы разрешить узлу драйвера прокси-кластера доступ к серверу Git, свяжите статический исходящий IP-адрес для трафика, исходящего из прокси-кластера, и добавьте его в список разрешений сервера Git.
- Привяжите статический исходящий IP-адрес для трафика, исходящего из вашего прокси-кластера, используя брандмауэр Azure или устройство для исходящего трафика.
- Добавьте IP-адрес из предыдущего шага в список разрешений сервера Git.
Затем настройте экземпляр сервера Git, чтобы разрешить транспорт HTTPS:
- GitHub Enterprise: узнайте , какой удаленный URL-адрес следует использовать в справке GitHub Enterprise.
- Bitbucket Server: на странице администрирования сервера Bitbucket щелкните параметры сервера и выберите включено HTTP(S).
Шаг 2. Запуск блокнота активации
Чтобы включить прокси-сервер, выполните следующие действия.
Войдите в рабочую область Azure Databricks в качестве администратора рабочей области с правами доступа для создания кластера.
Импортируйте эту записную книжку, которая выбирает самый маленький тип экземпляра, доступный поставщику облачных служб для запуска прокси-сервера Git:
Записная книжка: включение прокси-сервера Git для папок Databricks Git, обеспечивающее подключение к частному серверу Git в этих папках.
Нажмите кнопку "Запустить все ", чтобы запустить записную книжку, которая выполняет следующие задачи:
- Создает вычислительный ресурс одного узла с именем Databricks Git Proxy, который не завершает работу автоматически. Эта служба прокси-сервера обрабатывает и пересылает команды Git из рабочей области Azure Databricks на частный сервер Git.
- Включает флаг функции, который определяет, направляются ли запросы Git в папках Databricks Git через вычислительный экземпляр.
Рекомендуется создать задание для запуска прокси-вычислительного ресурса Git на регулярной основе. Это обеспечивает доступность прокси-службы Git для пользователей.
Примечание.
Запуск дополнительного долгосрочного вычислительного ресурса приводит к добавочным единицам Databricks (DBUs). Чтобы свести к минимуму затраты, блокнот настраивает прокси-сервер на использование вычислительного ресурса на одном узле с недорогим типом узла. Измените параметры вычислений в соответствии с вашими потребностями. Сведения о ценах см. в калькуляторе цен Databricks.
Шаг 3. Проверка конфигурации сервера Git
Чтобы проверить конфигурацию сервера Git, клонируйте репозиторий, размещенный на частном сервере Git через прокси-кластер. Успешное клонирование подтверждает, что прокси-сервер Git работает для вашей рабочей среды.
Шаг 4. Создание репозиториев Git с поддержкой прокси-сервера
После настройки учетных данных Git дальнейшие действия не требуются для создания или синхронизации репозиториев. Чтобы настроить учетные данные и репозитории доступа программным способом, см. статью "Подключение поставщика Git к Databricks".
Удалите глобальные разрешения CAN ATTACH TO
Прокси-сервер Git не требует CAN ATTACH TO разрешения для любого пользователя. Чтобы запретить пользователям выполнять произвольные рабочие нагрузки в прокси-кластере, ограничьте разрешения списка управления доступом к кластеру (ACL) на прокси-сервере:
Щелкните "Вычисления " на боковой панели и выберите запись вычислений для запущенного прокси-сервера Git Server.
Щелкните
и выберите пункт "Разрешения".
В диалоговом окне удалите запись Can Attach To для всех пользователей рабочей области.
Устранение неполадок
В этом разделе рассматриваются распространенные проблемы и способы их диагностики.
Контрольный список распространенных проблем
Прежде чем приступить к диагностике ошибки, убедитесь в следующем:
- Прокси-кластер работает с этой записной книжкой отладки прокси-сервера Git.
- Вы являетесь администратором рабочей области.
Запустите остальную часть записной книжки отладки и зафиксируйте результаты. Если вы не можете устранить проблему или не видите никаких сбоев, поддержка Databricks может просмотреть результаты. Экспортируйте и отправьте записную книжку отладки в виде архива DBC при запросе.
Изменение конфигурации прокси-сервера Git
Если прокси-служба Git не работает с конфигурацией по умолчанию, задайте переменные среды для поддержки сетевой инфраструктуры.
Чтобы обновить конфигурацию для службы прокси-сервера Git, используйте следующие переменные среды:
| Переменная среды | Формат | Описание |
|---|---|---|
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-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.
Ошибки 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 SSL problems
Это часто означает, что вы используете репозиторий, для которых требуются специальные SSL-сертификаты.
/databricks/git-proxy/git-proxy.log Проверьте файл в прокси-кластере. Если проверка сертификата завершилась ошибкой, добавьте удостоверяющий центр в цепочку системных сертификатов.
- Извлеките корневой сертификат с помощью браузера или другого метода и отправьте его в файловую систему Databricks.
- Измените кластер Git Proxy папок Git, чтобы задать переменную среды, указывающую на
GIT_PROXY_CA_CERT_PATHкорневой файл сертификата. См. раздел Переменные среды.
После выполнения этих действий перезапустите кластер.
Часто задаваемые вопросы
Ниже приведены распространенные вопросы о настройке и использовании прокси-сервера Git.
Как проверить, запущен ли прокси-сервер Git?
Импортируйте и запустите записную книжку отладки прокси-сервера Git. Результаты показывают, есть ли проблемы со службой прокси-сервера Git.
Могут ли рабочие области совместно использовать кластеры прокси-сервера?
Для каждой рабочей области Azure Databricks требуется собственный прокси-кластер. Вы не можете совместно использовать прокси-кластер в нескольких рабочих областях, и каждая рабочая область может иметь только один прокси-кластер Git.
Можно ли маршрутизировать только некоторый трафик Git через прокси-сервер?
Весь трафик, связанный с папками Databricks Git, проходит через прокси-кластер, даже для общедоступных репозиториев Git. Рабочая область Azure Databricks не различает проксированные и непроксированные репозитории.
Какие поставщики Git поддерживаются?
Папки Databricks Git поддерживают GitHub Enterprise, Bitbucket Server, Azure DevOps Server и GitLab самостоятельно. Другие поставщики корпоративных серверов Git также должны работать, если они соответствуют общим спецификациям Git.
Поддерживается ли GNU Privacy Guard (GPG) для подписания коммитов?
№
Поддерживается ли транспорт SSH?
№ Поддерживается только ПРОТОКОЛ HTTPS.
Можно ли использовать порт HTTPS, отличный от по умолчанию?
Рабочая тетрадь настройки предполагает, что сервер Git использует стандартный HTTPS-порт 443. Задайте переменную GIT_PROXY_CUSTOM_HTTP_PORT среды для использования другого порта.
Нужно ли пользователям изменять URL-адреса Git для прокси-сервера?
№ Пользователи введите обычный URL-адрес репозитория Git, например https://git.company.com/org/repo-name.git. Весь трафик Git для папок Databricks Git проходит через прокси-сервер автоматически.
Как работает проверка подлинности с прокси-сервером?
Прокси-сервер использует учетные данные пользователя Git для проверки подлинности на сервере Git. Доступ ограничен разрешениями, указанными в учетных данных.