Udostępnij za pośrednictwem


Konfigurowanie prywatnej łączności git dla folderów Git usługi Azure Databricks (Repos)

Dowiedz się więcej o konfigurowalnym serwerze proxy dla folderów Git w usłudze Databricks, który umożliwia proxy'owanie poleceń Git z folderów Git w obszarze roboczym Databricks do lokalnych repozytoriów Git obsługiwanych przez GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server i GitLab zarządzane samodzielnie.

Uwaga

Użytkownicy, którzy skonfigurowali serwer proxy Git dla usługi Databricks w wersji zapoznawczej, powinni zaktualizować uprawnienia klastra, aby zapewnić najlepszą wydajność. Zobacz Usuwanie uprawnień globalnych CAN_ATTACH_TO.

Proxy serwera Git usługi Databricks został specjalnie zaprojektowany do pracy z wersją środowiska Databricks Runtime uwzględnioną w notatniku konfiguracyjnym. Użytkownicy są zniechęcani do aktualizowania wersji środowiska Databricks Runtime klastra proxy.

Co to jest serwer proxy serwera Git dla folderów Git usługi Databricks?

Serwer proxy serwera Git usługi Databricks dla folderów Git to funkcja, która umożliwia uruchamianie poleceń usługi Git z obszaru roboczego usługi Azure Databricks do lokalnego serwera Git.

Foldery Git w Databricks (dawniej Repos) przedstawiają połączone repozytoria Git jako foldery. Zawartość tych folderów jest kontrolowana przez synchronizowanie ich z połączonym repozytorium Git. Domyślnie foldery Git mogą synchronizować się tylko z publicznymi dostawcami usługi Git (takimi jak publiczne usługi GitHub, GitLab, Azure DevOps i inne). Jeśli jednak hostujesz własny lokalny serwer Git (np. GitHub Enterprise Server, Bitbucket Server lub GitLab), musisz użyć serwera proxy serwera Git z folderami Git, aby zapewnić usłudze Databricks dostęp do serwera Git. Serwer Git musi być dostępny z płaszczyzny danych usługi Azure Databricks (węzeł sterownika).

Jeśli sieć firmowa jest tylko dostępem prywatnym (VPN) (bez dostępu publicznego), musisz uruchomić serwer proxy serwera Git, aby uzyskać dostęp do repozytoriów Git znajdujących się poza nią i dodać foldery Git do obszarów roboczych.

Jak działa serwer proxy usługi Git dla folderów git usługi Databricks?

Serwer proxy Git dla folderów Git usługi Databricks przekazuje polecenia git z płaszczyzny sterowania usługi Databricks do klastra proxy uruchomionego na płaszczyźnie obliczeniowej obszaru roboczego usługi Databricks. W tym przypadku klaster proxy działa jako klaster skonfigurowany do uruchamiania usługi proxy dla poleceń Git z folderów Git na Databricks do twojego własnego, hostowanego lokalnie repozytorium Git. Ta usługa proxy odbiera polecenia Git z płaszczyzny sterowania usługi Databricks i przekazuje je do wystąpienia serwera Git.

Na poniższym diagramie przedstawiono ogólną architekturę systemu:

Diagram przedstawiający sposób konfigurowania folderów Git Server Proxy dla usługi Databricks w usłudze Git z płaszczyzny obliczeniowej klienta

Obecnie serwer proxy usługi Git nie wymaga CAN_ATTACH_TO już uprawnień dla wszystkich użytkowników. Administratorzy z istniejącymi klastrami proxy mogą teraz modyfikować uprawnienie listy ACL klastra, aby włączyć tę funkcję. Aby ją włączyć:

  1. Wybierz pozycję Obliczenia na pasku bocznym, a następnie kliknij Menu Kebab menu kebab obok pozycji Obliczenia dla uruchomionego serwera proxy usługi Git Server:

    Wybierz pozycję Obliczenia na pasku bocznym, wybierz kebab z prawej strony zasobu obliczeniowego serwera proxy usługi Git

  2. W oknie dialogowym usuń wpis Can Attach To dla wszystkich użytkowników:

    W wyświetlonym modalnym oknie dialogowym kliknij przycisk X po prawej stronie pozycji Wszyscy użytkownicy, Może dołączyć do

Jak mogę skonfigurować serwer proxy usługi Git dla folderów Git usługi Databricks?

W tej sekcji opisano, jak przygotować wystąpienie serwera Git dla proxy serwera Git do folderów Git w Databricks, jak utworzyć to proxy oraz jak zweryfikować swoją konfigurację.

Zanim rozpoczniesz

Przed włączeniem serwera proxy upewnij się, że:

  • Obszar roboczy ma włączoną funkcję folderów Git usługi Databricks.
  • Wystąpienie serwera Git jest dostępne z poziomu VPC płaszczyzny obliczeniowej obszaru roboczego usługi Azure Databricks i ma włączone zarówno tokeny HTTPS, jak i osobiste tokeny dostępu (PATs).

Uwaga

Serwer proxy serwera Git dla usługi Databricks działa we wszystkich regionach obsługiwanych przez VPC.

Krok 1. Przygotowanie wystąpienia serwera Git

Ważne

Aby utworzyć zasób obliczeniowy i wykonać to zadanie, musisz być administratorem obszaru roboczego z uprawnieniami dostępu.

Aby skonfigurować wystąpienie serwera Git:

  1. Nadaj węzłowi sterownika klastra proxy dostęp do serwera Git.

    Serwer Git przedsiębiorstwa może mieć allowlist adresy IP, z których jest dozwolony dostęp.

    1. Skojarz statyczny wychodzący adres IP dla ruchu pochodzącego z klastra proxy. Można to zrobić przy użyciu usługi Azure Firewall lub urządzenia ruchu wychodzącego.
    2. Dodaj adres IP z poprzedniego kroku do listy dozwolonych serwera Git.
  2. Ustaw wystąpienie serwera Git, aby zezwolić na transport HTTPS.

    • W przypadku usługi GitHub Enterprise zobacz Temat Którego zdalnego adresu URL powinienem używać w pomocy usługi GitHub Enterprise.
    • W polu Bitbucket przejdź do strony administracyjnej serwera Bitbucket i wybierz ustawienia serwera. W sekcji Hosting SCM protokołu HTTP włącz pole wyboru Włączone protokoły HTTP(S).

Krok 2. Uruchamianie notesu włączania

Aby włączyć serwer proxy:

  1. Zaloguj się do obszaru roboczego usługi Azure Databricks jako administrator obszaru roboczego z uprawnieniami dostępu, aby utworzyć klaster.

  2. Zaimportuj ten notes, który wybiera najmniejszy typ wystąpienia dostępny u dostawcy usług w chmurze, aby uruchomić serwer proxy Git.

    Notes: włącz serwer proxy serwera Git dla folderów Git usługi Databricks na potrzeby łączności prywatnego serwera Git w folderach Git.

  3. Kliknij Uruchom wszystkie, aby uruchomić notatnik, który wykonuje następujące zadania:

    • Tworzy zasób obliczeniowy z jednym węzłem o nazwie "Databricks Git Proxy", który nie kończy się automatycznie. Jest to usługa serwera proxy Git, która będzie przetwarzać i przekazywać polecenia Git z obszaru roboczego usługi Azure Databricks do lokalnego serwera Git.
    • Włącza flagę funkcji, która kontroluje, czy żądania Git w folderach Usługi Git usługi Databricks są kierowane za pośrednictwem wystąpienia obliczeniowego.

    Najlepszym rozwiązaniem jest utworzenie prostego zadania uruchamiania zasobu obliczeniowego serwera proxy usługi Git. Może to być prosty notes, który drukuje lub rejestruje stan, taki jak "Usługa serwera proxy Git jest uruchomiona". Ustaw zadanie do uruchamiania w regularnych odstępach czasu, aby upewnić się, że usługa serwera proxy Git jest zawsze dostępna dla użytkowników.

Uwaga

Uruchomienie dodatkowego długotrwałego zasobu obliczeniowego do hostowania oprogramowania proxy wiąże się z dodatkowymi jednostkami DBU. Aby zminimalizować koszty, notes konfiguruje serwer proxy do używania zasobu obliczeniowego z jednym węzłem z niedrogim typem węzła. Możesz jednak zmodyfikować opcje obliczeniowe zgodnie z potrzebami. Aby uzyskać więcej informacji na temat cen wystąpienia obliczeniowego, zobacz kalkulator cen usługi Databricks.

Krok 3. Weryfikowanie konfiguracji serwera Git

Aby zweryfikować konfigurację serwera Git, spróbuj sklonować repozytorium hostowane na prywatnym serwerze Git za pośrednictwem klastra proxy. Pomyślne sklonowanie oznacza, że serwer proxy serwera Git został pomyślnie włączony dla obszaru roboczego.

Krok 4. Tworzenie repozytoriów Git z obsługą serwera proxy

Po skonfigurowaniu poświadczeń usługi Git żadne dalsze kroki nie są wymagane do utworzenia ani zsynchronizowania repozytoriów. Aby programowo skonfigurować poświadczenia i uzyskać dostęp do repozytoriów dla folderów Git, zobacz Skonfiguruj poświadczenia Git & połącz zdalne repozytorium z Azure Databricks.

Usuwanie uprawnień globalnych CAN_ATTACH_TO

Administratorzy z istniejącymi klastrami proxy mogą teraz modyfikować uprawnienie listy ACL klastra, aby korzystać z ogólnie dostępnego zachowania serwera proxy serwera Git.

Jeśli wcześniej skonfigurowano serwer proxy usługi Git usługi Databricks z uprawnieniami CAN_ATTACH_TO , wykonaj następujące kroki, aby usunąć te uprawnienia:

  1. Wybierz pozycję Obliczenia na pasku bocznym, a następnie kliknij Menu Kebab menu kebab obok pozycji Obliczenia dla uruchomionego serwera proxy serwera Git:

    Wybierz pozycję Obliczenia na pasku bocznym, wybierz kebab z prawej strony zasobu obliczeniowego serwera proxy usługi Git

  2. W oknie dialogowym usuń wpis Can Attach To dla wszystkich użytkowników:

    W wyświetlonym modalnym oknie dialogowym kliknij przycisk X po prawej stronie pozycji Wszyscy użytkownicy, Może dołączyć do

Rozwiązywanie problemów

Czy wystąpił błąd podczas konfigurowania serwera proxy usługi Git dla folderów Git usługi Databricks? Poniżej przedstawiono kilka typowych problemów i sposobów ich skuteczniejszego diagnozowania.

Lista kontrolna typowych problemów

Przed rozpoczęciem diagnozowania błędu upewnij się, że zostały wykonane następujące kroki:

  • Upewnij się, że twój klaster proxy działa z tym notatnikiem debugowania serwera proxy Git . (Jest to inny notatnik niż notatnik do włączania serwera proxy Git i jest również zapewniany przez Databricks).
  • Upewnij się, że jesteś administratorem obszaru roboczego.
  • Uruchom pozostałą część notatnika debugowania i zarejestruj wyniki, jeśli jeszcze tego nie zrobiłeś. Jeśli nie możesz debugować problemu lub nie widzisz żadnych błędów zgłoszonych w notesie debugowania, pomoc techniczna usługi Databricks może przejrzeć wyniki. Możesz wyeksportować i wysłać notatnik debugowania jako archiwum DBC, jeśli jest to wymagane.

Zmienianie konfiguracji serwera proxy usługi Git

Jeśli usługa serwera proxy Git nie działa z konfiguracją domyślną, możesz ustawić określone zmienne środowiskowe, aby wprowadzić w niej zmiany, aby lepiej obsługiwać infrastrukturę sieciową.

Użyj następujących zmiennych środowiskowych, aby zaktualizować konfigurację usługi serwera proxy Git:

Zmienna środowiskowa Format opis
GIT_PROXY_ENABLE_SSL_VERIFICATION true/false Ustaw tę wartość na false , jeśli używasz certyfikatu z podpisem własnym dla prywatnego serwera Git.
GIT_PROXY_CA_CERT_PATH Ścieżka pliku (ciąg) Ustaw tę opcję na ścieżkę do pliku certyfikatu urzędu certyfikacji używanego do weryfikacji protokołu SSL. Przykład: /FileStore/myCA.pem
GIT_PROXY_HTTP_PROXY https://<hostname>:<port #> Ustaw ten adres URL protokołu HTTPS dla serwera proxy zapory sieci dla ruchu HTTP.
GIT_PROXY_CUSTOM_HTTP_PORT Numer portu (liczba całkowita) Ustaw tę wartość na numer portu przypisany do portu HTTP serwera Git.

Aby ustawić te zmienne środowiskowe, przejdź do karty Obliczenia w obszarze roboczym usługi Azure Databricks i wybierz konfigurację obliczeniową dla usługi serwera proxy Git. W dolnej części okienka Konfiguracja rozwiń pozycję Opcje zaawansowane i wybierz kartę Spark pod nią. Ustaw co najmniej jedną z tych zmiennych środowiskowych, dodając je do obszaru tekstowego Zmienne środowiskowe.

Strona konfiguracji obliczeniowej usługi Databricks, na której ustawiasz zmienne środowiskowe dla serwera proxy usługi Git

Inspekcja dzienników w klastrze proxy

Plik w witrynie w /databricks/git-proxy/git-proxy.log klastrze proxy zawiera dzienniki, które są przydatne do celów debugowania.

Plik dziennika powinien rozpoczynać się od wiersza Data-plane proxy server binding to ('', 8000)…. Jeśli tak nie jest, oznacza to, że serwer proxy nie został poprawnie uruchomiony. Spróbuj ponownie uruchomić klaster lub usunąć utworzony klaster i ponownie uruchomić notes włączania.

Jeśli plik dziennika rozpoczyna się od tego wiersza, przejrzyj instrukcje dziennika, które są zgodne z instrukcjami dla każdego żądania Git zainicjowanego przez operację git w folderach Git usługi Databricks.

Na przykład:

  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`

Dzienniki błędów zapisane w tym pliku mogą być przydatne, aby pomóc w rozwiązywaniu problemów z debugowaniem w usłudze Databricks.

Typowe komunikaty o błędach i ich rozwiązanie

  • Nie można ustanowić bezpiecznego połączenia z powodu problemów z protokołem SSL

    Może zostać wyświetlony następujący błąd:

      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
    

    Często oznacza to, że używasz repozytorium, które wymaga specjalnych certyfikatów SSL. Sprawdź zawartość /databricks/git-proxy/git-proxy.log pliku w klastrze proxy. Jeśli oznacza to, że weryfikacja certyfikatu nie powiodła się, należy dodać certyfikat urzędu do łańcucha certyfikatów systemowych. Najpierw wyodrębnij certyfikat główny (przy użyciu przeglądarki lub inną opcję) i przekaż go do systemu plików DBFS. Następnie zmodyfikuj klaster serwera proxy Git folderów Git, aby użyć GIT_PROXY_CA_CERT_PATH zmiennej środowiskowej, aby wskazać plik certyfikatu głównego. Aby uzyskać więcej informacji na temat edytowania zmiennych środowiskowych klastra, zobacz Zmienne środowiskowe.

    Po zakończeniu tego kroku uruchom ponownie klaster.

  • Nie można sklonować repozytorium z powodu błędu "Brakujące/nieprawidłowe poświadczenia git"

    Najpierw sprawdź, czy poświadczenia usługi Git zostały skonfigurowane w obszarze Ustawienia użytkownika.

    Ten błąd może wystąpić:

      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.
    

    Jeśli Twoja organizacja korzysta z logowania jednokrotnego SAML, upewnij się, że token został autoryzowany (można to zrobić na stronie zarządzania osobistym tokenem dostępu (PAT) serwera Git.

Często zadawane pytania

Jaki jest najprostszy sposób, aby dowiedzieć się, czy serwer proxy usługi Git jest uruchomiony?

Zaimportuj zeszyt debugowania proxy Git udostępniany przez Databricks. Pobierz go na komputer lokalny, a następnie zaimportuj go do obszaru roboczego usługi Azure Databricks.

Uruchomienie notesu spowoduje zgłoszenie, jeśli wystąpią jakiekolwiek błędy lub problemy z usługą serwera proxy Git.

Jakie są implikacje zabezpieczeń serwera proxy serwera Git?

Najważniejsze rzeczy, które należy znać, to:

  • Serwer proxy nie ma wpływu na architekturę zabezpieczeń płaszczyzny sterowania usługi Databricks.
  • W każdym obszarze roboczym można mieć tylko jeden klaster serwera proxy Usługi Git.

Tak. W bieżącej wersji obszar roboczy usługi Azure Databricks nie rozróżnia repozytoriów proxy i nieproxy.

Czy funkcja serwera proxy Usługi Git współpracuje z innymi dostawcami serwerów przedsiębiorstwa Git?

Foldery Git usługi Databricks obsługują usługi GitHub Enterprise, Bitbucket Server, Azure DevOps Server i GitLab samodzielnie zarządzane. Inni dostawcy serwerów Git w przedsiębiorstwie powinni również pracować, jeśli są zgodni z typowymi specyfikacjami usługi Git.

Czy foldery Git usługi Databricks obsługują podpisywanie zatwierdzeń w usłudze GPG?

L.p.

Czy foldery Git usługi Databricks obsługują transport SSH na potrzeby operacji git?

L.p. Obsługiwany jest tylko protokół HTTPS.

Czy jest obsługiwany port HTTPS inny niż domyślny na serwerze Git?

Obecnie notes włączania zakłada, że serwer Git używa domyślnego portu HTTPS 443. Możesz ustawić zmienną środowiskową GIT_PROXY_CUSTOM_HTTP_PORT , aby zastąpić wartość portu preferowaną wartością.

Czy można udostępnić jeden serwer proxy dla wielu obszarów roboczych lub czy potrzebujesz jednego klastra proxy na obszar roboczy?

Potrzebujesz jednego klastra proxy dla obszaru roboczego usługi Azure Databricks.

Czy serwer proxy działa ze starszymi wersjami pojedynczego notesu?

Nie, serwer proxy nie działa ze starszymi wersjami pojedynczego notesu. Użytkownicy muszą przeprowadzić migrację do przechowywania wersji folderów Git usługi Databricks.

Czy usługa Databricks może ukryć adresy URL serwera Git, które są proxied? Czy użytkownicy mogą wprowadzać oryginalne adresy URL serwera Git, a nie adresy URL proxied?

Tak w obu pytaniach. Użytkownicy nie muszą dostosowywać swojego zachowania dla serwera proxy. W przypadku bieżącej implementacji serwera proxy cały ruch usługi Git dla folderów Usługi Git usługi Databricks jest kierowany przez serwer proxy. Użytkownicy wprowadzają normalny adres URL repozytorium Git, taki jak https://git.company.com/org/repo-name.git.

Jak często użytkownicy będą pracować z adresami URL usługi Git?

Zazwyczaj użytkownik po prostu doda adres URL usługi Git podczas tworzenia nowego repozytorium lub wyewidencjonowania istniejącego repozytorium, którego jeszcze nie wyewidencjonował.

Czy funkcja w przezroczysty sposób uwierzytelnia dane uwierzytelniania serwera proxy na serwerze Git?

Tak, serwer proxy używa tokenu serwera Git konta użytkownika do uwierzytelniania na serwerze Git.

Czy istnieje dostęp usługi Databricks do kodu serwera Git?

Usługa proxy usługi Azure Databricks uzyskuje dostęp do repozytorium Git na serwerze Git przy użyciu poświadczeń podanych przez użytkownika i synchronizuje wszystkie pliki kodu w repozytorium z folderem Git. Dostęp jest ograniczony przez uprawnienia określone w osobistym tokenie dostępu (PAT) udostępnianym przez użytkownika.