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:
Ważne
Usługa Databricks udostępnia notes włączania, który można uruchomić, aby skonfigurować wystąpienie serwera Git do poleceń serwera proxy dla folderów Git usługi Databricks. Pobierz notes włączania w usłudze GitHub.
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ć:
Wybierz pozycję Obliczenia na pasku bocznym, a następnie kliknij menu kebab obok pozycji Obliczenia dla uruchomionego serwera proxy usługi Git Server:
W oknie dialogowym usuń wpis Can Attach To dla wszystkich użytkowników:
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:
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.- 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.
- Dodaj adres IP z poprzedniego kroku do listy dozwolonych serwera Git.
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:
Zaloguj się do obszaru roboczego usługi Azure Databricks jako administrator obszaru roboczego z uprawnieniami dostępu, aby utworzyć klaster.
Zaimportuj ten notes, który wybiera najmniejszy typ wystąpienia dostępny u dostawcy usług w chmurze, aby uruchomić serwer proxy Git.
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:
Wybierz pozycję Obliczenia na pasku bocznym, a następnie kliknij menu kebab obok pozycji Obliczenia dla uruchomionego serwera proxy serwera Git:
W oknie dialogowym usuń wpis Can Attach To dla wszystkich użytkowników:
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.
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.
Czy cały ruch Git związany z folderami Git w Databricks jest kierowany przez klaster proxy, nawet w przypadku publicznych repozytoriów 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.