Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Wenn Sie einen privaten Git-Server (z. B. GitHub Enterprise Server, Bitbucket Server oder GitLab selbstverwaltet) hosten oder Ihr Git-Server hinter einer Firewall liegt, können Sie den Git-Serverproxy verwenden, um Die Git-Ordner von Databricks mit Ihren privaten Repositorys zu verbinden. Der Proxy leitet Git-Befehle von Ihrem Azure Databricks-Arbeitsbereich über eine Computeressource an Ihren privaten Git-Server weiter.
Informationen zum Git-Server-Proxy
Mit dem Git-Serverproxy für Databricks für Git-Ordner können Sie Git-Proxybefehle aus Ihrem Azure Databricks-Arbeitsbereich auf einen privaten Git-Server übertragen, auf den im Internet nicht zugegriffen werden kann.
Git-Ordner von Databricks stellen Ihre verbundenen Git-Repositorys als Ordner dar. Der Inhalt dieser Ordner wird versionsgesteuert, indem sie mit dem verbundenen Git-Repository synchronisiert werden. Git-Ordner können standardmäßig nur mit Repositorys synchronisiert werden, auf die im Internet zugegriffen werden kann. Wenn Sie einen privaten Git-Server hosten oder Ihr Git-Server hinter einer Firewall liegt, müssen Sie Git-Serverproxy mit Git-Ordnern verwenden. Ihr Git-Server muss von der Azure Databricks-Computeebene aus zugänglich sein.
Funktionsweise des Git-Serverproxys
Git-Server-Proxy für Databricks-Git-Ordner: Proxys leiten Git-Befehle von der Databricks-Steuerebene zu einem im Compute-Bereich Ihres Arbeitsbereichs laufenden Proxy-Cluster weiter. Der Proxycluster ist so konfiguriert, dass ein Proxydienst ausgeführt wird, der Git-Befehle aus der Databricks-Steuerungsebene empfängt und an Ihren Git-Server weiterleitet. Proxys wirken sich nicht auf die Sicherheitsarchitektur Ihrer Databricks-Kontrollebene aus.
Im Folgenden wird die allgemeine Systemarchitektur veranschaulicht:
Wichtig
Databricks stellt ein Enablement-Notizbuch bereit, um Ihre Git-Serverinstanz für Proxybefehle für Git-Ordner von Databricks zu konfigurieren. Laden Sie das Konfigurationsnotebook von GitHub herunter. Der Databricks Git-Server-Proxy ist so konzipiert, dass er mit der in das Konfigurationsnotizbuch aufgenommenen Databricks Runtime-Version arbeitet. Aktualisieren Sie die Databricks-Runtime-Version des Proxyclusters nicht.
Einrichten des Git Server-Proxys
Um private Git-Konnektivität für Git-Ordner für Databricks zu aktivieren, bereiten Sie Ihre Git-Serverinstanz vor, führen Sie das Aktivierungsnotizbuch aus, um den Proxy zu erstellen und Ihre Konfiguration zu überprüfen.
So richten Sie den Git-Serverproxy ein:
- Bereiten Sie Ihre Git-Serverinstanz mit statischen IP-Adressen und HTTPS-Transport vor.
- Führen Sie das Aktivierungsnotizbuch aus, um den Proxycluster zu erstellen.
- Überprüfen Sie Ihre Konfiguration, indem Sie ein Repository klonen.
- Konfigurieren Sie Git-Anmeldeinformationen für Benutzer.
Voraussetzungen
Bevor Sie den Proxy aktivieren, überprüfen Sie Folgendes:
- In Ihrem Arbeitsbereich ist die Funktion für Databricks Git-Ordner aktiviert. Siehe Aktivieren oder Deaktivieren von Git-Ordnern für Databricks.
- Auf Ihre Git-Serverinstanz kann über die Berechnungsebene des Azure Databricks-Arbeitsbereichs auf das Azure-Virtuelle Netzwerk (VNet) zugegriffen werden. Sowohl HTTPS als auch persönliche Zugriffstoken (PATs) sind aktiviert.
Hinweis
Git-Serverproxy für Databricks funktioniert in allen Regionen, die von Ihrem VNet unterstützt werden.
Schritt 1: Vorbereiten der Git-Serverinstanz
Wichtig
Um eine Computeressource zu erstellen und diese Aufgabe abzuschließen, müssen Sie ein Arbeitsbereichsadministrator mit Zugriffsrechten sein.
Konfigurieren Sie Ihren Git-Server, um Verbindungen vom Proxycluster zu akzeptieren und HTTPS-Transport zu aktivieren.
Ihr Unternehmens-Git-Server verfügt in der Regel über eine Zulassungsliste von IP-Adressen, von denen der Zugriff erlaubt ist. Um dem Proxyclustertreiberknoten den Zugriff auf Ihren Git-Server zu ermöglichen, ordnen Sie eine statische ausgehende IP-Adresse für Datenverkehr aus Ihrem Proxycluster zu, und fügen Sie ihn zur Zulassungsliste Ihres Git-Servers hinzu.
- Weisen Sie eine statische ausgehende IP-Adresse für den Datenverkehr aus Ihrem Proxycluster mithilfe der Azure Firewall oder einer Egress-Appliance zu.
- Fügen Sie die IP-Adresse aus dem vorherigen Schritt zur Zulassungsliste Ihres Git-Servers hinzu.
Konfigurieren Sie dann Ihre Git-Serverinstanz so, dass der HTTPS-Transport zulässt:
- GitHub Enterprise: Siehe Welche Remote-URL sollte ich in der GitHub Enterprise-Hilfe verwenden.
- Bitbucket-Server: Klicken Sie auf der Verwaltungsseite des Bitbucket-Servers auf "Servereinstellungen ", und wählen Sie "HTTP(S)" aus.
Schritt 2: Ausführen des Aktivierungsnotebooks
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 aus Ihrem Cloudanbieter auswäht, um den Git-Proxy auszuführen:
Klicken Sie auf Alle ausführen, um das Notebook auszuführen, das die folgenden Aufgaben ausführt:
- Erstellt eine einzelne Knoten-Computeressource namens "Databricks Git Proxy", die nicht automatisch beendet wird. Dieser Proxydienst verarbeitet und leitet Git-Befehle aus Ihrem Azure Databricks-Arbeitsbereich an Ihren privaten Git-Server weiter.
- Aktiviert ein Feature-Flag, das steuert, ob Git-Anfragen in Git-Ordnern von Databricks über die Compute-Instanz weitergeleitet werden.
Erstellen Sie als Best Practice einen Auftrag, um die Git-Proxy-Compute-Ressource regelmäßig auszuführen. Dadurch bleibt der Git-Proxydienst für Ihre Benutzer verfügbar.
Hinweis
Das Ausführen einer zusätzlichen lang laufenden Rechenressource verursacht zusätzliche Databricks-Einheiten (DBUs). Um die Kosten zu minimieren, konfiguriert das Notebook den Proxy für die Verwendung einer Einzel-Knoten-Rechenressource unter Verwendung eines kostengünstigen Knotentyps. Ändern Sie die Berechnungsoptionen entsprechend Ihren Anforderungen. Informationen zu den Preisen finden Sie im Preisrechner für Databricks.
Schritt 3: Überprüfen der Git-Serverkonfiguration
Um Ihre Git-Serverkonfiguration zu überprüfen, klonen Sie ein Repository, das auf Ihrem privaten Git-Server über den Proxycluster gehostet wird. Ein erfolgreicher Klon bestätigt, dass der Git-Serverproxy für Ihren Arbeitsbereich funktioniert.
Schritt 4: Erstellen von proxyfähigen Git-Repositorys
Nachdem Benutzer ihre Git-Anmeldeinformationen konfiguriert haben, sind keine weiteren Schritte erforderlich, um Repositorys zu erstellen oder zu synchronisieren. Informationen zum programmgesteuerten Konfigurieren von Anmeldeinformationen und Zugriffsrepositorys finden Sie unter Konfigurieren von Git-Anmeldeinformationen und Verbinden eines Remote-Repositorys mit Azure Databricks.
Entfernen globaler CAN ATTACH TO-Berechtigungen
Der Git-Serverproxy erfordert CAN ATTACH TO keine Berechtigung für einen Benutzer. Um zu verhindern, dass Benutzer beliebige Workloads auf dem Proxycluster ausführen, beschränken Sie die Berechtigungen für die Clusterzugriffssteuerungsliste (Cluster Access Control List, ACL) auf dem Proxyserver:
Klicken Sie in der Randleiste auf "Berechnen" , und klicken Sie dann auf das
Kebab-Menü neben dem Berechnungseintrag für den Git Server-Proxy, den Sie ausführen.
Klicken Sie auf "Berechtigungen bearbeiten".
Entfernen Sie im Dialogfeld den Eintrag Anfügen an für Alle Benutzer.
Problembehandlung
In diesem Abschnitt werden häufig auftretende Probleme behandelt und beschrieben, wie sie diagnostiziert werden.
Checkliste für gängige Probleme
Bevor Sie mit der Diagnose eines Fehlers beginnen, bestätigen Sie Folgendes:
- Ihr Proxycluster wird mit diesem Git-Proxyserver-Debugnotizbuch ausgeführt.
- Sie sind Arbeitsbereichsadministrator.
Führen Sie den Rest des Debugnotizbuchs aus, und erfassen Sie die Ergebnisse. Wenn Sie das Problem nicht beheben können oder keine gemeldeten Fehler sehen, kann die Databricks-Unterstützung die Ergebnisse überprüfen. Exportieren und senden Sie das Debugnotizbuch bei Bedarf als DBC-Archiv.
Ändern der Git-Proxykonfiguration
Wenn Ihr Git-Proxydienst nicht mit der Standardkonfiguration funktioniert, legen Sie Umgebungsvariablen fest, um Ihre Netzwerkinfrastruktur zu unterstützen.
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 den Pfad zu einer Datei mit einem Zertifikat der Zertifizierungsstelle fest, das für die SSL-Überprüfung verwendet wird. Beispiel: /FileStore/myCA.pem |
GIT_PROXY_HTTP_PROXY |
https://<hostname>:<port #> |
Legen Sie dies auf die HTTPS-URL für den Firewallproxy Ihres Netzwerks für HTTP-Datenverkehr fest. |
GIT_PROXY_CUSTOM_HTTP_PORT |
Portnummer (integer) | Legen Sie dies auf die Portnummer fest, die dem HTTP-Port Ihres Git-Servers zugewiesen ist. |
So legen Sie diese Umgebungsvariablen fest:
- Wechseln Sie zur Registerkarte "Berechnen " in Ihrem Azure Databricks-Arbeitsbereich.
- Wählen Sie die Rechnerkonfiguration für Ihren Git-Proxy-Dienst aus.
- Erweitern Sie unten im Konfigurationsbereich den Bereich Erweitert und wählen Sie die Registerkarte Spark aus.
- Fügen Sie dem Feld "Umgebungsvariablen" Umgebungsvariablen hinzu.
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 muss mit Data-plane proxy server binding to ('', 8000)… beginnen. Wenn es nicht funktioniert, wurde der Proxyserver nicht ordnungsgemäß gestartet. Starten Sie den Cluster neu, oder löschen Sie den Cluster, und führen Sie das Aktivierungsnotizbuch erneut aus.
Wenn die Protokolldatei mit dieser Zeile beginnt, überprüfen Sie die Protokollanweisungen, die für jede Git-Anforderung folgen, die von Git-Vorgängen in Git-Ordnern in Databricks ausgelöst wird.
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.
SSL-Zertifikatfehler
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 SSL problems
Dies bedeutet häufig, dass Sie ein Repository verwenden, das spezielle SSL-Zertifikate erfordert. Überprüfen Sie die /databricks/git-proxy/git-proxy.log Datei im Proxycluster. Wenn die Zertifikatüberprüfung fehlgeschlagen ist, fügen Sie die Zertifizierungsstelle zur Systemzertifikatkette hinzu:
- Extrahieren Sie das Stammzertifikat mit Ihrem Browser oder einer anderen Methode, und laden Sie es in databricks File System hoch.
- Bearbeiten Sie die Git-Ordner Git-Proxycluster , um die
GIT_PROXY_CA_CERT_PATHUmgebungsvariable so festzulegen, dass sie auf die Stammzertifikatdatei verweist. Weitere Informationen finden Sie unter Umgebungsvariablen.
Starten Sie den Cluster neu, nachdem Sie diese Schritte ausgeführt haben.
Häufig gestellte Fragen
Im Folgenden finden Sie allgemeine Fragen zur Konfiguration und Verwendung von Git-Serverproxys.
Wie kann ich überprüfen, ob der Git-Proxy ausgeführt wird?
Importieren und führen Sie das Git-Proxy-Debug-Notizbuch aus. Die Ergebnisse zeigen, ob Probleme mit dem Git-Proxydienst auftreten.
Können Arbeitsbereiche Proxycluster gemeinsam nutzen?
Jeder Azure Databricks-Arbeitsbereich erfordert einen eigenen Proxycluster. Sie können einen Proxycluster nicht für mehrere Arbeitsbereiche freigeben, und jeder Arbeitsbereich kann nur einen Git-Proxyservercluster haben.
Kann ich nur einen Git-Datenverkehr über den Proxy weiterleiten?
Der gesamte Datenverkehr im Zusammenhang mit Databricks-Git-Ordnern wird über den Proxy-Cluster geleitet, auch bei öffentlichen Git-Repositories. Ihr Azure Databricks-Arbeitsbereich unterscheidet nicht zwischen proxybasierten und nicht proxiierten Repositorys.
Welche Git-Anbieter werden unterstützt?
Git-Ordner von Databricks unterstützen GitHub Enterprise, Bitbucket Server, Azure DevOps Server und GitLab selbstverwaltet. Andere Git-Serveranbieter des Unternehmens sollten auch funktionieren, wenn sie den allgemeinen Git-Spezifikationen entsprechen.
Wird das Signieren von Commits mit GNU Privacy Guard (GPG) unterstützt?
Nein
Wird SSH-Transport unterstützt?
Nein Nur HTTPS wird unterstützt.
Kann ich einen nicht standardmäßigen HTTPS-Port verwenden?
Das Aktivierungsnotizbuch setzt voraus, dass Ihr Git-Server den standardmäßigen HTTPS-Port 443 verwendet. Legen Sie die Umgebungsvariable GIT_PROXY_CUSTOM_HTTP_PORT so fest, dass ein anderer Port verwendet wird.
Müssen Benutzer Git-URLs für den Proxy ändern?
Nein Benutzer geben die normale Git-Repository-URL ein, z https://git.company.com/org/repo-name.git. B. . Der gesamte Git-Datenverkehr für Databricks Git-Ordner wird transparent über den Proxy geleitet.
Wie funktioniert die Authentifizierung mit dem Proxy?
Ja, der Proxy verwendet die Git-Anmeldeinformationen des Benutzers, um sich beim Git-Server zu authentifizieren. Der Zugriff ist durch die in diesen Anmeldeinformationen angegebenen Berechtigungen eingeschränkt.