Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis 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.
Wann der Git-Serverproxy verwendet werden sollte
Verwenden Sie die folgenden Anleitungen, um zu bestimmen, ob Sie Git-Serverproxy einrichten müssen:
- Sie benötigen Git-Serverproxy, wenn Ihr Git-Server privat, lokal oder hinter einer Firewall liegt, z. B. GitHub Enterprise Server, Bitbucket Server, GitLab selbstverwaltet oder Azure DevOps Server.
- Sie benötigen keinen Git-Server-Proxy, wenn Ihre Repositories über das öffentliche Internet zugänglich sind, wie z. B. GitHub.com, GitLab.com, Bitbucket Cloud oder Azure DevOps Services.
Nachdem Sie den Proxy aktiviert haben, wird der gesamte Datenverkehr für Git-Ordner in Ihrem Arbeitsbereich über den Proxycluster geleitet, einschließlich öffentlicher Repositorys.
Funktionsweise des Git-Serverproxys
Der Git-Serverproxy für Databricks Git-Ordner leitet Git-Befehle von der Databricks-Steuerungsebene als Proxy an einen Proxycluster weiter, der auf der Compute-Ebene Ihres Arbeitsbereichs ausgeführt wird. 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.
Das folgende Diagramm zeigt die Systemarchitektur:
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.
Richte einen Git-Server-Proxy ein
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.
- Ihre Git-Serverinstanz ist über das virtuelle Azure-Netzwerk (VNet) der Compute-Ebene Ihres Azure Databricks-Arbeitsbereichs erreichbar, und sowohl HTTPS als auch persönliche Zugriffstoken (Personal Access Tokens, 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 Compute-Ressource zu erstellen und diese Aufgabe zu erfüllen, musst du ein Workspace-Admin mit der Berechtigung sein, Compute zu erstellen.
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.
- Ordnen Sie dem Datenverkehr, der von Ihrem Proxycluster ausgeht, eine statische ausgehende IP-Adresse zu, indem Sie Azure Firewall oder eine Egress-Appliance verwenden.
- 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 als Workspace-Administrator mit Zugriffsrechten in Ihrem Azure Databricks Workspace an, um einen Cluster zu erstellen.
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 Notizbuch auszuführen, das die folgenden Aufgaben ausführt:
- Erstellt eine Einzelknoten-Rechenressource namens Repos Git Proxy, die nicht automatisch terminiert. Dieser Proxydienst verarbeitet und leitet Git-Befehle aus Ihrem Azure Databricks-Arbeitsbereich an Ihren privaten Git-Server weiter.
- Aktiviert ein Featureflag, das steuert, ob Git-Anforderungen in Databricks Git-Ordnern über die Compute-Instanz weitergeleitet werden.
Als Best Practice empfiehlt es sich, einen Auftrag zu erstellen, um die Git-Proxy-Computeressource nach einem regelmäßigen Zeitplan auszuführen. Dadurch bleibt der Git-Proxydienst für Ihre Benutzer verfügbar.
Wichtig
Die Compute-Ressource des Git-Proxys muss den dedizierten Zugriffsmodus verwenden. Wenn die Rechenressource den Standardzugriffsmodus verwendet, ändere sie so, dass sie den dedizierten Zugriffsmodus verwendet, und starte sie dann neu.
Hinweis
Durch das Ausführen einer zusätzlichen, lang laufenden Computeressource fallen zusätzliche Databricks Units (DBUs) an. 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 Verbinden Ihres Git-Anbieters mit Databricks.
Entfernen globaler CAN ATTACH TO-Berechtigungen
Für den Git-Serverproxy ist die Berechtigung CAN ATTACH TO für keinen Benutzer erforderlich. 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 Seitenleiste auf Compute und dann auf Repos Git Proxy.
Klicken Sie auf das
Kebab-Menü und dann auf "Berechtigungen".
Entfernen Sie im Dialogfeld den Eintrag Kann angefügt werden an für Alle Arbeitsbereichsbenutzer.
Problembehandlung
In diesem Abschnitt werden häufig auftretende Probleme behandelt und beschrieben, wie sie diagnostiziert werden.
Prüfliste für häufige Probleme
Bevor Sie mit der Diagnose eines Fehlers beginnen, bestätigen Sie Folgendes:
- Dein Proxy-Cluster läuft. Um das zu überprüfen, führe das Git-Proxy-Server-Debug-Notebook aus.
- Du bist ein Workspace-Administrator.
Führen Sie den Rest des Debugnotizbuchs aus, und erfassen Sie die Ergebnisse. Wenn Sie das Problem nicht lösen können oder keine gemeldeten Fehler sehen, kann der Databricks-Support 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 hier den Pfad zu einer Zertifizierungsstellenzertifikatdatei fest, die für die SSL-Verifizierung 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.
Überprüfen von Protokollen im Proxycluster
Die Datei auf dem Proxy-Cluster unter /databricks/git-proxy/git-proxy.log enthält Debugging-Protokolle.
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
Du oder der Databricks-Support kann die Fehlerprotokolle in dieser Datei verwenden, um Probleme zu debuggen.
SSL-Zertifikatfehler
Unter Umständen tritt der folgende Fehler auf:
https://git.example.com/org/repo-name: Secure connection to https://git.example.com/org/repo-name 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.
- Bearbeite die Repos Git Proxy-Compute-Ressource, um die Umgebungsvariable
GIT_PROXY_CA_CERT_PATHso zu setzen, dass sie auf die Root-Zertifikatsdatei zeigt. 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 die GNU Privacy Guard (GPG)-Signatur 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. B. https://git.company.com/org/repo-name.git. Der gesamte Git-Datenverkehr für Databricks Git-Ordner wird transparent über den Proxy geleitet.
Wie funktioniert die Authentifizierung mit dem Proxy?
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.