Настройка частного подключения Git для папок Git Azure Databricks (Repos)
Сведения о и настройке прокси-сервера Git для папок Databricks Git, настраиваемой службы, которая позволяет прокси-серверу Git прокси-сервера из папок рабочей области Databricks отправляться в локальные репозитории, обслуживаемые GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server и GitLab самостоятельно.
Примечание.
Пользователи с прокси-сервером Databricks Git, настроенным во время предварительной версии, должны обновить разрешения кластера для повышения производительности. См. статью "Удалить глобальные CAN_ATTACH_TO разрешения".
Прокси-сервер Databricks Git специально предназначен для работы с версией DBR, включенной в записную книжку конфигурации. Пользователям не рекомендуется обновлять версию DBR прокси-кластера.
Что такое прокси-сервер 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 (узел драйвера).
Если ваша корпоративная сеть является частным (VPN) доступом только (без общедоступного доступа), необходимо запустить прокси-сервер Git для доступа к репозиториям Git, расположенным за ее пределами, и добавить папки Git в рабочие области.
Как работает прокси-сервер Git server для Databricks Git?
Прокси-сервер Git для Databricks Git папок прокси-серверов прокси-сервера Git выполняет команды Git из плоскости управления Databricks в "прокси-кластер", работающий в вычислительной плоскости рабочей области Databricks. В этом контексте прокси-кластер — это кластер, настроенный для запуска службы прокси-сервера для команд Git из папок Databricks Git в локальном репозитории Git. Эта прокси-служба получает команды Git из плоскости управления Databricks и пересылает их в экземпляр сервера Git.
На следующей схеме показана общая системная архитектура:
Внимание
Databricks предоставляет записную книжку включения, которая позволяет настроить экземпляр сервера Git для прокси-команд для папок Databricks Git. Получите записную книжку включения на сайте GitHub.
В настоящее время прокси-сервер Git больше не требует CAN_ATTACH_TO
разрешения для всех пользователей. Теперь администраторы с существующими прокси-кластерами могут изменить разрешение ACL кластера, чтобы включить эту функцию. Для его включения выполните следующие действия.
Выберите "Вычисления " на боковой панели и выберите меню кебаб рядом с записью вычислений для запущенного прокси-сервера Git Server:
В диалоговом окне удалите запись "Может присоединиться к " для всех пользователей:
Разделы справки настроить прокси-сервер Git server для папок Databricks Git?
В этом разделе описывается подготовка экземпляра сервера Git для папок Git Server для Databricks Git, создания прокси-сервера и проверки конфигурации.
Подготовка к работе
Перед включением прокси-сервера рассмотрите следующие предварительные требования и задачи планирования:
- В рабочей области включена функция папок Databricks Git.
- Экземпляр сервера Git доступен из VPC плоскости вычислений рабочей области Azure Databricks и включает как HTTPS, так и личные маркеры доступа (PATs).
Примечание.
Прокси-сервер Git для Databricks работает во всех регионах, поддерживаемых VPC.
Шаг 1. Подготовка экземпляра сервера Git
Внимание
Вы должны быть администратором рабочей области с правами доступа, чтобы создать вычислительный ресурс и выполнить эту задачу.
Чтобы настроить экземпляр сервера Git, выполните приведенные действия.
Предоставьте узлу драйвера прокси-кластера доступ к серверу Git.
Корпоративный
allowlist
сервер Git может иметь IP-адреса, из которых разрешен доступ.- Свяжите статический исходящий IP-адрес для трафика, исходящего из прокси-кластера. Это можно сделать с помощью Брандмауэр Azure или устройства исходящего трафика.
- Добавьте IP-адрес из предыдущего шага в список разрешений сервера Git.
Задайте экземпляр сервера Git, чтобы разрешить транспорт HTTPS.
- Сведения о GitHub Enterprise см. в статье "Какие удаленный URL-адрес следует использовать в справке GitHub Enterprise".
- Для Bitbucket перейдите на страницу администрирования сервера Bitbucket и выберите параметры сервера. В разделе размещения SCM HTTP(S) установите флажок с включенным протоколом HTTP(S).
Шаг 2. Запуск записной книжки включения
Чтобы включить прокси-сервер, выполните следующие действия.
Войдите в рабочую область Azure Databricks в качестве администратора рабочей области с правами доступа для создания кластера.
Импортируйте эту записную книжку, которая выбирает самый маленький тип экземпляра, доступный у поставщика облачных служб для запуска прокси-сервера Git.
Записная книжка: включение прокси-сервера Git для папок Databricks Git для подключения к частному серверу Git в папках Git.
Нажмите кнопку "Выполнить все", чтобы запустить записную книжку, которая выполняет следующие задачи:
- Создает вычислительный ресурс одного узла с именем Databricks Git Proxy, который не завершает работу автоматически. Это служба прокси-сервера Git, которая будет обрабатывать и пересылать команды Git из рабочей области Azure Databricks на локальный сервер Git.
- Включает флаг компонента, который определяет, используются ли запросы Git в папках Databricks Git через вычислительный экземпляр.
Рекомендуется создать простое задание для запуска вычислительного ресурса прокси-сервера 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
привилегиями, выполните следующие действия, чтобы удалить эти разрешения:
Выберите "Вычисления " на боковой панели и выберите меню кебаб рядом с записью вычислений для запущенного прокси-сервера Git:
В диалоговом окне удалите запись "Может присоединиться к " для всех пользователей:
Устранение неполадок
Возникла ошибка при настройке прокси-сервера Git для папок Databricks Git? Ниже приведены некоторые распространенные проблемы и способы их более эффективной диагностики.
Контрольный список распространенных проблем
Прежде чем приступить к диагностике ошибки, убедитесь, что вы выполнили следующие действия:
- Убедитесь, что ваш прокси-кластер запущен.
- Убедитесь, что вы являетесь администратором рабочей области.
- Запустите записную книжку включения еще раз и зафиксировать результаты, если вы еще не сделали этого. Если не удается выполнить отладку проблемы, служба поддержки 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-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 repo access.
Если ваша организация использует единый вход SAML, убедитесь, что маркер авторизован (это можно сделать на странице управления персональным маркером доступа (PAT) сервера Git).
Часто задаваемые вопросы
Каковы последствия безопасности прокси-сервера Git?
Наиболее важными вещами, которые необходимо знать, являются:
- Прокси-сервер не влияет на архитектуру безопасности плоскости управления Databricks.
- Для каждой рабочей области можно использовать только один прокси-кластер прокси-сервера Git.
Все ли трафик Git, связанный с Databricks Git, направляется через прокси-кластер, даже для общедоступных репозиториев 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).