Einrichten der privaten Git-Konnektivität für Azure Databricks-Git-Ordner (Repos)
Hier finden Sie Informationen zu Git Server Proxy für Databricks Git-Ordner und zur zugehörigen Konfiguration. Hierbei handelt es sich um einen konfigurierbaren Dienst, mit dem Sie Git-Befehle von Git-Ordnern des Databricks-Arbeitsbereichs an Ihre lokalen Repositorys senden können, die von GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server und GitLab (selbstverwaltet) bereitgestellt werden.
Hinweis
Benutzer mit einem während der Vorschau konfigurierten Git-Serverproxy für Databricks sollten die Clusterberechtigungen aktualisieren, um eine optimale Leistung zu erzielen. Weitere Informationen finden Sie unter Entfernen globaler CAN_ATTACH_TO-Berechtigungen.
Der Databricks Git Server Proxy wurde speziell für die Version des DBR entwickelt, die im Konfigurationsnotizbuch enthalten ist. Den Benutzern wird davon abgeraten, die DBR-Version des Proxy-Clusters zu aktualisieren.
Was ist Git Server Proxy für Databricks Git-Ordner?
Databricks Git Server Proxy für Databricks Git-Ordner ist ein Feature, mit dem Sie Git-Befehle aus Ihrem Azure Databricks-Arbeitsbereich an einen lokalen Git-Server weiterleiten können.
Databricks Git-Ordner (ehemals Repos) stellen Ihre verknüpften Git-Repositorys als Ordner dar. Die Versionskontrolle für den Inhalt dieser Ordner erfolgt durch die Synchronisierung mit dem verknüpften Git-Repository. Standardmäßig können Databricks Git-Ordner nur mit öffentlichen Git-Anbietern (z. B. öffentliche Versionen von GitHub, GitLab, Azure DevOps und andere) synchronisiert werden. Wenn Sie jedoch Ihren eigenen lokalen Git-Server hosten (z. B. GitHub Enterprise Server, Bitbucket Server oder GitLab (selbstverwaltet)), müssen Sie Git Server Proxy mit Git-Ordnern verwenden, um Databricks Zugriff auf Ihren Git-Server zu gewähren. Auf Ihren Git-Server muss über Ihre Azure Databricks-Datenebene (Treiberknoten) zugegriffen werden können.
Wenn Ihr Unternehmensnetzwerk nur privaten (VPN)-Zugriff (kein öffentlicher Zugriff) ist, müssen Sie einen Git-Serverproxy ausführen, um auf Git-Repositorys zuzugreifen, die sich außerhalb dieses Netzwerks befinden, und Um Git-Ordner zu Ihren Arbeitsbereichen hinzuzufügen.
Wie funktioniert Git Server Proxy für Databricks Git-Ordner?
Git Server Proxy für Databricks Git-Ordner leitet Git-Befehle von der Databricks-Steuerungsebene an einen „Proxycluster“ weiter, der auf der Computeebene Ihres Databricks-Arbeitsbereichs ausgeführt wird. In diesem Zusammenhang ist der Proxycluster ein Cluster, der für die Ausführung eines Proxydiensts für Git-Befehle konfiguriert ist, die von Databricks Git-Ordnern an Ihr selbstgehostetes Git-Repository übermittelt werden. Dieser Proxydienst empfängt Git-Befehle von der Databricks-Steuerebene und leitet sie an Ihre Git-Serverinstanz weiter.
Das folgende Diagramm veranschaulicht die allgemeine Systemarchitektur:
Wichtig
Databricks enthält ein Konfigurationsnotebook, das Sie ausführen können, um Ihre Git-Serverinstanz für die Weiterleitung von Befehlen an Databricks Git-Ordner zu konfigurieren. Laden Sie das Konfigurationsnotebook von GitHub herunter.
Derzeit benötigt ein Git-Serverproxy keine CAN_ATTACH_TO
-Berechtigung für alle Benutzer mehr. Administratoren mit vorhandenen Proxyclustern können jetzt die ACL-Berechtigung des Clusters ändern, um dieses Feature zu aktivieren. Um es zu aktivieren:
Wählen Sie auf der Seitenleiste Compute aus, und klicken Sie dann neben dem Eintrag „Compute“ für den von Ihnen ausgeführten Git-Serverproxy auf das Optionsmenü :
Entfernen Sie im Dialogfeld für Alle Benutzer den Eintrag Kann anfügen an:
Wie richte ich Git Server Proxy für Databricks Git-Ordner ein?
In diesem Abschnitt erfahren Sie, wie Sie Ihre Git-Serverinstanz für Git Server Proxy für Databricks Git-Ordner vorbereiten, den Proxy erstellen und Ihre Konfiguration überprüfen.
Voraussetzungen
Berücksichtigen Sie vor dem Aktivieren des Proxys die folgenden Voraussetzungen und Planungsaufgaben:
- In Ihrem Arbeitsbereich ist das Feature für Databricks Git-Ordner aktiviert.
- Auf Ihre Git-Serverinstanz kann über die Computeebenen-VPC des Azure Databricks-Arbeitsbereichs zugegriffen werden, und sowohl HTTPS als auch persönliche Zugriffstoken (Personal Access Tokens, PATs) sind aktiviert.
Hinweis
Git Server Proxy for Databricks funktioniert in allen Regionen, die von Ihrem VPC unterstützt werden.
Schritt 1: Vorbereiten der Git-Serverinstanz
Wichtig
Sie müssen ein Administrator im Arbeitsbereich mit Zugriffsrechten sein, um eine Computeressource zu erstellen und diese Aufgabe abzuschließen.
So konfigurieren Sie Ihre Git-Serverinstanz:
Erlauben Sie, dass der Treiberknoten des Proxyclusters auf Ihren Git-Server zugreifen kann.
Ihr Git-Unternehmensserver kann über eine
allowlist
von IP-Adressen verfügen, über die der Zugriff erlaubt ist.- Ordnen Sie eine statische ausgehende IP-Adresse für Datenverkehr zu, der aus Ihrem Proxycluster stammt. Verwenden Sie hierfür Azure Firewall oder eine Appliance für ausgehenden Datenverkehr.
- Fügen Sie die IP-Adresse aus dem vorherigen Schritt zur Positivliste Ihres Git-Servers hinzu.
Legen Sie Ihre Git-Serverinstanz so fest, dass der HTTPS-Transport zugelassen wird.
- Informationen zu GitHub Enterprise finden Sie unter Welche Remote-URL sollte ich verwenden? in der GitHub Enterprise-Hilfe.
- Wechseln Sie für Bitbucket zur Verwaltungsseite des Bitbucket-Servers, und wählen Sie die Servereinstellungen aus. Aktivieren Sie im Abschnitt „HTTP(S)-SCM-Hosting“ das Kontrollkästchen HTTP(S) aktiviert.
Schritt 2: Ausführen des Konfigurationsnotebooks
So aktivieren Sie den Proxy:
Melden Sie sich bei Ihrem Azure Databricks-Arbeitsbereich als Arbeitsbereichsadministrator*in mit Zugriffsrechten zum Erstellen eines Clusters an.
Importieren Sie dieses Notizbuch, das den kleinsten Instanztyp auswählt, der von Ihrem Cloudanbieter zum Ausführen des Git-Proxys verfügbar ist:
Klicken Sie auf "Alle ausführen", um das Notizbuch auszuführen, das die folgenden Aufgaben ausführt:
- Erstellt eine einzelne Knoten-Computeressource namens "Databricks Git Proxy", die nicht automatisch beendet wird. Dies ist der Git-Proxy Service, der Git-Befehle aus Ihrem Azure Databricks-Arbeitsbereich verarbeitet und an Ihren lokalen Git-Server weiterleitet.
- Aktivieren Sie ein Featureflag, das steuert, ob Git-Anforderungen in Databricks Git-Ordnern über die Compute-Instanz weitergeleitet werden.
Als bewährte Methode sollten Sie einen einfachen Auftrag erstellen, um die Git-Proxy-Computeressource auszuführen. Dies kann ein einfaches Notizbuch sein, das den Status "Der Git-Proxydienst wird ausgeführt" druckt oder protokolliert. Legen Sie den Auftrag so fest, dass er in regelmäßigen Zeitintervallen ausgeführt wird, um sicherzustellen, dass der Git-Proxydienst für Ihre Benutzer immer verfügbar ist.
Hinweis
Das Ausführen eines zusätzlichen Computeressource mit langer Ausführungsdauer zum Hosten der Proxysoftware führt zu zusätzlichen DBUs. Um die Kosten zu minimieren, konfiguriert das Notebook den Proxy für die Verwendung eine Einzel-Knoten-Computeressource mit einem kostengünstigen Knotentyp. Sie sollten jedoch die Computeoptionen entsprechend Ihren Anforderungen ändern. Weitere Informationen zum Preis von Compute-Instanzen finden Sie im Preisrechner für Databricks.
Schritt 3: Überprüfen der Git-Serverkonfiguration
Um Ihre Git-Serverkonfiguration zu überprüfen, versuchen Sie, ein auf Ihrem privaten Git-Server gehostetes Repository über den Proxycluster zu klonen. Ein erfolgreicher Klonvorgang bedeutet, dass Sie Git Server Proxy für Ihren Arbeitsbereich erfolgreich aktiviert haben.
Schritt 4: Erstellen von proxyfähigen Repositorys
Nachdem die Benutzer*innen ihre Git-Anmeldeinformationen konfiguriert haben, sind keine weiteren Schritte erforderlich, um Repositorys zu erstellen oder zu synchronisieren. Informationen zum Konfigurieren von Anmeldeinformationen sowie zum Erstellen eines Repositorys in Databricks Git-Ordnern finden Sie unter Konfigurieren von Git-Anmeldeinformationen und Verbinden eines Remoterepositorys mit Azure Databricks.
Entfernen globaler CAN_ATTACH_TO-Berechtigungen
Administratoren mit vorhandenen Proxyclustern können jetzt die ACL-Berechtigung des Clusters ändern, um das allgemein verfügbare Verhalten des Git-Serverproxys zu nutzen.
Wenn Sie zuvor Databricks Git-Serverproxy mit CAN_ATTACH_TO
-Berechtigungen konfiguriert haben, führen Sie die folgenden Schritte aus, um diese Berechtigungen zu entfernen:
Wählen Sie auf der Seitenleiste Compute aus, und klicken Sie dann neben dem Eintrag „Compute“ für den von Ihnen ausgeführten Git-Serverproxy auf das Kebabmenü :
Entfernen Sie im Dialogfeld für Alle Benutzer den Eintrag Kann anfügen an:
Problembehandlung
Ist bei der Konfiguration von Git Server Proxy für Databricks Git-Ordner ein Fehler aufgetreten? Nachfolgend finden Sie einige häufige Probleme und Methoden, um sie effektiver zu diagnostizieren.
Checkliste für gängige Probleme
Bevor Sie mit der Diagnose eines Fehlers beginnen, vergewissern Sie sich, dass Sie Folgendes getan haben:
- Vergewissern Sie sich, dass Ihr Proxycluster ausgeführt wird.
- Vergewissern Sie sich, dass Sie ein Arbeitsbereichsadministrator sind.
- Führen Sie das Konfigurationsnotebook erneut aus, und erfassen Sie die Ergebnisse, sofern noch nicht geschehen. Wenn Sie das Problem nicht debuggen können, kann der Databricks-Support die Ergebnisse untersuchen. Sie können das Konfigurationsnotebook als DBC-Archiv exportieren und senden.
Ändern der Git-Proxykonfiguration
Wenn Ihr Git-Proxydienst mit der Standardkonfiguration nicht funktioniert, können Sie bestimmte Umgebungsvariablen festlegen, um sie so zu ändern, dass Ihre Netzwerkinfrastruktur besser unterstützt wird.
Verwenden Sie die folgenden Umgebungsvariablen, um die Konfiguration für Ihren Git-Proxydienst zu aktualisieren:
Umgebungsvariable | Format | Beschreibung |
---|---|---|
GIT_PROXY_ENABLE_SSL_VERIFICATION |
true /false |
Legen Sie das auf false fest, wenn Sie ein selbstsigniertes Zertifikat für Ihren privaten Git-Server verwenden. |
GIT_PROXY_CA_CERT_PATH |
Dateipfad (Zeichenfolge) | Legen Sie das auf den Pfad zu einer Datei mit einem Zertifizierungsstellenzertifikat fest, das für die SSL-Überprüfung verwendet wird. Beispiel: /FileStore/myCA.pem |
GIT_PROXY_HTTP_PROXY |
https://<hostname>:<port #> |
Legen Sie das auf die HTTPS-URL für den Firewallproxy Ihres Netzwerks für HTTP-Datenverkehr fest. |
GIT_PROXY_CUSTOM_HTTP_PORT |
Portnummer (integer) | Legen Sie das auf die Portnummer fest, die dem HTTP-Port Ihres Git-Servers zugewiesen ist. |
Gehen Sie zum Festlegen dieser Umgebungsvariablen in Ihrem Azure Databricks-Arbeitsbereich zur Registerkarte „Compute“ und wählen Sie die Computekonfiguration für Ihren Git-Proxydienst aus. Erweitern Sie unten im Bereich Konfiguration die Erweiterten Optionen und wählen Sie die Registerkarte Spark darunter aus. Legen Sie eine oder mehrere dieser Umgebungsvariablen fest, indem Sie sie im Textbereich Umgebungsvariablen hinzufügen.
Untersuchen von Protokollen im Proxycluster
Die Datei unter /databricks/git-proxy/git-proxy.log
im Proxycluster enthält Protokolle, die für Debuggingzwecke nützlich sind.
Die Protokolldatei sollte mit der Zeile Data-plane proxy server binding to ('', 8000)…
beginnen. Wenn das nicht der Fall ist, bedeutet das, dass der Proxyserver nicht ordnungsgemäß gestartet wurde. Versuchen Sie, den Cluster neu zu starten, oder löschen Sie den von Ihnen erstellten Cluster, und führen Sie das Konfigurationsnotebook erneut aus.
Wenn die Protokolldatei mit dieser Zeile beginnt, überprüfen Sie die darauffolgenden Protokollanweisungen für jede Git-Anforderung, die von einem Git-Vorgang in Databricks Git-Ordnern initiiert wurde.
Zum Beispiel:
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`
Fehlerprotokolle, die in diese Datei geschrieben wurden, können hilfreich sein, um Sie oder den Databricks Support bei Debugproblemen zu unterstützen.
Häufige Fehlermeldungen und deren Behebung
Aufgrund von SSL-Problemen konnte keine sichere Verbindung hergestellt werden
Unter Umständen tritt der folgende Fehler auf:
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
Das bedeutet häufig, dass Sie ein Repository verwenden, das spezielle SSL-Zertifikate erfordert. Überprüfen Sie den Inhalt der
/databricks/git-proxy/git-proxy.log
-Datei im Proxycluster. Wenn die Zertifikatüberprüfung fehlgeschlagen ist, müssen Sie die Zertifizierungsstelle der Systemzertifikatkette hinzufügen. Extrahieren Sie zunächst das Stammzertifikat (über den Browser oder auf anderem Weg), und laden Sie es in DBFS hoch. Bearbeiten Sie dann den Git-Proxycluster für Git-Ordner so, dass mithilfe der UmgebungsvariablenGIT_PROXY_CA_CERT_PATH
auf die Stammzertifikatdatei verwiesen wird. Weitere Informationen zum Bearbeiten von Clusterumgebungsvariablen finden Sie unter Umgebungsvariablen.Nachdem Sie diesen Schritt abgeschlossen haben, starten Sie den Cluster neu.
Fehler beim Klonen des Repositorys mit der Meldung „Fehlende/ungültige Git-Anmeldeinformationen“
Überprüfen Sie zunächst, ob Sie Ihre Git-Anmeldeinformationen in den Benutzereinstellungen konfiguriert haben.
Möglicherweise tritt dieser Fehler auf:
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.
Wenn Ihre Organisation SAML-SSO verwendet, stellen Sie sicher, dass das Token autorisiert wurde (das kann über die Verwaltungsseite des PAT Ihres Git-Servers erfolgen).
Häufig gestellte Fragen
Welche Sicherheitsauswirkungen hat der Git-Serverproxy?
Die wichtigsten Punkte sind:
- Das Proxying wirkt sich nicht auf die Sicherheitsarchitektur Ihrer Databricks-Steuerungsebene aus.
- Sie können nur einen Git-Proxyservercluster pro Arbeitsbereich verwenden.
Wird der gesamte Git-Datenverkehr im Zusammenhang mit Databricks Git-Ordnern über den Proxycluster weitergeleitet (selbst für öffentliche Git-Repositorys)?
Ja. Im aktuellen Release unterscheidet Ihr Azure Databricks-Arbeitsbereich nicht zwischen Repositorys mit und ohne Proxy.
Funktioniert das Git-Proxyfeature mit anderen Anbietern für Git-Unternehmensserver?
Databricks Git-Ordner unterstützen GitHub Enterprise, Bitbucket Server, Azure DevOps Server und GitLab (selbstverwaltet). Andere Anbieter für Git-Unternehmensserver sollten ebenfalls verwendet werden können, wenn sie den allgemeinen Git-Spezifikationen entsprechen.
Unterstützen Databricks Git-Ordner die GPG-Signierung von Commits?
Nein
Unterstützen Databricks Git-Ordner SSH-Transport für Git-Vorgänge?
Nein Nur HTTPS wird unterstützt.
Wird die Verwendung eines vom Standardport abweichenden HTTPS-Ports auf dem Git-Server unterstützt?
Derzeit geht das Konfigurationsnotebook davon aus, dass Ihr Git-Server den HTTPS-Standardport 443 verwendet. Sie können die Umgebungsvariable GIT_PROXY_CUSTOM_HTTP_PORT
festlegen, um den Portwert mit einem bevorzugten Wert zu überschreiben.
Kann ein Proxy für mehrere Arbeitsbereiche freigegeben werden, oder wird ein Proxycluster pro Arbeitsbereich benötigt?
Sie benötigen einen Proxycluster pro Azure Databricks-Arbeitsbereich.
Funktioniert der Proxy mit der älteren Versionsverwaltung eines einzelnen Notebooks?
Nein, der Proxy funktioniert nicht mit der älteren Versionsverwaltung eines einzelnen Notebooks. Benutzer müssen zur Versionsverwaltung von Databricks Git-Ordnern migrieren.
Kann Databricks Git-Server-URLs ausblenden, die weitergeleitet werden? Könnten Benutzer*innen die ursprünglichen Git-Server-URLs anstelle der Proxy-URLs eingeben?
Ja, beides ist möglich. Benutzer*innen müssen das Verhalten ihres Proxys nicht anpassen. Mit der aktuellen Proxyimplementierung wird der gesamte Git-Datenverkehr für Databricks Git-Ordner über den Proxy weitergeleitet. Benutzer*innen geben die normale Git-Repository-URL ein, zum Beispiel https://git.company.com/org/repo-name.git
.
Wie oft arbeiten Benutzer*innen mit den Git-URLs?
Normalerweise würden Benutzer*innen einfach die Git-URL hinzufügen, wenn sie ein neues Repository erstellen oder ein vorhandenes Repository auschecken, das sie noch nicht ausgecheckt haben.
Gibt das Feature die Authentifizierungsdaten transparent an den Git-Server weiter?
Ja, der Proxy verwendet das Git-Servertoken des Benutzerkontos, um sich beim Git-Server zu authentifizieren.
Gibt es Databricks-Zugriff auf Git-Servercode?
Der Azure Databricks-Proxydienst greift mithilfe der durch Benutzer*innen bereitgestellten Anmeldeinformationen auf das Git-Repository auf dem Git-Server zu und synchronisiert alle Codedateien im Repository mit dem Repository. Der Zugriff ist durch die Berechtigungen eingeschränkt, die im benutzerseitig bereitgestellten persönlichen Zugriffstoken (PAT) angegeben sind.