Privé-Git-connectiviteit instellen voor Azure Databricks Git-mappen (opslagplaatsen)
Leer meer over en configureer de Git-serverproxy voor Git-mappen van Databricks-werkruimte, een configureerbare service waarmee u Git-opdrachten vanuit Databricks-werkruimte-Git-mappen kunt doorsturen naar uw on-premises-Git-opslagplaatsen die worden beheerd door GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server en zelfbeheerde GitLab.
Notitie
Gebruikers met een Databricks Git-serverproxy die tijdens de preview zijn geconfigureerd, moeten hun clustermachtigingen upgraden voor de beste prestaties. Zie Algemene CAN_ATTACH_TO-machtigingen verwijderen.
De Databricks Git-serverproxy is speciaal ontworpen om te werken met de versie van de Databricks Runtime die is opgenomen in het configuratienotebook. Gebruikers worden afgeraden om de Databricks Runtime-versie van het proxycluster bij te werken.
Wat is Git-serverproxy voor Databricks Git-mappen?
Databricks Git-serverproxy voor Git-mappen is een functie waarmee u Git-opdrachten vanuit uw Azure Databricks-werkruimte kunt proxyen naar een on-premises Git-server.
Databricks Git-mappen (voorheen Repositories) vertegenwoordigen uw verbonden Git-opslagplaatsen als mappen. De inhoud van deze mappen wordt versiebeheerd door ze te synchroniseren met de verbonden Git-opslagplaats. Git-mappen kunnen standaard alleen worden gesynchroniseerd met openbare Git-providers (zoals openbare GitHub, GitLab, Azure DevOps en andere). Als u echter uw eigen on-premises Git-server host (zoals GitHub Enterprise Server, Bitbucket Server of GitLab zelfbeheerd), moet u Git-serverproxy gebruiken met Git-mappen om Databricks-toegang tot uw Git-server te bieden. Uw Git-server moet toegankelijk zijn vanaf uw Azure Databricks-gegevensvlak (stuurprogrammaknooppunt).
Als uw bedrijfsnetwerk alleen privétoegang (VPN) heeft (geen openbare toegang), moet u een Git-serverproxy uitvoeren om toegang te krijgen tot Git-opslagplaatsen buiten het netwerk en Git-mappen toe te voegen aan uw werkruimten.
Hoe werkt Git Server Proxy voor Databricks Git-mappen?
Git-serverproxy voor Databricks Git-mappen proxy's Git-opdrachten van het Databricks-besturingsvlak naar een proxycluster dat in het rekenvlak van uw Databricks-werkruimte wordt uitgevoerd. In deze context is het proxycluster een cluster dat is geconfigureerd voor het uitvoeren van een proxyservice voor Git-opdrachten vanuit Databricks Git-mappen naar uw zelf-hostende Git-opslagplaats. Deze proxyservice ontvangt Git-opdrachten van het Databricks-besturingsvlak en stuurt deze door naar uw Git-serverexemplaren.
In het onderstaande diagram ziet u de algehele systeemarchitectuur:
Belangrijk
Databricks biedt een inschakelend notebook dat u kunt uitvoeren om uw Git-serverexemplaren te configureren voor proxyopdrachten voor Databricks Git-mappen. Haal het activeringsnotitieblok op GitHub op.
Op dit moment is voor een Git-serverproxy geen machtiging meer vereist CAN_ATTACH_TO
voor alle gebruikers. Beheerders met een bestaande proxycluster kunnen nu de machtiging cluster-ACL wijzigen om deze functie in te schakelen. U schakelt dit als volgt in:
Selecteer Compute in de zijbalk en klik vervolgens op het menu Voor de Compute-vermelding voor de Git Server-proxy die u uitvoert:
Verwijder in het dialoogvenster de vermelding Kan bijvoegen voor alle gebruikers:
Hoe kan ik Git Server-proxy instellen voor Databricks Git-mappen?
In deze sectie wordt beschreven hoe u uw Git-serverinstantie voorbereidt voor de Git-serverproxy voor Databricks Git-folders, hoe u de proxy aanmaakt en uw configuratie valideert.
Voordat u begint
Voordat u de proxy inschakelt, moet u ervoor zorgen dat:
- Voor uw werkruimte is de functie Databricks Git-mappen ingeschakeld.
- Uw Git-serverexemplaren zijn toegankelijk vanuit de VPC van uw Azure Databricks-werkruimte en hebben zowel HTTPS- als persoonlijke toegangstokens (PAT's) ingeschakeld.
Notitie
Git-serverproxy voor Databricks werkt in alle regio's die worden ondersteund door uw VPC.
Stap 1: Uw Git-serverexemplaren voorbereiden
Belangrijk
U moet een beheerder zijn in de werkruimte met toegangsrechten om een rekenresource te maken en deze taak te voltooien.
Uw Git-serverexemplaren configureren:
Geef het stuurprogrammaknooppunt van het proxycluster toegang tot uw Git-server.
De Git-server van uw bedrijf kan een
allowlist
van de IP-adressen hebben waaruit toegang is toegestaan.- Koppel een statisch uitgaand IP-adres voor verkeer dat afkomstig is van uw proxycluster. U kunt dit doen met behulp van Azure Firewall of een uitgaand apparaat.
- Voeg het IP-adres uit de vorige stap toe aan de acceptatielijst van uw Git-server.
Stel uw Git-serverexemplaren in om HTTPS-transport toe te staan.
- Zie voor GitHub Enterprise welke externe URL moet ik gebruiken in de Help voor GitHub Enterprise.
- Ga voor Bitbucket naar de beheerpagina van de Bitbucket-server en selecteer serverinstellingen. Schakel in de sectie HTTP(S) SCM-hosting het selectievakje HTTP(S) in .
Stap 2: Het inschakelingsnotitieblok uitvoeren
De proxy inschakelen:
Meld u als werkruimtebeheerder aan bij uw Azure Databricks-werkruimte met toegangsrechten om een cluster te maken.
Importeer dit notebook, dat het kleinste exemplaartype kiest dat beschikbaar is bij uw cloudprovider om de Git-proxy uit te voeren.
Klik op Alles uitvoeren om het notebook uit te voeren, dat de volgende taken uitvoert:
- Hiermee maakt u een rekenresource met één knooppunt met de naam Databricks Git Proxy, die niet automatisch wordt beëindigd. Dit is de Git-proxyservice waarmee Git-opdrachten vanuit uw Azure Databricks-werkruimte worden verwerkt en doorgestuurd naar uw on-premises Git-server.
- Hiermee schakelt u een functievlag in waarmee wordt bepaald of Git-aanvragen in Databricks Git-mappen worden geproxied via het rekenproces.
U kunt het beste een eenvoudige taak maken om de Rekenresource van de Git-proxy uit te voeren. Dit kan een eenvoudig notebook zijn waarmee de status van de git-proxyservice wordt afgedrukt of logboeken, zoals 'De Git-proxyservice wordt uitgevoerd'. Stel de taak in op regelmatige tijdsintervallen om ervoor te zorgen dat de Git-proxyservice altijd beschikbaar is voor uw gebruikers.
Notitie
Als u een extra langlopende rekenresource uitvoert om de proxysoftware te hosten, worden extra DTU's in rekening gebracht. Om de kosten te minimaliseren, configureert het notebook de proxy voor het gebruik van een rekenresource met één knooppunt met een goedkoop knooppunttype. Het is echter mogelijk dat u de rekenopties wilt aanpassen aan uw behoeften. Zie de databricks-prijscalculator voor meer informatie over prijzen van rekeninstanties.
Stap 3: De configuratie van uw Git-server valideren
Als u de configuratie van uw Git-server wilt valideren, probeert u een opslagplaats te klonen die wordt gehost op uw persoonlijke Git-server via het proxycluster. Een geslaagde kloon betekent dat u de Git-serverproxy voor uw werkruimte hebt ingeschakeld.
Stap 4: Git-opslagplaatsen met proxy maken
Nadat gebruikers hun Git-referenties hebben geconfigureerd, zijn er geen verdere stappen vereist om uw opslagplaatsen te maken of te synchroniseren. Zie Git-referenties configureren & verbinding maken met een externe opslagplaats met Azure Databricksom referenties te configureren en toegang te krijgen tot de opslagplaatsen voor uw Git-mappen.
Algemene CAN_ATTACH_TO-machtigingen verwijderen
Beheerders met een bestaande proxycluster kunnen nu de ACL-machtiging voor het cluster wijzigen om gebruik te maken van algemeen beschikbaar gedrag van de Git-serverproxy.
Als u eerder een Databricks Git-serverproxy met CAN_ATTACH_TO
bevoegdheden hebt geconfigureerd, gebruikt u de volgende stappen om deze machtigingen te verwijderen:
Selecteer Compute in de zijbalk en klik vervolgens op het menu Voor de Compute-server naast de vermelding Compute voor de Git-serverproxy die u uitvoert:
Verwijder in het dialoogvenster de vermelding Kan bijvoegen voor alle gebruikers:
Probleemoplossing
Is er een fout opgetreden tijdens het configureren van de Git-serverproxy voor Databricks Git-mappen? Hier volgen enkele veelvoorkomende problemen en manieren om ze effectiever te diagnosticeren.
Controlelijst voor veelvoorkomende problemen
Voordat u begint met het diagnosticeren van een fout, controleert u of u de volgende stappen hebt uitgevoerd:
- Controleer of uw proxycluster actief is met deze debug-notebook van de Git-proxyserver . (Dit is een ander notebook dan het Git proxy server inschakel notebook, en wordt ook geleverd door Databricks.)
- Controleer of u een werkruimtebeheerder bent.
- Voer de rest van het foutopsporingsnotebook uit en leg de resultaten vast, indien u dat nog niet hebt gedaan. Als u het probleem niet kunt opsporen of geen fouten ziet die zijn gerapporteerd vanuit het foutopsporingsnotebook, kan databricks-ondersteuning de resultaten bekijken. U kunt het foutopsporingsnotitieblok exporteren en verzenden als een DBC-archief, indien aangevraagd.
Uw Git-proxyconfiguratie wijzigen
Als uw Git-proxyservice niet werkt met de standaardconfiguratie, kunt u specifieke omgevingsvariabelen instellen om wijzigingen aan te brengen om uw netwerkinfrastructuur beter te ondersteunen.
Gebruik de volgende omgevingsvariabelen om de configuratie voor uw Git-proxyservice bij te werken:
Omgevingsvariabele | Opmaak | Beschrijving |
---|---|---|
GIT_PROXY_ENABLE_SSL_VERIFICATION |
true /false |
Stel dit in op false als u een zelfondertekend certificaat gebruikt voor uw persoonlijke Git-server. |
GIT_PROXY_CA_CERT_PATH |
Bestandspad (tekenreeks) | Stel dit in op het pad naar een CA-certificaatbestand dat wordt gebruikt voor SSL-verificatie. Voorbeeld: /FileStore/myCA.pem |
GIT_PROXY_HTTP_PROXY |
https://<hostname>:<port #> |
Stel deze in op de HTTPS-URL voor de firewallproxy van uw netwerk voor HTTP-verkeer. |
GIT_PROXY_CUSTOM_HTTP_PORT |
Poortnummer (geheel getal) | Stel dit in op het poortnummer dat is toegewezen aan de HTTP-poort van uw Git-server. |
Als u deze omgevingsvariabelen wilt instellen, gaat u naar het tabblad Compute in uw Azure Databricks-werkruimte en selecteert u de rekenconfiguratie voor uw Git-proxyservice. Vouw onder in het deelvenster Configuratie geavanceerde opties uit en selecteer het tabblad Spark eronder. Stel een of meer van deze omgevingsvariabelen in door ze toe te voegen aan het tekstgebied Omgevingsvariabelen .
Logboeken op het proxycluster controleren
Het bestand op /databricks/git-proxy/git-proxy.log
het proxycluster bevat logboeken die handig zijn voor foutopsporing.
Het logboekbestand moet beginnen met de regel Data-plane proxy server binding to ('', 8000)…
. Als dit niet het geval is, betekent dit dat de proxyserver niet goed is gestart. Start het cluster opnieuw op of verwijder het cluster dat u hebt gemaakt en voer het activeringsnotitieblok opnieuw uit.
Als het logboekbestand met deze regel begint, bekijkt u de logboekinstructies die volgen voor elke Git-aanvraag die is geïnitieerd door een Git-bewerking in Databricks Git-mappen.
Voorbeeld:
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`
Foutlogboeken die naar dit bestand worden geschreven, kunnen nuttig zijn om u of Databricks Ondersteuning te helpen bij het opsporen van problemen.
Veelvoorkomende foutberichten en hun oplossing
Beveiligde verbinding kan niet tot stand worden gebracht vanwege SSL-problemen
U ziet mogelijk de volgende fout:
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
Dit betekent vaak dat u een opslagplaats gebruikt waarvoor speciale SSL-certificaten zijn vereist. Controleer de inhoud van het
/databricks/git-proxy/git-proxy.log
bestand op het proxycluster. Als wordt aangegeven dat de certificaatvalidatie is mislukt, moet u het certificaat van de instantie toevoegen aan de systeemcertificaatketen. Pak eerst het basiscertificaat (met behulp van de browser of een andere optie) uit en upload het naar DBFS. Bewerk vervolgens het Git-mappen gitproxycluster om deGIT_PROXY_CA_CERT_PATH
omgevingsvariabele te gebruiken om naar het basiscertificaatbestand te verwijzen. Zie Omgevingsvariabelen bewerken voor meer informatie over het bewerken van omgevingsvariabelen voor clusters.Nadat u deze stap hebt voltooid, start u het cluster opnieuw op.
Fout bij het klonen van opslagplaats met de fout 'Ontbrekende/ongeldige Git-referenties'
Controleer eerst of u uw Git-referenties hebt geconfigureerd in gebruikersinstellingen.
Deze fout kan optreden:
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.
Als uw organisatie eenmalige aanmelding van SAML gebruikt, moet u ervoor zorgen dat het token is geautoriseerd (dit kan worden gedaan vanaf de beheerpagina van uw Git-server Personal Access Token (PAT).
Veelgestelde vragen
Wat is de eenvoudigste manier om erachter te komen of de Git-proxyserver wordt uitgevoerd?
Importeer het Git-proxy-debug-notebook verstrekt door Databricks. Download deze naar uw lokale computer en importeer deze vervolgens in uw Azure Databricks-werkruimte.
Als u het notebook uitvoert, worden er fouten of problemen met de Git-proxyservice gerapporteerd.
Wat zijn de gevolgen voor de beveiliging van de Git-serverproxy?
De belangrijkste dingen die u moet weten zijn:
- Proxying heeft geen invloed op de beveiligingsarchitectuur van uw Databricks-besturingsvlak.
- U kunt slechts één Git-proxyservercluster per werkruimte hebben.
Wordt al het Git-mappengerelateerde Git-verkeer van Databricks via het proxycluster gerouteerd, zelfs voor openbare Git-opslagplaatsen?
Ja. In de huidige release maakt uw Azure Databricks-werkruimte geen onderscheid tussen geproxiede en niet-geproxieerde opslagplaatsen.
Werkt de Git-proxyfunctie met andere Git Enterprise-serverproviders?
Databricks Git-mappen ondersteunen GitHub Enterprise, Bitbucket Server, Azure DevOps Server en GitLab zelfbeheerd. Andere Zakelijke Git-serverproviders moeten ook werken als ze voldoen aan algemene Git-specificaties.
Ondersteunen Git-mappen in Databricks GPG-ondertekening van doorvoeringen?
Nee
Ondersteunen Databricks Git-mappen SSH-transport voor Git-bewerkingen?
Nee Alleen HTTPS wordt ondersteund.
Wordt het gebruik van een niet-standaard HTTPS-poort op de Git-server ondersteund?
Op dit moment wordt ervan uitgegaan dat uw Git-server gebruikmaakt van de standaard HTTPS-poort 443. U kunt de omgevingsvariabele instellen om de poortwaarde te overschrijven met een voorkeursvariabele GIT_PROXY_CUSTOM_HTTP_PORT
.
Kunt u één proxy voor meerdere werkruimten delen of hebt u één proxycluster per werkruimte nodig?
U hebt één proxycluster nodig per Azure Databricks-werkruimte.
Werkt de proxy met verouderde versiebeheer voor één notebook?
Nee, de proxy werkt niet met verouderde versiebeheer voor één notebook. Gebruikers moeten migreren naar versiebeheer van Git-mappen in Databricks.
Kan Databricks URL's van Git-servers verbergen die zijn geproxied? Kunnen gebruikers de oorspronkelijke URL's van de Git-server invoeren in plaats van geproxiede URL's?
Ja tegen beide vragen. Gebruikers hoeven hun gedrag voor de proxy niet aan te passen. Met de huidige proxy-implementatie wordt al het Git-verkeer voor Databricks Git-mappen gerouteerd via de proxy. Gebruikers voeren de url van de normale Git-opslagplaats in, zoals https://git.company.com/org/repo-name.git
.
Hoe vaak werken gebruikers met de Git-URL's?
Normaal gesproken voegt een gebruiker alleen de Git-URL toe wanneer ze een nieuwe opslagplaats maken of een bestaande opslagplaats uitchecken die ze nog niet hebben uitgecheckt.
Wordt de functie transparant proxyverificatiegegevens naar de Git-server verzonden?
Ja, de proxy gebruikt het Git-servertoken van het gebruikersaccount om te verifiëren bij de Git-server.
Heeft Databricks toegang tot Git-servercode?
De Azure Databricks-proxyservice opent de Git-opslagplaats op de Git-server met behulp van de door de gebruiker verstrekte referenties en synchroniseert alle codebestanden in de opslagplaats met de Git-map. Toegang wordt beperkt door de machtigingen die zijn opgegeven in het door de gebruiker verstrekte persoonlijke toegangstoken (PAT).