Sdílet prostřednictvím


Nastavení privátního připojení Gitu pro složky Git Azure Databricks (Repos)

Přečtěte si a nakonfigurujte proxy serveru Git pro složky Git, které umožňují proxy příkazy Gitu ze složek Databricks Git do privátních úložišť Git, ke kterým není možné přistupovat z internetu.

Co je proxy serveru Git pro složky Databricks Git?

Proxy serveru Git Databricks pro složky Git je funkce, která umožňuje proxy příkazy Gitu z pracovního prostoru Azure Databricks na privátní server Git. Server Git je soukromý, pokud k němu není možné přistupovat na internetu.

Databricks složky Git (dříve Repos) představují vaše připojená úložiště Git ve formě složek. Obsah těchto složek je verzovaný synchronizací s připojeným Git úložištěm. Složky Gitu se ve výchozím nastavení můžou synchronizovat jenom s složkami, které jsou přístupné na internetu. Pokud hostujete vlastní privátní server Git (například GitHub Enterprise Server, Bitbucket Server nebo GitLab, který je spravovaný samostatně) nebo pokud je váš server Git za bránou firewall, musíte použít proxy serveru Git se složkami Gitu, abyste mohli databricks získat přístup k vašemu serveru Git a server Git musí být přístupný z výpočetní roviny Azure Databricks.

Jak funguje proxy serveru Git pro složky Databricks Git?

Proxy serveru Git pro proxy složky Gitu Databricks z řídicí roviny Databricks do proxy clusteru spuštěného ve výpočetní rovině pracovního prostoru Databricks. V tomto kontextu je proxy cluster nakonfigurovaný tak, aby spustil službu proxy pro příkazy Gitu ze složek Databricks Git do místního úložiště Git. Proxování nemá vliv na architekturu zabezpečení řídicí roviny Databricks. Tato proxy služba přijímá příkazy Gitu z řídicí roviny Databricks a předává je do vaší instance serveru Git.

Následující diagram znázorňuje celkovou systémovou architekturu:

Diagram ukazující, jak je proxy server Git pro složky Databricks nakonfigurován pro spuštění z výpočetní roviny zákazníka

Důležité

Databricks poskytuje poznámkový blok pro nastavení, který můžete spustit k nakonfigurování instance serveru Git tak, aby služba proxy zpracovávala příkazy pro složky Git Databricks. Získat poznámkový blok pro povolení na GitHubu. Proxy serveru Git Databricks je speciálně navržené tak, aby fungovalo s verzí Databricks Runtime, která je součástí konfiguračního poznámkového bloku. Neaktualizovat verzi Databricks Runtime clusteru proxy.

Nastavení proxy serveru Git pro složky Git Databricks

Pokud chcete povolit privátní připojení Gitu pro složky Git Databricks, připravte instanci serveru Git, spusťte poznámkový blok povolení a vytvořte proxy server a ověřte konfiguraci.

Požadavky

Před povolením proxy serveru ověřte následující:

  • Váš pracovní prostor má povolenou funkci složek Git Databricks.
  • Instance vašeho serveru Git je přístupná z výpočetní roviny ve virtuální síti Azure (VNet) pracovního prostoru Azure Databricks a má povolené jak HTTPS, tak osobní přístupové tokeny (PAT).

Poznámka:

Proxy serveru Git pro Databricks funguje ve všech oblastech podporovaných vaší virtuální sítí.

Krok 1: Příprava instance serveru Git

Důležité

Pokud chcete vytvořit výpočetní prostředek a dokončit tuto úlohu, musíte být správcem pracovního prostoru s přístupovými právy.

Nakonfigurujte server Git tak, aby přijímal připojení z proxy clusteru a povolil přenos HTTPS.

Podnikový server Git má obvykle seznam povolených IP adres, ze kterých je povolený přístup. Pokud chcete uzlu ovladače proxy clusteru povolit přístup k vašemu serveru Git, přidružte statickou odchozí IP adresu pro provoz pocházející z vašeho proxy clusteru a přidejte ho do seznamu povolených serverů Git.

  1. Přidružte statickou odchozí IP adresu pro provoz pocházející z vašeho proxy clusteru pomocí služby Azure Firewall nebo výchozího zařízení.
  2. Přidejte IP adresu z předchozího kroku do seznamu povolených serverů Git.

Pak nakonfigurujte instanci serveru Git tak, aby umožňovala přenos HTTPS:

  • GitHub Enterprise: Podívejte se , kterou vzdálenou adresu URL mám použít v nápovědě k GitHubu Enterprise.
  • Bitbucket Server: Na stránce administrace serveru Bitbucket klikněte na Nastavení serveru a vyberte HTTP(S) povoleno.

Krok 2: Spuštění povolovacího poznámkového bloku

Povolení proxy serveru:

  1. Přihlaste se k pracovnímu prostoru Azure Databricks jako správce pracovního prostoru s přístupovými právy k vytvoření clusteru.

  2. Naimportujte tento poznámkový blok, který zvolí nejmenší typ instance, který je k dispozici od poskytovatele cloudu pro spuštění proxy serveru Git:

    Poznámkový blok: Povolení proxy serveru pro připojení ke Git serverům Databricks ve složkách Git pro privátní připojení ke Git serveru.

  3. Kliknutím na Spustit všechny spusťte poznámkový blok, který provádí následující úlohy:

    • Vytvoří výpočetní prostředek s jedním uzlem s názvem "Databricks Git Proxy", který se automaticky neukončí. Toto je služba proxy gitu, která bude zpracovávat a předávat příkazy Gitu z vašeho pracovního prostoru Azure Databricks na váš privátní server Git.
    • Povolí příznak funkce, který určuje, jestli se požadavky Gitu ve složkách Databricks Gitu přesměrovávají přes výpočetní instanci.

    Osvědčeným postupem je vytvořit jednoduchou úlohu pro spuštění výpočetního prostředku proxy gitu. Může se jednat o jednoduchý poznámkový blok, který vytiskne nebo zapíše stav protokolů, například služba proxy Gitu je spuštěná. Nastavte úlohu tak, aby běžela v pravidelných časových intervalech, aby se zajistilo, že je služba proxy gitu vždy dostupná pro vaše uživatele.

Poznámka:

Spuštění dalšího dlouhotrvajícího výpočetního prostředku pro hostování proxy softwaru způsobuje další jednotky DBU. Aby se minimalizovaly náklady, poznámkový blok nakonfiguruje proxy server tak, aby používal výpočetní prostředek s jedním uzlem s levným typem uzlu. Možná ale budete chtít upravit možnosti výpočetních prostředků tak, aby vyhovovaly vašim potřebám. Další informace o cenách výpočetních instancí najdete v cenové kalkulačce Databricks.

Krok 3: Ověření konfigurace serveru Git

Pokud chcete ověřit konfiguraci serveru Git, zkuste klonovat úložiště hostované na privátním serveru Git prostřednictvím proxy clusteru. Úspěšný klon znamená, že jste pro svůj pracovní prostor úspěšně povolili proxy serveru Git.

Krok 4: Vytvoření úložišť Git s podporou proxy serveru

Po konfiguraci přihlašovacích údajů Gitu se k vytvoření nebo synchronizaci úložišť nevyžadují žádné další kroky. Informace o konfiguraci přihlašovacích údajů a přístupu k úložištím pro složky Gitu prostřednictvím kódu programu najdete v tématu Konfigurace přihlašovacích údajů Gitu & připojení vzdáleného úložiště k Azure Databricks.

Odstranit globální oprávnění CAN_ATTACH_TO

Proxy serveru Git nevyžaduje CAN_ATTACH_TO oprávnění pro žádného uživatele. Aby uživatelé nemohli na proxy clusteru spouštět libovolné úlohy a způsobovat problémy se spolehlivostí, měli by správci omezit oprávnění seznamu ACL clusteru na proxy serveru:

  1. Na bočním panelu vyberte Compute a potom klikněte na ikonu nabídky Kebab. Nabídka kebab vedle položky Compute pro proxy Git Serveru, který používáte:

    Vyberte výpočetní prostředky na bočním panelu, vyberte kebab napravo od výpočetního prostředku proxy serveru Git

  2. V dialogovém okně odeberte položku Lze připojit k pro Všichni Uživatelé:

    V modálním dialogovém okně, které se zobrazí, klikněte na X napravo od položky

Řešení problému

Došlo k chybě při konfiguraci proxy serveru Git pro složky Git Databricks? Tady jsou některé běžné problémy a způsoby, jak je efektivněji diagnostikovat.

Kontrolní seznam pro běžné problémy

Než začnete s diagnostikou chyby, ověřte, že jste dokončili následující kroky:

  • Ověřte, že je váš proxy cluster spuštěný s tímto poznámkovým blokem ladění proxy serveru Git.
  • Potvrďte, že jste správcem pracovního prostoru.
  • Spusťte zbývající poznámkový blok ladění a zachyťte výsledky. Pokud se vám problém nedaří opravit nebo se nezobrazují žádná selhání hlášená z ladicího poznámkového bloku, může podpora Databricks zkontrolovat výsledky. V případě potřeby můžete poznámkový blok ladění exportovat a odeslat jako archiv DBC.

Změna konfigurace proxy serveru Git

Pokud vaše služba proxy gitu nefunguje s výchozí konfigurací, můžete nastavit konkrétní proměnné prostředí, které budou lépe podporovat vaši síťovou infrastrukturu.

Pomocí následujících proměnných prostředí aktualizujte konfiguraci pro váš Git proxy server.

Proměnná prostředí Formát Popis
GIT_PROXY_ENABLE_SSL_VERIFICATION true/false Tuto možnost nastavte na false, pokud pro privátní server Git používáte certifikát podepsaný svým držitelem.
GIT_PROXY_CA_CERT_PATH Cesta k souboru (řetězec) Nastavte ji na cestu k souboru certifikátu certifikační autority použitému k ověření SSL. Příklad: /FileStore/myCA.pem
GIT_PROXY_HTTP_PROXY https://<hostname>:<port #> Nastavte ji na adresu URL HTTPS pro proxy brány firewall vaší sítě pro provoz HTTP.
GIT_PROXY_CUSTOM_HTTP_PORT Číslo portu (celé číslo) Nastavte ho na číslo portu přiřazeného portu HTTP serveru Git.

Pokud chcete nastavit tyto proměnné prostředí, přejděte na kartu Compute v pracovním prostoru Azure Databricks a vyberte konfiguraci výpočetních prostředků pro vaši službu proxy Gitu. V dolní části podokna Konfigurace rozbalte položku Upřesnit a vyberte pod ní kartu Spark . Nastavte jednu nebo více těchto proměnných prostředí tak, že je přidáte do Proměnné prostředí textové oblasti.

konfigurační stránka výpočetních prostředků Databricks, kde nastavíte proměnné prostředí pro proxy Git

Kontrola protokolů v clusteru proxy

Soubor /databricks/git-proxy/git-proxy.log v clusteru proxy obsahuje protokoly, které jsou užitečné pro účely ladění.

Soubor protokolu by měl začínat řádkem Data-plane proxy server binding to ('', 8000)…. Pokud ne, znamená to, že se proxy server nespustí správně. Zkuste restartovat cluster nebo odstranit cluster, který jste vytvořili, a znovu spusťte poznámkový blok pro povolení.

Pokud soubor protokolu začíná tímto řádkem, projděte si příkazy protokolu, které následují za tímto řádkem pro každý požadavek Git iniciovaný operací Gitu ve složkách Git Databricks.

Příklad:

  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`

Protokoly chyb zapsané do tohoto souboru můžou být užitečné pro vás nebo podporu Databricks při ladění problémů.

Běžné chybové zprávy a jejich řešení

  • Zabezpečené připojení nebylo možné navázat kvůli problémům s protokolem SSL.

    Může se zobrazit následující chyba:

      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
    

    Často to znamená, že používáte úložiště, které vyžaduje speciální certifikáty SSL. Zkontrolujte obsah /databricks/git-proxy/git-proxy.log souboru v clusteru proxy. Pokud se zobrazí zpráva, že ověření certifikátu selhalo, musíte přidat certifikát autority do systémového řetězu certifikátů. Nejprve extrahujte kořenový certifikát (pomocí prohlížeče nebo jiné možnosti) a nahrajte ho do DBFS. Potom upravte cluster složek Git Proxy tak, aby používal proměnnou GIT_PROXY_CA_CERT_PATH prostředí pro odkazování na soubor kořenového certifikátu. Další informace o úpravách proměnných prostředí clusteru najdete v tématu Proměnné prostředí.

    Po dokončení kroku restartujte cluster.

Nejčastější dotazy

Jak zjistím, jestli je proxy server Gitu spuštěný v pracovním prostoru?

Importujte a spusťte ladicí poznámkový blok proxy serveru Git. Výsledky spuštění poznámkového bloku ukazují, jestli jsou problémy s proxy službou Git.

Může několik pracovních prostorů sdílet jeden proxy cluster? Může mít pracovní prostor více clusterů proxy?

Potřebujete jeden proxy cluster na jeden pracovní prostor Azure Databricks a nemůžete ho sdílet mezi více pracovními prostory. V každém pracovním prostoru můžete mít jenom jeden cluster proxy serveru Git.

Mohl by proxy cluster směrovat jenom části provozu Gitu?

Veškerý provoz Gitu související se složkami Gitu databricks se směruje přes proxy cluster, a to i pro veřejná úložiště Git. Váš pracovní prostor Azure Databricks nerozlišuje mezi proxy a nepřexiovanými úložišti.

Funguje funkce proxy serveru Git s jinými poskytovateli serveru Git Enterprise?

Složky Git Databricks podporují GitHub Enterprise, Bitbucket Server, Azure DevOps Server a GitLab, které se spravují samostatně. Ostatní podnikoví poskytovatelé serverů Git by měli fungovat i v případě, že vyhovují běžným specifikacím Gitu.

Podporují Databricks Git složky podepisování potvrzení pomocí GPG?

Ne.

Podporují Databricks Git složky přenos přes SSH pro gitové operace?

Ne. Podporuje se jenom HTTPS.

Podporuje se použití jiného než výchozího portu HTTPS na serveru Git?

V současné době poznámkový blok povolení předpokládá, že váš server Git používá výchozí port HTTPS 443. Proměnnou prostředí můžete nastavit GIT_PROXY_CUSTOM_HTTP_PORT tak, aby přepsala hodnotu portu upřednostňovanou hodnotou.

Může Databricks skrýt adresy URL serveru Git, které jsou proxiedované? Mohou uživatelé místo proxy adres URL serveru Git zadat původní adresy URL serveru Git?

Ano na obě otázky. Uživatelé nemusí upravovat chování proxy serveru. Při aktuální implementaci proxy serveru se veškerý provoz Gitu pro složky Databricks Git směruje přes proxy server. Uživatelé zadají normální adresu URL úložiště Git, například https://git.company.com/org/repo-name.git.

Transparentně přenáší tato funkce ověřovací data k serveru Git?

Ano, proxy používá přihlašovací údaje Git uživatelského účtu k ověření na serveru Git. Přístup je omezený oprávněními uvedenými v přihlašovacích údajích Git uživatele.