Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
Databricks Serverless Private Git bevindt zich in openbare preview. Reken- en netwerkkosten zijn van toepassing wanneer serverloze rekenresources verbinding maken met externe resources. Zie Begrijp serverloze Databricks-netwerkkosten voor factureringsgegevens.
Met Databricks Serverless Private Git kunt u een Databricks-werkruimte verbinden met een persoonlijke Git-server met behulp van serverloze compute en Azure Private Link. Een Git-server is privé als internetgebruikers er geen toegang toe hebben.
In het volgende diagram ziet u de algehele systeemarchitectuur:
Waarom serverloze privé-Git gebruiken?
In vergelijking met de Git-serverproxy biedt serverloze privé-Git de volgende voordelen:
- Serverloze privé-Git verkrijgt alleen serverloze berekeningen wanneer deze een Git-aanvraag ontvangt en kan inactief zijn wanneer deze niet in gebruik is. Daarentegen vereist de Git-proxy dat het proxycluster actief is wanneer de gebruiker een Git-aanvraag indient.
- Serverloze privé-Git maakt gebruik van Azure Private Link om veilig verbinding te maken met het privé-Git-exemplaar.
Requirements
- Schakel serverloze berekeningen in voor de werkruimte.
- Plaats de persoonlijke Git-server in hetzelfde Azure-VNet als de Standard Load Balancer.
- Zorg ervoor dat de persoonlijke Git-server een ondertekend certificaat en een geldige FQDN (Fully Qualified Domain Name) van HTTPS heeft.
- Configureer het VNet met een Standard Load Balancer (SLB) voor de Private Link-service.
Serverloze privé-Git instellen
- Volg de stappen voor het configureren van privéconnectiviteit met resources in uw VNet. Hiermee kunt u een Azure Private Link-verbinding maken van serverloos naar back-ends in uw netwerk achter een SLB.
- Maak een netwerkconnectiviteitsconfiguratie (NCC) om uitgaande verbindingen naar een standaard load balancer te configureren.
- U kunt slechts één NCC per werkruimte configureren voor privé-Git. Als de werkruimte verbinding maakt met meerdere privé-Git-servers, moeten ze allemaal dezelfde NCC gebruiken.
- Zie Vereisten voor NCC-beperkingen, zoals regionale limieten en limieten voor werkruimtebijlagen.
- Een account-API-token verkrijgen met behulp van een service-principal met toegang op accountniveau.
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'
Het antwoord bevat een toegangstoken:
{ "access_token": "...", "scope": "all-apis", "token_type": "Bearer", "expires_in": 3600 }
U kunt ook een Microsoft Entra ID-toegangstoken gebruiken:
BEARER_TOKEN=$(az account get-access-token --resource \
2ff814a6-3304-4ab8-85cb-cd0e6f879c1d --query "accessToken" -o tsv)
- Voeg een privé-eindpuntregel toe om DNS-logica te definiëren met behulp van de API.
Geef in het voorbeeld het volgende op:
- Account-ID
- NCC-id
- OAuth-token voor account
- Fesource-id van Private Link-service
- FQDN van Git-server in de
domain_namelijst
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"]
}'
Het antwoord bevat de details van de regel voor privé-eindpunten:
{
"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"]
}
- Wacht enkele minuten nadat u de NCC-regels voor privé-eindpunten hebt ingesteld. De NCC geeft de regel voor het privé-eindpunt weer met de status In behandeling.
- Keur de in behandeling zijnde privé-eindpuntverbinding goed in de Private Link-service die u in stap 1 hebt geconfigureerd.
- Ga terug naar de NCC in de accountconsole en controleer of deze tot stand is gebracht.
- Voer een Git-bewerking uit in de werkruimte. Een UI-indicator bevestigt dat Serverless Private Git actief is. Het kan enkele seconden duren voordat de indicator wordt weergegeven terwijl serverloze berekeningen worden gestart.
Nadat u deze hebt geconfigureerd, heeft serverloze privé-Git voorrang op andere vormen van persoonlijke Git-connectiviteit die u al hebt ingericht, zoals de klassieke Git-proxy. Als u een klassiek Git-proxycluster hebt uitgevoerd, beëindigt u het nadat u serverloze privé-Git hebt ingesteld.
Aanvullende configuraties
Git-bewerkingen aanpassen met behulp van een configuratiebestand.
- Maak een configuratiebestand op
/Workspace/.git_settings/config.jsonvolgens de onderstaande specificatie. - Alle Git-gebruikers Bekijkmachtigingen verlenen voor het configuratiebestand en eventuele CA-certificaatbestanden waarnaar het verwijst.
- Valideer de connectiviteit met de externe Git door een Git-bewerking uit te voeren, zoals het klonen van een Git-map.
- Het kan tot één minuut duren voordat het systeem wijzigingen in het configuratiebestand toepast.
Configuratiebestandsstructuur op het hoogste niveau
{
"default": { ... }, // Optional global settings
"remotes": [ ... ] // Optional list of per-remote settings
}
default sectie (optioneel)
Algemene standaardinstellingen zijn van toepassing op alle Git-bewerkingen, tenzij een specifieke externe repository deze overschrijft.
| Veld | Typologie | Verplicht | Standaardwaarde | Description |
|---|---|---|---|---|
sslVerify |
booleaan | Nee. | true | Of ssl-certificaten moeten worden geverifieerd. |
caCertPath |
touw | Nee. | "" (leeg) | Werkruimtepad naar een aangepast CA-certificaat. |
httpProxy |
touw | Nee. | "" (leeg) | HTTP-proxy om Git-verkeer door te sturen. |
customHttpPort |
integer | Nee. | Onbepaald | Aangepaste HTTP-poort van de Git-server. |
remotes sectie (optioneel)
Een lijst met objecten die instellingen definiëren voor afzonderlijke externe Git-servers. Deze instellingen overschrijven het default blok per externe basis.
| Veld | Typologie | Verplicht | Standaardwaarde | Description |
|---|---|---|---|---|
| urlPrefix | touw | Yes | — | Voorvoegsel dat overeenkomt met externe Git-URL's. |
| sslVerify | booleaan | Nee. | true | Of ssl-certificaten moeten worden geverifieerd. |
| caCertPath | touw | Nee. | "" (leeg) | Werkruimtepad naar het aangepaste CA-certificaatpad voor deze externe locatie. |
| httpProxy (Engelstalig) | touw | Nee. | "" (leeg) | HTTP-proxy om Git-verkeer door te sturen. |
| customHttpPort | integer | Nee. | Onbepaald | Aangepaste HTTP-poort van de Git-server. |
Voorbeeldconfiguratie zonder apparaat- of toepassingen-specifieke externe configuratie
{
"default": {
"sslVerify": false
}
}
Voorbeeld van volledige configuratie
{
"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
}
]
}
Opmerkingen
- De
defaultsectie moet ten minste gedeeltelijk aanwezig zijn. - De sectie
remotesis optioneel. Indien opgenomen, moet elke vermelding eenurlPrefixveld bevatten. - Niet-opgegeven velden gebruiken hun standaardwaarden.
- Onbekende velden worden genegeerd.
Beperkingen
- Serverloze proxylogboeken zijn niet beschikbaar.
- Serverloze privé-Git is alleen beschikbaar in serverloze Azure-regio's.