Dela via


Konfigurera privat Git-anslutning för Azure Databricks Git-mappar (Repos)

Lär dig mer om och konfigurera Git-serverproxy för Databricks Git-mappar, en konfigurerbar tjänst som gör att du kan proxyhantera Git-kommandon från Git-mappar för Databricks-arbetsytan till dina lokala Git-lagringsplatser som hanteras av GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server och GitLab självhanterade.

Anmärkning

Användare med en Databricks Git-serverproxy som konfigurerats under förhandsversionen bör uppgradera sina klusterbehörigheter för bästa prestanda. Se Ta bort globala CAN_ATTACH_TO-behörigheter.

Databricks Git-serverproxyn är särskilt utformad för att fungera med den version av Databricks Runtime som ingår i konfigurationsanteckningsboken. Användare avråder från att uppdatera Databricks Runtime-versionen av proxyklustret.

Vad är git-serverproxy för Databricks Git-mappar?

Databricks Git-serverproxy för Git-mappar är en funktion som gör att du kan proxyhantera Git-kommandon från din Azure Databricks-arbetsyta till en lokal Git-server.

Databricks Git-mappar (tidigare Repos) representerar dina anslutna Git-lagringsplatser som mappar. Innehållet i dessa mappar är versionskontrollerat genom att synkronisera dem till den anslutna Git-lagringsplatsen. Som standard kan Git-mappar endast synkroniseras med offentliga Git-leverantörer (till exempel offentliga GitHub, GitLab, Azure DevOps och andra). Men om du är värd för din egen lokala Git-server (till exempel GitHub Enterprise Server, Bitbucket Server eller GitLab självhanterad) måste du använda Git-serverproxy med Git-mappar för att ge Databricks åtkomst till din Git-server. Git-servern måste vara tillgänglig från ditt Azure Databricks-dataplan (drivrutinsnod).

Om ditt företagsnätverk endast är privat (VPN) åtkomst (ingen offentlig åtkomst) måste du köra en Git-serverproxy för att få åtkomst till Git-lagringsplatser som finns utanför den och för att lägga till Git-mappar på dina arbetsytor.

Hur fungerar Git Server Proxy för Databricks Git-mappar?

Git-serverproxy för Databricks Git-mappar förmedlar Git-kommandon från kontrollplanen för Databricks till ett proxykluster som körs i Databricks-arbetsytans beräkningsplan. I det här sammanhanget är proxyklustret ett kluster som konfigurerats för att köra en proxytjänst för Git-kommandon från Databricks Git-mappar till din egen värdbaserade Git-lagringsplats. Den här proxytjänsten tar emot Git-kommandon från Databricks-kontrollplanet och vidarebefordrar dem till din Git-serverinstans.

Diagrammet nedan illustrerar den övergripande systemarkitekturen:

Diagram som visar hur Git Server Proxy för Databricks Git-mappar konfigureras för att köras från en kunds beräkningsplan

För närvarande kräver CAN_ATTACH_TO en Git-serverproxy inte längre behörighet för alla användare. Administratörer med ett befintligt proxykluster kan nu ändra klustrets ACL-behörighet för att aktivera den här funktionen. För att aktivera den:

  1. Välj Compute i sidofältet och klicka sedan på menyikonen för kebab. Kebab-menyn bredvid posten Compute för Git Server-proxyn som du kör:

    Välj beräkning från sidopanelen väljer du kebab till höger om din Git-proxyservers beräkningsresurs

  2. I dialogrutan tar du bort posten Kan koppla till för Alla användare:

    I den modala dialogrutan som visas klickar du på X till höger om Alla användare, Kan koppla till

Hur konfigurerar jag Git Server Proxy för Databricks Git-mappar?

I det här avsnittet beskrivs hur du förbereder git-serverinstansen för Git-serverproxy för Databricks Git-mappar, skapar proxyn och validerar konfigurationen.

Innan du börjar

Innan du aktiverar proxyn kontrollerar du att:

  • Din arbetsyta har funktionen Databricks Git-mappar aktiverad.
  • Git-serverinstansen är tillgänglig från din Azure Databricks-arbetsytas beräkningsplattformens VPC och har både HTTPS och personliga åtkomsttoken (PAT:er) aktiverade.

Anmärkning

Git-serverproxy för Databricks fungerar i alla regioner som stöds av din VPC.

Steg 1: Förbereda git-serverinstansen

Viktigt!

Du måste vara administratör på arbetsytan med åtkomstbehörighet för att kunna skapa en beräkningsresurs och slutföra den här uppgiften.

Så här konfigurerar du git-serverinstansen:

  1. Ge proxyklustrets nod för drivrutiner åtkomst till din Git-server.

    Din Git-företagsserver kan ha en allowlist ip-adress som åtkomst tillåts från.

    1. Associera en statisk utgående IP-adress för trafik som kommer från proxyklustret. Du kan göra detta genom att använda Azure Firewall eller en utgående enhet.
    2. Lägg till IP-adressen från föregående steg i git-serverns lista över tillåtna.
  1. Ställ in git-serverinstansen så att HTTPS-transport tillåts.
    • För GitHub Enterprise, se Vilken fjärr-URL ska jag använda i GitHub Enterprise-hjälpen.
    • För Bitbucket går du till administrationssidan för Bitbucket-servern och väljer serverinställningar. I avsnittet HTTP(S) SCM-hosting aktiverar du kryssrutan HTTP(S) aktiverad.

Steg 2: Kör notebook-filen för aktivering

Så här aktiverar du proxyn:

  1. Logga in på din Azure Databricks-arbetsyta som arbetsyteadministratör med åtkomstbehörighet för att skapa ett kluster.

  2. Importera den här notebook-filen, som väljer den minsta instanstyp som är tillgänglig från molnleverantören för att köra Git-proxyn.:

    Notebook: Aktivera Git-serverproxy för Databricks Git-mappar för privat Git-serveranslutning i Git-mappar.

  3. Klicka på Kör alla för att köra anteckningsboken, som utför följande uppgifter:

    • Skapar en beräkningsresurs med en nod med namnet "Databricks Git Proxy", som inte avslutas automatiskt. Det här är Git-proxytjänsten som bearbetar och vidarebefordrar Git-kommandon från din Azure Databricks-arbetsyta till din lokala Git-server.
    • Aktiverar en funktionsflagga som styr om Git-begäranden i Databricks Git-mappar ska skickas via beräkningsinstansen.

    Som bästa praxis bör du överväga att skapa ett enkelt jobb för att köra Git-proxyberäkningsresursen. Det kan vara en enkel anteckningsbok som skriver ut eller loggar status, till exempel "Git-proxytjänsten körs". Ange att jobbet ska köras med regelbundna tidsintervall för att säkerställa att Git-proxytjänsten alltid är tillgänglig för dina användare.

Anmärkning

Att köra en ytterligare långvarig beräkningsresurs för att hysa proxyprogramvaran medför extra DBU:er. För att sänka kostnaderna konfigurerar notebooken proxyn så att den använder en beräkningsresurs med en enda nod av en billig typ. Du kanske dock vill ändra beräkningsalternativen så att de passar dina behov. Mer information om prissättning för beräkningsinstanser finns i priskalkylatorn för Databricks.

Steg 3: Verifiera git-serverkonfigurationen

Om du vill verifiera din Git-serverkonfiguration försöker du klona en lagringsplats som finns på din privata Git-server via proxyklustret. En lyckad klon innebär att du har aktiverat Git-serverproxy för din arbetsyta.

Steg 4: Skapa proxyaktiverade Git-lagringsplatser

När användarna har konfigurerat sina Git-autentiseringsuppgifter krävs inga ytterligare steg för att skapa eller synkronisera dina lagringsplatser. Information om hur du konfigurerar autentiseringsuppgifter och åtkomst till lagringsplatserna för Dina Git-mappar finns i Konfigurera Git-autentiseringsuppgifter & ansluta en fjärrlagringsplats till Azure Databricks.

Ta bort behörigheter för globala CAN_ATTACH_TO

Administratörer med ett befintligt proxykluster kan nu ändra klustrets ACL-behörighet för att utnyttja allmänt tillgängliga Git-serverproxybeteenden.

Om du tidigare har konfigurerat Databricks Git-serverproxy med CAN_ATTACH_TO behörigheter använder du följande steg för att ta bort dessa behörigheter:

  1. Välj Compute i sidofältet och klicka sedan på kebabmenyikonen. Kebabmenyn bredvid Compute-posten för Git-serverproxyn som du kör:

    Välj beräkning från sidopanelen väljer du kebab till höger om din Git-proxyservers beräkningsresurs

  2. I dialogrutan tar du bort posten Kan koppla till för Alla användare:

    I den modala dialogrutan som visas klickar du på X till höger om Alla användare, Kan koppla till

Felsökning

Stötte du på ett fel när du konfigurerade Git-serverproxy för Databricks Git-mappar? Här följer några vanliga problem och sätt att diagnostisera dem mer effektivt.

Checklista för vanliga problem

Innan du börjar diagnostisera ett fel kontrollerar du att du har slutfört följande steg:

  • Bekräfta att din proxykluster körs med denna debug-notebook för Git-proxyservern .
  • Bekräfta att du är arbetsyteadministratör.
  • Kör resten av felsökningsanteckningsboken och samla in resultaten. Om du inte kan felsöka problemet eller inte ser några fel som rapporterats från felsökningsanteckningsboken kan Databricks-supporten granska resultaten. Du kan exportera och skicka felsökningsanteckningsboken som ett DBC-arkiv om det begärs.

Ändra din Git-proxykonfiguration

Om din Git-proxytjänst inte fungerar med standardkonfigurationen kan du ange specifika miljövariabler för att göra ändringar i den för att bättre stödja nätverksinfrastrukturen.

Använd följande miljövariabler för att uppdatera konfigurationen för git-proxytjänsten:

Miljövariabel Format Beskrivning
GIT_PROXY_ENABLE_SSL_VERIFICATION true/false Ange detta till false om du använder ett självsignerat certifikat för din privata Git-server.
GIT_PROXY_CA_CERT_PATH Filväg (sträng) Ange sökvägen till en CA-certifikatfil som används för SSL-verifiering. Exempel: /FileStore/myCA.pem
GIT_PROXY_HTTP_PROXY https://<hostname>:<port #> Ställ in detta på HTTPS-URL:en för nätverkets brandväggsproxy för HTTP-trafik.
GIT_PROXY_CUSTOM_HTTP_PORT Portnummer (heltal) Ange det här till det portnummer som tilldelats till Git-serverns HTTP-port.

Om du vill ange dessa miljövariabler går du till fliken Beräkning på din Azure Databricks-arbetsyta och väljer beräkningskonfigurationen för git-proxytjänsten. Längst ned i fönstret Konfiguration expanderar du Avancerat och väljer fliken Spark under den. Ange en eller flera av dessa miljövariabler genom att lägga till dem i Miljövariabler textområde.

Databricks-beräkningskonfigurationssidan där du anger miljövariabler för en Git-proxy

Granska loggar i proxyklustret

Filen på /databricks/git-proxy/git-proxy.log i proxyklustret innehåller loggar som är användbara för felsökning.

Loggfilen bör börja med raden Data-plane proxy server binding to ('', 8000)…. Om den inte gör det innebär det att proxyservern inte startade korrekt. Prova att starta om klustret eller ta bort klustret som du skapade och kör notebook-filen för aktivering igen.

Om loggfilen börjar med den här raden granskar du logginstruktionerna som följer den för varje Git-begäran som initieras av en Git-åtgärd i Databricks Git-mappar.

Till exempel:

  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`

Felloggar som skrivits till den här filen kan vara användbara för att hjälpa dig eller Databricks Support att felsöka problem.

Vanliga felmeddelanden och deras lösning

  • Det gick inte att upprätta en säker anslutning på grund av SSL-problem

    Du kan se följande fel:

      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
    

    Det innebär ofta att du använder en lagringsplats som kräver särskilda SSL-certifikat. Kontrollera innehållet i /databricks/git-proxy/git-proxy.log filen i proxyklustret. Om det står att certifikatverifieringen misslyckades måste du lägga till certifikatet för utfärdare i systemcertifikatkedjan. Extrahera först rotcertifikatet (med hjälp av webbläsaren eller något annat alternativ) och ladda upp det till DBFS. Redigera sedan Git-mapparnas Git Proxy-kluster för att använda GIT_PROXY_CA_CERT_PATH miljövariabeln för att peka på rotcertifikatfilen. Mer information om hur du redigerar klustermiljövariabler finns i Miljövariabler.

    När du har slutfört det steget startar du om klustret.

  • Det gick inte att klona lagringsplatsen med felet "Saknade/ogiltiga Git-autentiseringsuppgifter"

    Kontrollera först att du har konfigurerat dina Git-autentiseringsuppgifter i Användarinställningar.

    Det här felet kan uppstå:

      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.
    

    Om din organisation använder SAML SSO kontrollerar du att token har auktoriserats (detta kan göras från git-serverns hanteringssida för personlig åtkomsttoken (PAT).

Vanliga frågor

Vilket är det enklaste sättet att ta reda på om Git-proxyservern körs?

Importera och kör git-proxyns felsökningsanteckningsbok. Resultatet av notebook-körningen visar om det finns problem med Git-proxytjänsten.

Vilka säkerhetskonsekvenser har Git-serverproxyn?

  • Proxying påverkar inte säkerhetsarkitekturen för Databricks-kontrollplanet.
  • Du kan bara ha ett Git-proxyserverkluster per arbetsyta.

Ja. Din Azure Databricks-arbetsyta skiljer inte mellan proxierade och icke-proxierade lagringsplatser.

Fungerar Git-proxyfunktionen med andra Git Enterprise-serverprovidrar?

Databricks Git-mappar stödjer GitHub Enterprise, Bitbucket Server, Azure DevOps Server och GitLab som är självhanterade. Andra Git-serverproviders för företag bör också fungera om de överensstämmer med vanliga Git-specifikationer.

Stöder Databricks Git-mappar GPG-signering av incheckningar?

Nej.

Stöder Databricks Git-mappar SSH-transport för Git-åtgärder?

Nej. Endast HTTPS stöds.

Stöds användningen av en icke-standard HTTPS-port på Git-servern?

För närvarande förutsätter notebook-filen för aktivering att Git-servern använder HTTPS-standardporten 443. Du kan ange miljövariabeln GIT_PROXY_CUSTOM_HTTP_PORT för att skriva över portvärdet med ett önskat värde.

Kan du dela en proxy för flera arbetsytor eller behöver du ett proxykluster per arbetsyta?

Du behöver ett proxykluster per Azure Databricks-arbetsyta.

Kan Databricks dölja Git-server-URL:er som är proxierade? Kan användarna ange de ursprungliga Url:erna för Git-servern i stället för proxierade URL:er?

Ja till båda frågorna. Användarna behöver inte justera sitt beteende för proxyn. Med den aktuella proxyimplementeringen dirigeras all Git-trafik för Databricks Git-mappar via proxyn. Användarna anger den normala Url:en för Git-lagringsplatsen, till exempel https://git.company.com/org/repo-name.git.

Har funktionen transparent proxyautentiseringsdata till Git-servern?

Ja, proxyn använder användarkontots Git-servertoken för att autentisera till Git-servern.

Finns det Databricks-åtkomst till Git-serverkod?

Azure Databricks-proxytjänsten har åtkomst till Git-lagringsplatsen på Git-servern med hjälp av användarspecifika autentiseringsuppgifter och synkroniserar alla kodfiler på lagringsplatsen med Git-mappen. Åtkomsten begränsas av de behörigheter som anges i den personliga åtkomsttoken (PAT) som tillhandahålls av användaren.