Прочитать на английском

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


Настройка приватного подключения 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?

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

папки 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 для папок Databricks Git?

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

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

Схема, показывающая, как Git Server Proxy для папок Databricks Git настроен для запуска из вычислительной среды клиента.

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

  1. Выберите Compute на боковой панели, а затем щелкните меню Кебаб напротив записи Compute для запущенного вами прокси-сервера 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 Firewall или устройства для обработки исходящего трафика.
    2. Добавьте IP-адрес из предыдущего шага в список разрешений сервера Git.
  1. Настройте инстанцию сервера Git для разрешения транспорта HTTPS.
    • Сведения о GitHub Enterprise см. в статье «Какие удалённые URL-адреса следует использоваться» в справке GitHub Enterprise.
    • Для Bitbucket перейдите на страницу администрирования сервера Bitbucket и выберите параметры сервера. В разделе размещения SCM HTTP(S) установите флажок HTTP(S) включено.

Шаг 2. Запуск блокнота активации

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

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

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

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

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

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

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

Примечание

Запуск дополнительного длительного вычислительного ресурса для размещения прокси-программного обеспечения приводит к увеличению расходов на DBUs. Чтобы свести к минимуму затраты, блокнот настраивает прокси-сервер на использование вычислительного ресурса на одном узле с недорогим типом узла. Однако вы можете изменить параметры вычислений в соответствии с вашими потребностями. Дополнительные сведения о ценах на вычисления см. в калькуляторе цен 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 .
  • Убедитесь, что вы являетесь администратором рабочей области.
  • Запустите остальную часть записной книжки отладки и зафиксируйте результаты. Если вы не можете отладить проблему или не видите каких-либо сбоев из записной книжки отладки, служба поддержки 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

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

Файл в /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 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. Результаты выполнения ноутбука показывают, есть ли проблемы со службой 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 скрыть URL-адреса сервера Git, которые являются прокси-адресами? Могут ли пользователи вводить исходные URL-адреса сервера Git, а не прокси-адреса?

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

Функция прозрачного проксирования аутентификационных данных на сервер Git?

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

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

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