Validasi sebelum instalasi
Validasi konektivitas model, kredensial, sertifikat, dan pengaturan konfigurasi sebelum instalasi untuk mengidentifikasi dan menyelesaikan masalah Model Gateway sebelum men-deploy Bob on-premises.
Sebelum menginstal Bob on-premises, verifikasi bahwa endpoint model, kredensial autentikasi, sertifikat TLS, dan konfigurasi Model Gateway kamu dikonfigurasi dengan benar dan dapat diakses dari cluster OpenShift target. Melakukan pemeriksaan validasi ini membantu mengidentifikasi masalah konektivitas, kredensial yang tidak valid, masalah kepercayaan sertifikat, dan error konfigurasi sebelum deployment, sehingga mengurangi kegagalan instalasi dan upaya pemecahan masalah.
Jalankan daftar periksa ini sebelum mengeksekusi bobctl install untuk mendeteksi konfigurasi yang hilang lebih awal.
Pengujian konektivitas ke endpoint model
Konfirmasikan bahwa cluster OpenShift dapat menjangkau setiap endpoint model sebelum ada komponen Bob yang di-deploy. Jalankan pod debug sementara di namespace target dan uji keterjangkauan HTTPS secara langsung:
# openai_compatible
oc run curl-test --image=curlimages/curl --restart=Never --rm -it -- \
curl -v https://<model-endpoint>/v1/models
# bedrock
oc run curl-test --image=curlimages/curl --restart=Never --rm -it -- \
curl -k https://bedrock.<AWS_REGION>.amazonaws.com/foundation-models \
--aws-sigv4 "aws:amz:${REGION}:bedrock" \
--user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY"Untuk endpoint openai_compatible, uji terhadap nilai base_url dari konfigurasi model gateway kamu. Untuk infrastruktur air-gapped atau privat, ini adalah satu-satunya cara untuk memvalidasi konektivitas karena tidak adanya keterjangkauan eksternal secara desain.
Validasi autentikasi
Validasi kredensial sebelum mengodekannya sebagai secret di config.yaml. Kredensial yang buruk menyebabkan kegagalan startup Inference Service, sering kali dengan pesan log yang tidak jelas.
-
openai_compatible— uji API key secara langsung dari pod debug:curl -s https://<base_url>/v1/models \ -H "Authorization: Bearer <api_key>" | jq '.data[].id' -
bedrock— verifikasi nilaiAWS_ACCESS_KEYdanAWS_SECRET_ACCESS_KEYmenggunakan AWS CLI sebelum menambahkannya keconfig.yaml:aws bedrock list-foundation-models --region us-east-1 -
vertex— decode nilai base64GEMINI_CREDENTIALSdan konfirmasikan bahwa itu adalah JSON service-account yang valid sebelum menyediakannya:base64 -d <<< "$GEMINI_CREDENTIALS" | jq '.type' # Output yang diharapkan: "service_account"
Validasi sertifikat TLS
Jika menggunakan ca_cert_pem dengan endpoint openai_compatible, validasi sertifikat sebelum menyediakannya sebagai secret.
Verifikasi bahwa sertifikat berformat PEM dan belum kedaluwarsa:
echo "<cert content>" | openssl x509 -noout -datesKonfirmasikan bahwa sertifikat cocok dengan rantai CA endpoint:
openssl s_client -connect <host>:<port> -CAfile ca.peminsecure_skip_verify: true hanya dapat digunakan sementara selama debugging konektivitas awal. Hapus sebelum masuk ke tahap produksi (live). Jika ca_cert_pem merujuk ke environment variable yang tidak ada di bob.modelGateway.secrets, Inference Service berhasil menyala tetapi TLS gagal pada saat inferensi.
Validasi penemuan model (model discovery)
Konfirmasikan bahwa ID model di blok penyediamu sama persis dengan apa yang diekspos oleh penyedia. Ketidakcocokan menghasilkan error 404 atau model tidak ditemukan pada saat inferensi, bukan pada saat startup.
Untuk endpoint openai_compatible, periksa ID model yang tersedia sebelum instalasi:
curl -s https://<base_url>/v1/models \
-H "Authorization: Bearer <api_key>" | jq '.data[].id'Pemeriksaan kesalahan konfigurasi umum
| Kesalahan konfigurasi | Gejala | Pemeriksaan |
|---|---|---|
Nama secret di konfigurasi model tidak cocok dengan kunci di blok secrets config.yaml | Autentikasi gagal pada saat request time, bukan startup | Bandingkan setiap referensi env.* di konfigurasi model dengan kunci bob.modelGateway.secrets |
GEMINI_CREDENTIALS tidak di-encode base64 | Penyedia Vertex gagal mem-parsing kredensial saat startup | Jalankan base64 -d <<< "$VALUE" dan konfirmasikan itu adalah JSON yang valid dengan "type": "service_account" |
base_url menyertakan trailing / atau akhiran jalur | Penyedia mengembalikan 404 | Hapus trailing slash — gateway menambahkan jalur seperti /v1/chat/completions secara otomatis |
Nilai model_name duplikat dalam daftar models | Perilaku routing tidak terdefinisi | Pastikan semua nilai model_name unik di seluruh konfigurasi |
bobctl install dijalankan tanpa --model-config | Gateway kosong, tidak ada inferensi | Konfirmasikan --model-config diteruskan dan file dapat dibaca pada jalur yang ditentukan |
Env var ca_cert_pem didefinisikan di konfigurasi model tetapi hilang dari secrets | Kegagalan TLS pada saat inferensi | Periksa silang setiap referensi env.* di konfigurasi model terhadap blok secrets |