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 nilai AWS_ACCESS_KEY dan AWS_SECRET_ACCESS_KEY menggunakan AWS CLI sebelum menambahkannya ke config.yaml:

    aws bedrock list-foundation-models --region us-east-1
  • vertex — decode nilai base64 GEMINI_CREDENTIALS dan 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 -dates

Konfirmasikan bahwa sertifikat cocok dengan rantai CA endpoint:

openssl s_client -connect <host>:<port> -CAfile ca.pem
Peringatan:

insecure_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 konfigurasiGejalaPemeriksaan
Nama secret di konfigurasi model tidak cocok dengan kunci di blok secrets config.yamlAutentikasi gagal pada saat request time, bukan startupBandingkan setiap referensi env.* di konfigurasi model dengan kunci bob.modelGateway.secrets
GEMINI_CREDENTIALS tidak di-encode base64Penyedia Vertex gagal mem-parsing kredensial saat startupJalankan base64 -d <<< "$VALUE" dan konfirmasikan itu adalah JSON yang valid dengan "type": "service_account"
base_url menyertakan trailing / atau akhiran jalurPenyedia mengembalikan 404Hapus trailing slash — gateway menambahkan jalur seperti /v1/chat/completions secara otomatis
Nilai model_name duplikat dalam daftar modelsPerilaku routing tidak terdefinisiPastikan semua nilai model_name unik di seluruh konfigurasi
bobctl install dijalankan tanpa --model-configGateway kosong, tidak ada inferensiKonfirmasikan --model-config diteruskan dan file dapat dibaca pada jalur yang ditentukan
Env var ca_cert_pem didefinisikan di konfigurasi model tetapi hilang dari secretsKegagalan TLS pada saat inferensiPeriksa silang setiap referensi env.* di konfigurasi model terhadap blok secrets
Bagaimana topik ini?