Bagikan melalui


Menyiapkan konektivitas Git privat untuk folder Git Azure Databricks

Jika Anda menghosting server Git privat (seperti GitHub Enterprise Server, Bitbucket Server, atau GitLab yang dikelola sendiri) atau server Git Anda berada di belakang firewall, Anda dapat menggunakan proksi server Git untuk menghubungkan folder Databricks Git ke repositori privat Anda. Proksi merutekan perintah Git dari ruang kerja Azure Databricks Anda melalui sumber daya komputasi ke server Git privat Anda.

Tentang proksi server Git

Proksi server Databricks Git untuk folder Git memungkinkan Anda mem-proksi perintah Git dari ruang kerja Azure Databricks Anda ke server Git privat yang tidak dapat diakses di internet.

Folder Databricks Git mewakili repositori Git yang terhubung sebagai folder. Konten folder ini dikontrol versinya dengan menyinkronkan ke repositori Git yang terhubung. Secara default, folder Git hanya dapat disinkronkan dengan repositori yang dapat diakses di internet. Jika Anda menghosting server Git privat atau server Git Anda berada di belakang firewall, Anda harus menggunakan proksi server Git dengan folder Git. Server Git Anda harus dapat diakses dari sarana komputasi Azure Databricks Anda.

Cara kerja proksi server Git

Proksi server Git untuk folder Git di Databricks meneruskan perintah Git dari sarana kontrol Databricks ke kluster proksi yang berjalan di lingkungan komputasi ruang kerja Anda. Kluster proksi dikonfigurasi untuk menjalankan layanan proksi yang menerima perintah Git dari sarana kontrol Databricks dan meneruskannya ke server Git Anda. Proksi tidak memengaruhi arsitektur keamanan sarana kontrol Databricks Anda.

Berikut ini menggambarkan arsitektur sistem keseluruhan:

Diagram yang menunjukkan bagaimana Git Server Proxy untuk folder Databricks Git dikonfigurasi agar berjalan dari platform komputasi pelanggan

Penting

Databricks menyediakan notebook aktivasi untuk mengonfigurasi instans server Git Anda guna memproksikan perintah pada folder Git Databricks. Dapatkan notebook pemberdayaan di GitHub. Proksi server Databricks Git dirancang untuk bekerja dengan versi Databricks Runtime yang disertakan dalam notebook konfigurasi. Jangan perbarui versi Databricks Runtime dari kluster proksi.

Menyiapkan Proksi Server Git

Untuk mengaktifkan konektivitas Git privat untuk folder Databricks Git, siapkan instans server Git Anda, jalankan notebook pengaktifan untuk membuat proksi, dan memvalidasi konfigurasi Anda.

Untuk menyiapkan proksi server Git:

  1. Siapkan instans server Git Anda dengan alamat IP statis dan transportasi HTTPS.
  2. Jalankan notebook pengaktifan untuk membuat kluster proksi.
  3. Validasi konfigurasi Anda dengan mengkloning repositori.
  4. Mengonfigurasi kredensial Git untuk pengguna.

Prasyarat

Sebelum Anda mengaktifkan proksi, verifikasi hal berikut:

  • Instans server Git Anda dapat diakses dari jaringan virtual Azure (VNet) sarana komputasi ruang kerja Azure Databricks Anda, serta memiliki HTTPS dan token akses pribadi (PATs) yang diaktifkan.

Catatan

Proksi server Git untuk Databricks berfungsi di semua wilayah yang didukung oleh VNet Anda.

Langkah 1: Siapkan instans server Git Anda

Penting

Untuk membuat sumber daya komputasi dan menyelesaikan tugas ini, Anda harus menjadi admin ruang kerja dengan hak akses.

Konfigurasikan server Git Anda untuk menerima koneksi dari kluster proksi dan mengaktifkan transportasi HTTPS.

Server Git perusahaan Anda biasanya memiliki daftar alamat IP yang diizinkan dari mana akses diizinkan. Untuk mengizinkan simpul driver kluster proksi mengakses server Git Anda, kaitkan alamat IP keluar statis untuk lalu lintas yang berasal dari kluster proksi Anda dan tambahkan ke daftar izin server Git Anda.

  1. Kaitkan alamat IP statis keluar untuk lalu lintas yang berasal dari kluster proksi Anda dengan menggunakan Azure Firewall atau perangkat keluaran (egress appliance).
  2. Tambahkan alamat IP dari langkah sebelumnya ke daftar izin server Git Anda.

Kemudian, konfigurasikan instans server Git Anda untuk mengizinkan transportasi HTTPS:

Langkah 2: Jalankan notebook pengaktifan

Untuk mengaktifkan proksi:

  1. Masuk ke ruang kerja Azure Databricks Anda sebagai admin ruang kerja dengan hak akses untuk membuat kluster.

  2. 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 Git Databricks agar dapat terhubung dengan server Git privat.

  3. Klik Jalankan Semua untuk menjalankan buku catatan, yang melakukan tugas berikut:

    • Membuat sumber daya komputasi simpul tunggal bernama "Proksi Git Databricks" yang tidak dihentikan secara otomatis. Layanan proksi ini memproses dan meneruskan perintah Git dari ruang kerja Azure Databricks Anda ke server Git privat Anda.
    • Mengaktifkan bendera fitur yang mengontrol apakah permintaan Git di folder Databricks Git diproksi melalui instans komputasi.

    Sebagai praktik terbaik, buat pekerjaan untuk menjalankan sumber daya komputasi proksi Git pada jadwal reguler. Ini menjaga layanan proksi Git tetap tersedia untuk pengguna Anda.

Catatan

Menjalankan sumber daya komputasi tambahan yang berlangsung lama memerlukan Unit Databricks (DBU) tambahan. Untuk meminimalkan biaya, notebook melakukan konfigurasi proksi untuk menggunakan sumber daya komputasi simpul tunggal dengan jenis node yang tidak mahal. Ubah opsi komputasi agar sesuai dengan kebutuhan Anda. Untuk informasi harga, lihat kalkulator harga Databricks.

Langkah 3: Memvalidasi konfigurasi server Git Anda

Untuk memvalidasi konfigurasi server Git Anda, kloning repositori yang dihosting di server Git privat Anda melalui kluster proksi. Kloning yang berhasil mengonfirmasi bahwa proksi server Git berfungsi untuk ruang kerja Anda.

Langkah 4: Membuat repositori Git yang mendukung proksi

Setelah pengguna mengonfigurasi kredensial Git mereka, tidak ada langkah lebih lanjut yang diperlukan untuk membuat atau menyinkronkan repositori. Untuk mengonfigurasi kredensial dan repositori akses secara terprogram, lihat Menyambungkan penyedia Git Anda ke Databricks.

Menghapus izin CAN ATTACH TO global

Proksi server Git tidak memerlukan CAN ATTACH TO izin untuk pengguna mana pun. Untuk mencegah pengguna menjalankan beban kerja sewenang-wenang pada kluster proksi, batasi izin daftar kontrol akses kluster (ACL) di server proksi:

  1. Klik Komputasi dari bilah samping, lalu klik ikon menu Kebab di samping entri komputasi untuk Proksi Server Git yang Anda jalankan.

  2. Klik Edit pengaturan izin.

  3. Dari dialog, hapus entri Dapat Dilampirkan ke untuk Semua Pengguna.

Pemecahan Masalah

Bagian ini mencakup masalah umum dan cara mendiagnosisnya.

Daftar periksa untuk masalah umum

Sebelum Anda mulai mendiagnosis kesalahan, konfirmasikan hal berikut:

Jalankan sisa buku catatan debug dan ambil hasilnya. Jika Anda tidak dapat mengatasi masalah atau tidak melihat kegagalan yang dilaporkan, dukungan Databricks dapat meninjau hasilnya. Ekspor dan kirim buku catatan debug sebagai arsip DBC jika diminta.

Mengubah konfigurasi proksi Git Anda

Jika layanan proksi Git Anda tidak berfungsi dengan konfigurasi default, atur variabel lingkungan untuk mendukung infrastruktur jaringan Anda.

Gunakan variabel lingkungan berikut untuk memperbarui konfigurasi untuk layanan proksi Git Anda:

Variabel lingkungan Rancangan 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 jalur ini 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:

  1. Buka tab Komputasi di ruang kerja Azure Databricks Anda.
  2. Pilih konfigurasi komputasi untuk layanan proksi Git Anda.
  3. Di bagian bawah panel Konfigurasi , perluas Tingkat Lanjut dan pilih tab Spark .
  4. Tambahkan variabel lingkungan ke bidang Variabel lingkungan .

Memeriksa log pada kluster proksi

File di /databricks/git-proxy/git-proxy.log pada kluster perantara berisi log yang berguna untuk tujuan debugging.

File log harus dimulai dengan Data-plane proxy server binding to ('', 8000)…. Jika hal itu tidak terjadi, server proksi tidak dimulai dengan benar. Mulai ulang kluster, atau hapus kluster dan jalankan notebook pengaktifan lagi.

Jika file log dimulai dengan baris ini, tinjau pernyataan log yang mengikuti 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 dalam file ini dapat berguna untuk membantu Anda atau Dukungan Databricks dalam mendebug masalah.

Kesalahan sertifikat 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 SSL problems

Ini sering berarti Anda menggunakan repositori yang memerlukan sertifikat SSL khusus. Periksa file /databricks/git-proxy/git-proxy.log pada kluster proksi. Jika validasi sertifikat gagal, tambahkan otoritas sertifikat ke rantai sertifikat sistem:

  1. Ekstrak sertifikat akar menggunakan browser Anda atau metode lain, dan unggah ke Databricks File System.
  2. Edit kluster Git folder Git Proxy untuk mengatur GIT_PROXY_CA_CERT_PATH variabel lingkungan untuk menunjuk ke file sertifikat akar. Lihat Variabel lingkungan.

Setelah Anda menyelesaikan langkah-langkah ini, mulai ulang kluster.

Tanya jawab umum

Berikut ini adalah pertanyaan umum tentang konfigurasi dan penggunaan proksi server Git.

Bagaimana cara memeriksa apakah proksi Git berjalan?

Impor dan jalankan buku catatan debug proksi Git. Hasilnya menunjukkan apakah ada masalah dengan layanan proksi Git.

Dapatkah ruang kerja berbagi kluster proksi?

Setiap ruang kerja Azure Databricks memerlukan kluster proksinya sendiri. Anda tidak dapat berbagi kluster proksi di beberapa ruang kerja, dan setiap ruang kerja hanya dapat memiliki satu kluster server proksi Git.

Dapatkah saya merutekan sebagian lalu lintas Git melalui proksi?

Semua lalu lintas terkait folder Databricks Git melalui kluster proksi, bahkan untuk repositori Git publik. Ruang kerja Azure Databricks Anda tidak membedakan antara repositori yang diproksi dan tidak diproksi.

Penyedia Git mana yang didukung?

Folder Git di Databricks mendukung GitHub Enterprise, Bitbucket Server, Azure DevOps Server, dan GitLab yang dikelola mandiri. Penyedia server Git perusahaan lainnya juga harus berfungsi jika sesuai dengan spesifikasi Git umum.

Apakah penandatanganan commit menggunakan GNU Privacy Guard (GPG) didukung?

Tidak.

Apakah transportasi SSH didukung?

Tidak. Hanya HTTPS yang didukung.

Dapatkah saya menggunakan port HTTPS non-default?

Notebook pengaktifan mengasumsikan server Git Anda menggunakan port HTTPS default 443. Atur variabel GIT_PROXY_CUSTOM_HTTP_PORT lingkungan untuk menggunakan port yang berbeda.

Apakah pengguna perlu mengubah URL Git untuk proksi?

Tidak. Pengguna memasukkan URL repositori Git normal, seperti https://git.company.com/org/repo-name.git. Semua lalu lintas Git untuk folder Databricks Git dialirkan secara transparan melalui proksi.

Bagaimana cara kerja autentikasi dengan proksi?

Ya, proksi menggunakan kredensial Git pengguna untuk mengautentikasi ke server Git. Akses dibatasi oleh izin yang ditentukan dalam kredensial tersebut.