Menyiapkan konektivitas Git privat untuk folder Git Azure Databricks (Repos)
Pelajari tentang dan konfigurasikan proksi server Git untuk folder Databricks Git, layanan yang dapat dikonfigurasi yang memungkinkan Anda untuk memproksi perintah Git dari folder Git ruang kerja Databricks ke repositori lokal Anda yang dilayani oleh GitHub Enterprise Server, Azure DevOps Server, Bitbucket Server, dan GitLab dikelola sendiri.
Catatan
Pengguna dengan proksi server Databricks Git yang dikonfigurasi selama pratinjau harus meningkatkan izin kluster untuk performa terbaik. Lihat Menghapus izin CAN_ATTACH_TO global.
Proksi server Databricks Git dirancang khusus untuk bekerja dengan versi DBR yang disertakan dalam notebook konfigurasi. Pengguna tidak disarankan untuk memperbarui versi DBR kluster proksi.
Apa itu proksi server Git untuk folder Databricks Git?
Proksi server Databricks Git untuk folder Git adalah fitur yang memungkinkan Anda untuk mem-proksi perintah Git dari ruang kerja Azure Databricks Anda ke server Git lokal.
Folder Databricks Git (sebelumnya Repositori) mewakili repositori Git yang terhubung sebagai folder. Konten folder ini dikontrol versinya dengan menyinkronkannya ke repositori Git yang terhubung. Secara default, folder Git hanya dapat disinkronkan dengan penyedia Git publik (seperti GitHub publik, GitLab, Azure DevOps, dan lainnya). Namun, jika Anda menghosting server Git lokal Anda sendiri (seperti GitHub Enterprise Server, Bitbucket Server , atau GitLab yang dikelola sendiri), Anda harus menggunakan proksi server Git dengan folder Git untuk menyediakan akses Databricks ke server Git Anda. Server Git Anda harus dapat diakses dari sarana data Azure Databricks (simpul driver).
Jika jaringan perusahaan Anda hanya akses privat (VPN) (tanpa akses publik), Anda harus menjalankan proksi server Git untuk mengakses repositori Git yang terletak di luarnya dan untuk menambahkan folder Git ke ruang kerja Anda.
Bagaimana cara kerja Proksi Git Server untuk folder Git Databricks?
Git Server Proxy for Databricks Git memproksi perintah Git dari sarana kontrol Databricks ke "kluster proksi" yang berjalan di bidang komputasi ruang kerja Databricks Anda. Dalam konteks ini, kluster proksi adalah kluster yang dikonfigurasi untuk menjalankan layanan proksi untuk perintah Git dari folder Git Databricks ke repositori Git yang dihost sendiri. Layanan proksi ini menerima perintah Git dari sarana kontrol Databricks dan meneruskannya ke instans server Git Anda.
Diagram di bawah ini mengilustrasikan arsitektur sistem keseluruhan:
Penting
Databricks menyediakan notebook pengaktifan yang dapat Anda jalankan untuk mengonfigurasi instans server Git Anda ke perintah proksi untuk folder Databricks Git. Dapatkan notebook pengaktifan di GitHub.
Saat ini, proksi server Git tidak lagi memerlukan CAN_ATTACH_TO
izin untuk semua pengguna. Admin dengan kluster proksi yang ada sekarang dapat mengubah izin ACL kluster untuk mengaktifkan fitur ini. Untuk mengaktifkannya:
Pilih Komputasi dari bilah samping, lalu klik menu kebab di samping entri Komputasi untuk Proksi Server Git yang Anda jalankan:
Dari dialog, hapus entri Bisa Lampirkan Ke untuk Semua Pengguna:
Bagaimana cara menyiapkan Proksi Server Git untuk folder Git Databricks?
Bagian ini menjelaskan cara menyiapkan instans server Git Anda untuk folder Git Server Proxy for Databricks Git, membuat proksi, dan memvalidasi konfigurasi Anda.
Sebelum Anda mulai
Sebelum mengaktifkan proksi, pertimbangkan prasyarat dan tugas perencanaan berikut:
- Ruang kerja Anda mengaktifkan fitur folder Databricks Git.
- Instans server Git Anda dapat diakses dari VPC sarana komputasi ruang kerja Azure Databricks Anda, dan mengaktifkan TOKEN akses HTTPS dan pribadi (PATs).
Catatan
Proksi server Git untuk Databricks berfungsi di semua wilayah yang didukung oleh VPC Anda.
Langkah 1: Siapkan instans server Git Anda
Penting
Anda harus menjadi admin di ruang kerja dengan hak akses untuk membuat sumber daya komputasi dan menyelesaikan tugas ini.
Untuk mengonfigurasi instans server Git Anda:
Berikan akses simpul driver kluster proksi ke server Git Anda.
Server Git perusahaan Anda dapat memiliki
allowlist
alamat IP tempat akses diizinkan.- Kaitkan alamat IP keluar statis untuk lalu lintas yang berasal dari kluster proksi Anda. Anda dapat melakukan ini dengan menggunakan Azure Firewall atau appliance keluar.
- Tambahkan alamat IP dari langkah sebelumnya ke daftar izin server Git Anda.
Atur instans server Git Anda untuk mengizinkan transportasi HTTPS.
- Untuk GitHub Enterprise, lihat URL jarak jauh mana yang harus saya gunakan di bantuan GitHub Enterprise.
- Untuk Bitbucket, buka halaman administrasi server Bitbucket dan pilih pengaturan server. Di bagian hosting HTTP(S) SCM, aktifkan kotak centang HTTP yang diaktifkan .
Langkah 2: Jalankan notebook pengaktifan
Untuk mengaktifkan proksi:
Masuk ke ruang kerja Azure Databricks Anda sebagai admin ruang kerja dengan hak akses untuk membuat kluster.
Impor notebook ini, yang memilih jenis instans terkecil yang tersedia dari penyedia cloud Anda untuk menjalankan proksi Git.:
Notebook: Aktifkan proksi server Git untuk folder Databricks Git untuk konektivitas server Git privat di folder Git.
Klik "Jalankan Semua" untuk menjalankan buku catatan, yang melakukan tugas berikut:
- Membuat sumber daya komputasi simpul tunggal bernama "Databricks Git Proxy", yang tidak dihentikan secara otomatis. Ini adalah "Layanan proksi Git" yang akan memproses dan meneruskan perintah Git dari ruang kerja Azure Databricks Anda ke server Git lokal Anda.
- Mengaktifkan bendera fitur yang mengontrol apakah permintaan Git di folder Databricks Git diproksi melalui instans komputasi.
Sebagai praktik terbaik, pertimbangkan untuk membuat pekerjaan sederhana untuk menjalankan sumber daya komputasi proksi Git. Ini bisa menjadi notebook sederhana yang mencetak atau mencatat status seperti "Layanan proksi Git sedang berjalan." Atur pekerjaan untuk dijalankan pada interval waktu reguler untuk memastikan layanan proksi Git selalu tersedia untuk pengguna Anda.
Catatan
Menjalankan sumber daya komputasi tambahan yang berjalan lama untuk menghosting perangkat lunak proksi menimbulkan DBA tambahan. Untuk meminimalkan biaya, notebook mengonfigurasi proksi untuk menggunakan sumber daya komputasi simpul tunggal dengan jenis node murah. Namun, Anda mungkin ingin memodifikasi opsi komputasi agar sesuai dengan kebutuhan Anda. Untuk informasi selengkapnya tentang harga instans komputasi, lihat kalkulator harga Databricks.
Langkah 3: Memvalidasi konfigurasi server Git Anda
Untuk memvalidasi konfigurasi server Git Anda, coba kloning repositori yang dihosting di server Git privat Anda melalui kluster proksi. Kloning yang berhasil berarti Anda telah berhasil mengaktifkan proksi server Git untuk ruang kerja Anda.
Langkah 4: Membuat repositori yang mendukung proksi
Setelah pengguna mengonfigurasi kredensial Git mereka, tidak ada langkah lebih lanjut yang diperlukan untuk membuat atau menyinkronkan repositori Anda. Untuk mengonfigurasi kredensial dan membuat repositori di folder Databricks Git, lihat Mengonfigurasi kredensial Git & sambungkan repositori jarak jauh ke Azure Databricks.
Menghapus izin CAN_ATTACH_TO global
Admin dengan kluster proksi yang ada sekarang dapat memodifikasi izin ACL kluster untuk memanfaatkan perilaku proksi server Git yang tersedia secara umum.
Jika sebelumnya Anda mengonfigurasi proksi server Databricks Git dengan CAN_ATTACH_TO
hak istimewa, gunakan langkah-langkah berikut untuk menghapus izin ini:
Pilih Komputasi dari bilah samping, lalu klik menu kebab di samping entri Komputasi untuk proksi server Git yang Anda jalankan:
Dari dialog, hapus entri Bisa Lampirkan Ke untuk Semua Pengguna:
Pemecahan Masalah
Apakah Anda mengalami kesalahan saat mengonfigurasi proksi server Git untuk folder Databricks Git? Berikut adalah beberapa masalah umum dan cara untuk mendiagnosisnya secara lebih efektif.
Daftar periksa untuk masalah umum
Sebelum Anda mulai mendiagnosis kesalahan, konfirmasikan bahwa Anda telah menyelesaikan langkah-langkah berikut:
- Konfirmasikan bahwa kluster proksi Anda sedang berjalan.
- Konfirmasikan bahwa Anda adalah administrator ruang kerja.
- Jalankan notebook pengaktifan lagi dan ambil hasilnya, jika Anda belum melakukannya. Jika Anda tidak dapat men-debug masalah, Dukungan Databricks dapat meninjau hasilnya. Anda dapat mengekspor dan mengirim notebook pengaktifan sebagai arsip DBC.
Mengubah konfigurasi proksi Git Anda
Jika layanan proksi Git Anda tidak berfungsi dengan konfigurasi default, Anda dapat mengatur variabel lingkungan tertentu untuk membuat perubahan untuk mendukung infrastruktur jaringan Anda dengan lebih baik.
Gunakan variabel lingkungan berikut untuk memperbarui konfigurasi untuk layanan proksi Git Anda:
Variabel lingkungan | Format | Deskripsi |
---|---|---|
GIT_PROXY_ENABLE_SSL_VERIFICATION |
true /false |
Atur ini ke false jika Anda menggunakan sertifikat yang ditandatangani sendiri untuk server Git privat Anda. |
GIT_PROXY_CA_CERT_PATH |
Jalur file (string) | Atur ini ke jalur ke file sertifikat CA yang digunakan untuk verifikasi SSL. Contoh: /FileStore/myCA.pem |
GIT_PROXY_HTTP_PROXY |
https://<hostname>:<port #> |
Atur ini ke URL HTTPS untuk proksi firewall jaringan Anda untuk lalu lintas HTTP. |
GIT_PROXY_CUSTOM_HTTP_PORT |
Nomor port (bilangan bulat) | Atur ini ke nomor port yang ditetapkan ke port HTTP server Git Anda. |
Untuk mengatur variabel lingkungan ini, buka tab Komputasi di ruang kerja Azure Databricks Anda dan pilih konfigurasi komputasi untuk layanan proksi Git Anda. Di bagian bawah panel Konfigurasi , perluas Opsi tingkat lanjut dan pilih tab Spark di bawahnya. Atur satu atau beberapa variabel lingkungan ini dengan menambahkannya ke area teks Variabel lingkungan .
Memeriksa log pada kluster proksi
File di /databricks/git-proxy/git-proxy.log
pada kluster proksi berisi log yang berguna untuk tujuan penelusuran kesalahan.
File log harus dimulai dengan baris Data-plane proxy server binding to ('', 8000)…
Jika tidak, ini berarti bahwa server proksi tidak dimulai dengan benar. Coba mulai ulang kluster, atau hapus kluster yang Anda buat dan jalankan buku catatan pengaktifan lagi.
Jika file log dimulai dengan baris ini, tinjau pernyataan log yang mengikutinya untuk setiap permintaan Git yang dimulai oleh operasi Git di folder Databricks Git.
Contohnya:
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`
Log kesalahan yang ditulis ke file ini dapat berguna untuk membantu Anda atau masalah debug Dukungan Databricks.
Pesan kesalahan umum dan resolusinya
Koneksi aman tidak dapat dibuat karena masalah SSL
Anda mungkin melihat kesalahan berikut:
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
Seringkali ini berarti Anda menggunakan repositori yang memerlukan sertifikat SSL khusus. Periksa konten
/databricks/git-proxy/git-proxy.log
file pada kluster proksi. Jika dikatakan bahwa validasi sertifikat gagal, maka Anda harus menambahkan sertifikat otoritas ke rantai sertifikat sistem. Pertama, ekstrak sertifikat akar (menggunakan browser atau opsi lainnya) dan unggah ke DBFS. Kemudian, edit kluster Git folder Git Proxy untuk menggunakanGIT_PROXY_CA_CERT_PATH
variabel lingkungan untuk menunjuk ke file sertifikat akar. Untuk informasi selengkapnya tentang mengedit variabel lingkungan kluster, lihat Variabel lingkungan.Setelah Anda menyelesaikan langkah tersebut, mulai ulang kluster.
Kegagalan mengkloning repositori dengan kesalahan "Kredensial Git Hilang/Tidak Valid"
Pertama, periksa apakah Anda telah mengonfigurasi kredensial Git di Pengaturan Pengguna.
Anda mungkin mengalami kesalahan ini:
Error: Invalid Git credentials. Go to User Settings -> Git Integration and check that your personal access token or app password has the correct repo access.
Jika organisasi Anda menggunakan SSO SAML, pastikan token telah diotorisasi (ini dapat dilakukan dari halaman manajemen Token Akses Pribadi (PAT) server Git Anda).
Tanya jawab umum
Apa implikasi keamanan dari proksi server Git?
Hal-hal terpenting yang perlu diketahui adalah:
- Proksi tidak memengaruhi arsitektur keamanan sarana kontrol Databricks Anda.
- Anda hanya dapat memiliki satu kluster server proksi Git per ruang kerja.
Apakah semua lalu lintas Git terkait folder Databricks Git dirutekan melalui kluster proksi, bahkan untuk repositori Git publik?
Ya. Dalam rilis saat ini, ruang kerja Azure Databricks Anda tidak membedakan antara repositori yang diproksikan dan tidak diproksi.
Apakah fitur proksi Git berfungsi dengan penyedia server perusahaan Git lainnya?
Folder Git Databricks mendukung GitHub Enterprise, Bitbucket Server, Azure DevOps Server, dan GitLab yang dikelola sendiri. Penyedia server Git perusahaan lainnya harus berfungsi juga jika sesuai dengan spesifikasi Git umum.
Apakah folder Databricks Git mendukung penandatanganan penerapan GPG?
Tidak.
Apakah folder Databricks Git mendukung transportasi SSH untuk operasi Git?
Tidak. Hanya HTTPS yang didukung.
Apakah penggunaan port HTTPS non-default di server Git didukung?
Saat ini, notebook pengaktifan mengasumsikan bahwa server Git Anda menggunakan port HTTPS default 443. Anda dapat mengatur variabel GIT_PROXY_CUSTOM_HTTP_PORT
lingkungan untuk menimpa nilai port dengan yang disukai.
Dapatkah Anda berbagi satu proksi untuk beberapa ruang kerja atau apakah Anda memerlukan satu kluster proksi per ruang kerja?
Anda memerlukan satu kluster proksi per ruang kerja Azure Databricks.
Apakah proksi berfungsi dengan penerapan versi buku catatan tunggal warisan?
Tidak, proksi tidak berfungsi dengan penerapan versi buku catatan tunggal warisan. Pengguna harus bermigrasi ke penerapan versi folder Databricks Git.
Dapatkah Databricks menyembunyikan URL server Git yang diproksi? Bisakah pengguna memasukkan URL server Git asli daripada URL yang diproksi?
Ya untuk kedua pertanyaan. Pengguna tidak perlu menyesuaikan perilaku mereka untuk proksi. Dengan implementasi proksi saat ini, semua lalu lintas Git untuk folder Databricks Git dirutekan melalui proksi. Pengguna memasukkan URL repositori Git normal seperti https://git.company.com/org/repo-name.git
.
Seberapa sering pengguna akan bekerja dengan URL Git?
Biasanya pengguna hanya akan menambahkan URL Git saat mereka membuat repositori baru atau memeriksa repositori yang sudah ada yang belum mereka periksa.
Apakah fitur ini secara transparan mem-proxy data autentikasi ke server Git?
Ya, proksi menggunakan token server Git akun pengguna untuk mengautentikasi ke server Git.
Apakah ada akses Databricks ke kode server Git?
Layanan proksi Azure Databricks mengakses repositori Git di server Git menggunakan kredensial yang disediakan pengguna dan menyinkronkan file kode apa pun di repositori dengan repositori. Akses dibatasi oleh izin yang ditentukan dalam token akses pribadi (PAT) yang disediakan pengguna.