Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Databricks Serverless Private Git находится в общедоступной предварительной версии. Затраты на вычислительные ресурсы и сети применяются при подключении бессерверных вычислительных ресурсов к внешним ресурсам. Сведения о выставлении счетов см. в статье Сведения о расходах на сеть в Databricks.
Databricks Serverless Private Git позволяет подключить рабочую область Databricks к частному серверу Git с помощью бессерверных вычислений и Приватного канала Azure. Сервер Git является частным, если пользователи Интернета не могут получить к нему доступ.
На следующей схеме показана общая системная архитектура:
Почему бессерверные частные Git?
По сравнению с прокси-сервером Git, бессерверный частный Git предлагает следующие преимущества:
- Бессерверный частный Git получает бессерверные вычислительные мощности только при получении запроса на выполнение Git и остается неактивным при отсутствии использования. Напротив, прокси-сервер Git требует, чтобы кластер прокси-сервера был активным при отправке запроса Git.
- Бессерверный Private Git использует Приватный канал Azure для безопасного подключения к частному экземпляру Git.
Требования
- Включите бессерверные вычисления для рабочей области.
- Поместите частный сервер Git в ту же виртуальную сеть Azure, что и стандартный балансировщик нагрузки.
- Убедитесь, что частный сервер Git имеет подписанный сертификат и допустимое полное доменное имя HTTPS (FQDN).
- Настройте виртуальную сеть (VNet) со Стандартным модулем балансировки нагрузки (SLB) для службы Приватный канал.
Настройте бессерверный частный Git
- Выполните действия, чтобы настроить частное подключение к ресурсам в виртуальной сети. Это позволяет создать соединение Приватный канал Azure из бессерверных систем к серверным системам в вашей сети за стандартным балансировщиком нагрузки (SLB).
- Создайте конфигурацию сетевого подключения (NCC), чтобы настроить исходящий трафик в стандартную подсистему балансировки нагрузки.
- Вы можете настроить только одну NCC для каждой рабочей области для частного Git. Если рабочая область подключается к нескольким частным серверам Git, они должны использовать один и тот же NCC.
- Сведения об ограничениях NCC, таких как региональные ограничения и ограничения на подключение рабочих областей, см. в разделе Что такое конфигурация сетевого подключения (NCC)?.
- Получите токен API учетной записи, используя сервисный принципал с доступом на уровне учетной записи.
curl --location 'https://accounts.azuredatabricks.net/oidc/accounts/{accountid}/v1/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=SP_CLIENT_ID_HERE' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default' \
--data-urlencode 'client_secret=SP_CLIENT_SECRET_HERE'
Ответ содержит маркер доступа:
{ "access_token": "...", "scope": "all-apis", "token_type": "Bearer", "expires_in": 3600 }
Кроме того, можно использовать токен доступа Microsoft Entra ID:
BEARER_TOKEN=$(az account get-access-token --resource \
2ff814a6-3304-4ab8-85cb-cd0e6f879c1d --query "accessToken" -o tsv)
- Добавьте правило частной конечной точки для определения логики DNS с помощью API.
В примере укажите следующее:
- ID счета
- Идентификатор NCC
- OAuth-токен учетной записи
- Идентификатор ресурса службы Приватный канал
- Полное доменное имя Git-сервера в списке
domain_name
curl --location 'https://accounts.azuredatabricks.net/api/2.0/accounts/{accountid}/network-connectivity-configs/{nccid}/private-endpoint-rules' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer BEARER_TOKEN' \
--data '{
"resource_id": "/subscriptions/3f262328b/resourceGroups/rg/providers/Microsoft.Network/privateLinkServices/example",
"domain_names": ["git-server.contoso.com"]
}'
Ответ содержит сведения о правиле частной конечной точки:
{
"rule_id": "843ba2e5-bbbb-bbbb-bbbb-7f0d55555215",
"network_connectivity_config_id": "5a9bdc5f-c43d-41cd-9a6d-1b653e20c7d2",
"resource_id": "/subscriptions/3f262328b/resourceGroups/rg/providers/Microsoft.Network/privateLinkServices/example",
"endpoint_name": "databricks-5a9bdc5f-c43d-41cd-9a6d-1b653e20c7d2-pe-99cbbac3",
"connection_state": "PENDING",
"creation_time": 1740000647980,
"updated_time": 1740000647949,
"domain_names": ["git-server.contoso.com"]
}
- Подождите несколько минут после настройки правил частной конечной точки NCC. NCC отображает правило для частной конечной точки, находящееся в состоянии ожидания.
- Утвердите ожидающее подключение частной конечной точки в службе Приватный канал, настроенной на шаге 1.
- Вернитесь в NCC в консоли учетной записи и убедитесь, что соединение было установлено.
- Выполните операцию Git в рабочей области. Индикатор пользовательского интерфейса подтверждает, что бессерверная частная Git активна. Индикатор может появиться через несколько секунд, пока запускаются бессерверные вычисления.
После настройки бессерверный частный Git имеет приоритет над другими формами частного подключения Git, которые вы уже настроили, например, классический прокси-сервер Git. Если у вас есть классический прокси-кластер Git, завершите его после настройки бессерверного частного Git.
Дополнительные конфигурации
Настройка операций Git с помощью файла конфигурации.
- Создайте файл конфигурации в
/Workspace/.git_settings/config.json, согласно приведенной ниже спецификации. - Предоставьте всем пользователям Git разрешения на просмотр файла конфигурации и всех файлов сертификатов ЦС, на которые он ссылается.
- Проверьте подключение к удаленному Git, выполнив операцию Git, например клонирование папки Git.
- Система может занять до одной минуты, чтобы применить изменения файла конфигурации.
Структура файла конфигурации верхнего уровня
{
"default": { ... }, // Optional global settings
"remotes": [ ... ] // Optional list of per-remote settings
}
default раздел (необязательно)
Глобальные значения по умолчанию применяются ко всем операциям Git, если они не переопределяются определённым удалённым репозиторием.
| Поле | Тип | Обязательно | Значение по умолчанию | Description |
|---|---|---|---|---|
sslVerify |
булевый | нет | true | Следует ли проверять SSL-сертификаты. |
caCertPath |
струна | нет | "" (пустой) | Путь в рабочей области к пользовательскому сертификату Центра сертификации. |
httpProxy |
струна | нет | "" (пустой) | HTTP-прокси для направления трафика Git. |
customHttpPort |
целое число | нет | Не определено | Пользовательский HTTP-порт сервера Git. |
remotes раздел (необязательно)
Список объектов, определяющих параметры для отдельных удаленных серверов Git. Эти параметры переопределяют default блок на индивидуальной основе для каждого удаленного устройства.
| Поле | Тип | Обязательно | Значение по умолчанию | Description |
|---|---|---|---|---|
| URL-префикс | струна | Да | — | Префикс для сопоставления удаленных URL-адресов Git. |
| sslVerify | булевый | нет | true | Следует ли проверять SSL-сертификаты. |
| caCertPath | струна | нет | "" (пустой) | Путь рабочего пространства к пользовательскому пути сертификата Центра сертификации для этого удаленного объекта. |
| httpProxy | струна | нет | "" (пустой) | HTTP-прокси для направления трафика Git. |
| настраиваемый HTTP порт | целое число | нет | Не определено | Пользовательский HTTP-порт сервера Git. |
Пример конфигурации без удаленно-специфических настроек
{
"default": {
"sslVerify": false
}
}
Полный пример конфигурации
{
"default": {
"sslVerify": true,
"caCertPath": "/Workspace/my_ca_cert.pem",
"httpProxy": "https://git-proxy-server.company.com",
"customHttpPort": "8080"
},
"remotes": [
{
"urlPrefix": "https://my-private-git.company.com/",
"caCertPath": "/Workspace/my_ca_cert_2.pem"
},
{
"urlPrefix": "https://another-git-server.com/project.git",
"sslVerify": false
}
]
}
Примечания.
- Раздел
defaultдолжен присутствовать по крайней мере частично. - Раздел
remotesявляется необязательным. Если включено, каждая запись должна содержатьurlPrefixполе. - Поля, не указанные по умолчанию, используют значения по умолчанию.
- Неизвестные поля игнорируются.
Ограничения
- Бессерверные журналы прокси-сервера недоступны.
- Бессерверный частный Git доступен только в бессерверных регионах Azure.