Delen via


Privé-Git-connectiviteit instellen voor Databricks Git-mappen (opslagplaatsen)

Meer informatie over en configuratie van Git-serverproxy voor Databricks Git-mappen, een configureerbare service waarmee u Git-opdrachten vanuit databricks-werkruimte git-mappen kunt proxyen naar uw on-premises opslagplaatsen die worden geleverd door GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server en GitLab zelfbeheerd.

Notitie

Gebruikers met een Databricks Git-serverproxy die tijdens de preview zijn geconfigureerd, moeten clustermachtigingen upgraden voor de beste prestaties. Zie Algemene CAN_ATTACH_TO-machtigingen verwijderen.

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 opslagplaatsen) 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).

Notitie

Op dit moment kunnen Databricks Git-mappen alleen Databricks-notebooks en submappen bevatten, samen met een specifieke set andere assettypen. Zie Limieten en veelgestelde vragen over Git-integratie met Databricks Git-mappen voor een huidige lijst met ondersteunde assettypen.

Hoe werkt Git Server Proxy voor Databricks Git-mappen?

Git Server-proxy voor Databricks Git-mappen proxy's git-opdrachten van het Databricks-besturingsvlak naar een 'proxycluster' dat wordt uitgevoerd in het rekenvlak van uw Databricks-werkruimte. 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:

Diagram dat laat zien hoe Git Server Proxy voor Databricks Git-mappen is geconfigureerd om te worden uitgevoerd vanaf het rekenvlak van een klant

Op dit moment is voor een Git-serverproxy geen machtiging meer vereist CAN_ATTACH_TO voor alle gebruikers. Beheer met een bestaande proxycluster kan nu de machtiging cluster-ACL wijzigen om deze functie in te schakelen. U schakelt dit als volgt in:

  1. Selecteer Compute in de zijbalk en klik vervolgens op het Menu VanGelezen menu Voor de Compute-vermelding voor de Git Server-proxy die u uitvoert:

    Selecteer Compute in de zijbalk, selecteer rechts van de rekenresource van uw Git-proxyserver de gewenste resource

  2. Verwijder in het dialoogvenster de vermelding Kan bijvoegen voor alle gebruikers:

    Klik in het modale dialoogvenster dat verschijnt op X rechts van Alle gebruikers, Kan koppelen aan

Hoe kan ik Git Server-proxy instellen voor Databricks Git-mappen?

In deze sectie wordt beschreven hoe u uw Git-serverexemplaren voorbereidt voor Git Server Proxy voor Databricks Git-mappen, hoe u de proxy maakt en uw configuratie valideert.

Voordat u begint

Voordat u de proxy inschakelt, moet u rekening houden met de volgende vereisten en planningstaken:

  • 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

Uw Git-serverexemplaren configureren:

  1. 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.

    1. 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.
    2. Voeg het IP-adres uit de vorige stap toe aan de acceptatielijst van uw Git-server.
  2. 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:

  1. Meld u als werkruimtebeheerder aan bij uw Azure Databricks-werkruimte met toegangsrechten om een cluster te maken.

  2. Importeer dit notebook:

    Schakel git-serverproxy in voor Databricks Git-mappen voor privé-Git-serverconnectiviteit in Git-mappen.

  3. Selecteer Alles uitvoeren om de volgende taken uit te voeren:

    • Maak een cluster met één knooppunt met de naam Databricks Git Proxy, dat niet automatisch wordt beëindigd. Dit is het 'proxycluster' waarmee Git-opdrachten vanuit uw Azure Databricks-werkruimte worden verwerkt en doorgestuurd naar uw on-premises Git-server.
    • Schakel een functievlag in waarmee wordt bepaald of Git-aanvragen in Databricks Git-mappen via het cluster worden geproxied.

Belangrijk

U moet een beheerder zijn in de werkruimte met toegangsrechten om een cluster te maken.

Notitie

Houd rekening met het volgende:

  • Als u een extra langlopend cluster 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 één knooppuntcluster met een goedkoop knooppunttype. Het is echter mogelijk dat u de clusteropties wilt aanpassen aan uw behoeften.

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: Proxy-enabled opslagplaatsen maken

Nadat gebruikers hun Git-referenties hebben geconfigureerd, zijn er geen verdere stappen vereist om uw opslagplaatsen te maken of te synchroniseren. Als u referenties wilt configureren en een opslagplaats wilt maken in Databricks Git-mappen, raadpleegt u Git-referenties configureren en een externe opslagplaats verbinden met Azure Databricks.

Algemene CAN_ATTACH_TO-machtigingen verwijderen

Beheer s met een bestaande proxycluster kunnen nu de ACL-machtiging voor het cluster wijzigen om gebruik te maken van algemeen beschikbare Git-serverproxygedrag.

Als u eerder een Databricks Git-serverproxy met CAN_ATTACH_TO bevoegdheden hebt geconfigureerd, gebruikt u de volgende stappen om deze machtigingen te verwijderen:

  1. Selecteer Compute in de zijbalk en klik vervolgens op het Menu VanGelezen menu Voor de Compute-server naast de vermelding Compute voor de Git-serverproxy die u uitvoert:

    Selecteer Compute in de zijbalk, selecteer rechts van de rekenresource van uw Git-proxyserver de gewenste resource

  2. Verwijder in het dialoogvenster de vermelding Kan bijvoegen voor alle gebruikers:

    Klik in het modale dialoogvenster dat verschijnt op X rechts van Alle gebruikers, Kan koppelen aan

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 wordt uitgevoerd.
  • Controleer of uw Databricks Git-mappen gebruikers machtigingen voor koppelen aan het proxycluster hebben.
  • Voer het activeringsnotitieblok opnieuw uit en leg de resultaten vast, als u dat nog niet hebt gedaan. Als u het probleem niet kunt opsporen, kan databricks-ondersteuning de resultaten bekijken. U kunt het inschakelingsnotitieblok exporteren en verzenden als een DBC-archief.

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 de GIT_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.

    Het modale dialoogvenster databricks waarin u omgevingsvariabelen instelt voor een Git-proxy

  • Fout bij het klonen van opslagplaats met de fout 'Ontbrekende/ongeldige Git-referenties'

    Controleer eerst of u uw Git-referenties hebt geconfigureerd in gebruiker Instellingen.

    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 repo 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 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.

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 normale URL van de 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 opslagplaats. Toegang wordt beperkt door de machtigingen die zijn opgegeven in het door de gebruiker verstrekte persoonlijke toegangstoken (PAT).