Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Usługa Azure Databricks Serverless Private Git jest dostępna w publicznej wersji zapoznawczej. Koszty obliczeń i sieci mają zastosowanie, gdy bezserwerowe zasoby obliczeniowe łączą się z zasobami zewnętrznymi. Aby uzyskać szczegółowe informacje na temat rozliczeń, zobacz Omówienie kosztów sieci bezserwerowych usługi Databricks .
Usługa Azure Databricks Serverless Private Git umożliwia połączenie obszaru roboczego usługi Databricks z prywatnym serwerem Git przy użyciu bezserwerowych zasobów obliczeniowych i usługi Azure Private Link. Serwer Git jest prywatny, jeśli nie można uzyskać do niego dostępu z Internetu.
Na poniższym diagramie przedstawiono ogólną architekturę systemu:
Dlaczego warto używać prywatnej usługi Git bezserwerowej?
W porównaniu z serwerem proxy Git prywatna usługa Git bez serwera oferuje następujące korzyści:
Bezserwerowa prywatna usługa Git uzyskuje bezserwerowe obliczenia tylko wtedy, gdy odbiera żądanie Git i może być nieaktywna, gdy nie jest używana. Natomiast serwer proxy usługi Git wymaga, aby klaster proxy był aktywny, gdy użytkownik prześle żądanie Git.
Bezserwerowy Prywatny Git używa Azure Private Link do bezpiecznego łączenia się z prywatną instancją Git.
Requirements
- Obszary robocze muszą być włączone dla środowisk bezserwerowych.
- Prywatny serwer Git musi znajdować się w tej samej sieci wirtualnej Azure co Standardowy Load Balancer.
- Prywatny serwer Git Server musi mieć podpisany certyfikat/prawidłową nazwę FQDN HTTPS.
- VNet jest skonfigurowana dla Standard Load Balancer (SLB) używanego w usłudze Private Link.
Konfigurowanie bezserwerowej prywatnej usługi Git
- Wykonaj kroki konfigurowania usługi Private Link dla prywatnego serwera Git. Dzięki temu można utworzyć połączenie usługi Azure Private Link z Serverless do zasobów zaplecza w sieci za load balancerem SLB.
- Utwórz konfigurację łączności sieciowej (NCC), aby skonfigurować ruch wychodzący do standardowego modułu równoważenia obciążenia. Zagadnienia dotyczące tego kroku:
- Dla obszaru roboczego dla prywatnego Git można skonfigurować tylko jeden NCC. Jeśli obszar roboczy musi nawiązać połączenie z wieloma prywatnymi serwerami Git, sprawdź, czy można je połączyć przy użyciu tego samego NCC.
- Ograniczenia, takie jak liczba kontrolerów centrum sieci obsługiwanych w regionie i liczba obszarów roboczych, które można dołączyć do kontrolera centrum sieci, są udokumentowane w sekcji Wymagania.
- Uzyskiwanie tokenu interfejsu API konta przy użyciu jednostki usługi z dostępem na poziomie konta.
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'
Response
{"access_token":"...","scope":"all-apis","token_type":"Bearer","expires_in":3600}
Alternatywny sposób uzyskiwania tokenu interfejsu API konta:
- Token dostępu do uwierzytelniania: aby wywołać interfejs API REST konta usługi Databricks, należy przeprowadzić uwierzytelnianie i uzyskać token dostępu.
- Użyj tokenu dostępu microsoft Entra ID.
BEARER_TOKEN = `az account get-access-token --resource
2ff814a6-3304-4ab8-85cb-cd0e6f879c1d --query "accessToken" -o tsv
- Dodaj regułę prywatnego punktu końcowego, aby zdefiniować logikę DNS przy użyciu interfejsu API.
W tym przykładzie określ następujące elementy:
- Identyfikator konta
- Identyfikator NCC
- Token konta OAuth
- Identyfikator zasobu usługi Private Link
- Nazwa FQDN serwera Git w liście domeny
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"
]
}
'
Odpowiedź
{"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"]}
- Poczekaj kilka minut po skonfigurowaniu reguł prywatnego punktu końcowego NCC. Reguła prywatnego punktu końcowego jest wyświetlana w NCC bez określonego podzasobu w stanie oczekiwania.
- Usługa Private Link skonfigurowana w kroku 1 ma również oczekujące połączenie prywatnego punktu końcowego gotowe do zatwierdzenia. Zatwierdź to połączenie.
- Wróć do NCC w konsoli konta i sprawdź, czy został on ustanowiony.
- Przejdź do obszaru roboczego i spróbuj wykonać operację git. Powinien zostać wyświetlony wskaźnik interfejsu użytkownika dla prywatnej usługi Git bezserwerowej. Ta strona może zostać załadowana przez kilka sekund, gdy nieserwerowe zasoby obliczeniowe serwera proxy usługi Git są uruchamiane.
Po skonfigurowaniu Serverless Private Git ma pierwszeństwo przed innymi formami prywatnej łączności Git, które zostały już aprowizowane, na przykład klasycznego proxy Git. Jeśli masz uruchomiony klasyczny klaster proxy Git, zakończ jego działanie po skonfigurowaniu Git bezserwerowego w trybie prywatnym.
Dodatkowe konfiguracje
Dostosuj operacje git przy użyciu pliku config.json.
- Utwórz plik konfiguracji pod adresem
/Workspace/.git_settings/config.json, zgodnie z poniższą specyfikacją. - Przyznaj wszystkim użytkownikom Git uprawnienia do wyświetlania pliku konfiguracji i wszystkich plików certyfikatów CA, na które powołuje się.
- Interakcja z usługą Git w celu sprawdzenia łączności ze zdalnym repozytorium Git, na przykład poprzez klonowanie katalogu repozytorium zdalnego na serwerze.
- Zastosowanie zmian w pliku konfiguracji może potrwać do 1 minuty.
Struktura pliku konfiguracji najwyższego poziomu
{
"default": { ... }, // Optional global settings
"remotes": [ ... ] // Optional list of per-remote settings
}
default sekcja (opcjonalnie)
Globalne wartości domyślne są stosowane do wszystkich operacji Git, chyba że są nadpisane przez określone zdalne repozytorium.
| (No changes needed) | Typ | Required | Wartość domyślna | Description |
|---|---|---|---|---|
| sslVerify | typ logiczny (boolowski) | Nie. | true | Czy należy zweryfikować certyfikaty SSL. |
| ścieżka certyfikatu CA | ciąg | Nie. | "" (pusty) | Ścieżka obszaru roboczego do własnego certyfikatu CA. |
| httpProxy (serwer proxy httpy) | ciąg | Nie. | "" (pusty) | Serwer proxy HTTP do kierowania ruchu usługi Git. |
| customHttpPort | liczba całkowita | Nie. | Nieokreślony | Niestandardowy port HTTP serwera Git. |
remotes sekcja (opcjonalnie)
Lista obiektów definiujących ustawienia dla poszczególnych zdalnych serwerów Git. Te ustawienia zastępują blok dla każdego zdalnego połączenia indywidualnie.
| (No changes needed) | Typ | Required | Wartość domyślna | Description |
|---|---|---|---|---|
| urlPrefix | ciąg | Tak | — | Prefiks odpowiadający zdalnym adresom URL usługi Git. |
| sslVerify | typ logiczny (boolowski) | Nie. | true | Czy należy zweryfikować certyfikaty SSL. |
| ścieżka certyfikatu CA | ciąg | Nie. | "" (pusty) | Ścieżka obszaru roboczego do niestandardowej ścieżki certyfikatu urzędu certyfikacji dla tego zdalnego. |
| httpProxy (serwer proxy httpy) | ciąg | Nie. | "" (pusty) | Serwer proxy HTTP do kierowania ruchu usługi Git. |
| customHttpPort | liczba całkowita | Nie. | Nieokreślony | Niestandardowy port HTTP serwera Git. |
Przykładowa konfiguracja bez specyficznej konfiguracji zdalnej
{
"default": {
"sslVerify": false
}
}
Pełny przykład konfiguracji
{
"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
}
]
}
Notatki
- Sekcja
defaultmusi być obecna, nawet jeśli tylko częściowo. - Lista
remotesjest opcjonalna i może zostać całkowicie pominięta. - Każdy wpis zdalny musi zawierać co najmniej
urlPrefix. - Jeśli nie określisz wartości pola, zostanie użyta wartość domyślna.
- Nieznane pola są ignorowane.
Ograniczenia
- Dziennik bezserwerowego serwera proxy jest obecnie niedostępny.
- Dostępne tylko w regionach bezserwerowych platformy Azure.