Operasi dan pemecahan masalah
Pantau, pelihara, dan atasi masalah deployment Model Gateway, termasuk pembaruan konfigurasi model, rotasi kredensial, pemantauan kesehatan, pengumpulan log, serta penyelesaian masalah konektivitas dan autentikasi umum.
Setelah deployment, manajemen operasional berkelanjutan dari Model Gateway membantu memastikan akses yang andal ke model AI yang dikonfigurasi dan meminimalkan gangguan layanan. Administrator dapat meninjau konfigurasi model aktif, memperbarui kredensial penyedia, merotasi secret, memantau kesehatan gateway, dan mengumpulkan informasi diagnostik saat terjadi masalah.
Melihat model yang dikonfigurasi
Ada dua tingkat dalam melihat model — apa yang ada dalam konfigurasi dan apa yang sebenarnya telah dimuat oleh bob-inference saat runtime.
- Tingkat konfigurasi — ambil konfigurasi model gateway saat ini dari ConfigMap inferensi:
oc get cm bob-inference-config -n <bob-namespace> -o yaml | yq '.data."config.yaml"' - Tingkat runtime — apa yang telah didaftarkan oleh
bob-inferencedan secara aktif dirutekan:oc exec -n <bob-namespace> deploy/bob-gateway -- \ curl -sk https://bob-inference.<bob-namespace>.svc.cluster.local:7330/v1/model/info | jq .
Endpoint /v1/model/info runtime hanya mencantumkan model dengan exposed: true. File konfigurasi adalah satu-satunya cara untuk melihat kumpulan lengkap model yang dikonfigurasi.
Memperbarui kredensial penyedia
Kredensial disimpan di bawah bob.modelGateway.secrets di config.yaml. Gunakan bobctl update-model-config --update-secrets untuk mendorong kredensial yang diperbarui ke cluster.
Perbarui kredensial
Perbarui kredensial di config.yaml di bawah bob.modelGateway.secrets.
Dorong secret yang diperbarui ke cluster
bobctl update-model-config --update-secretsibm-bob-operator merekonsiliasi deployment bob-inference dan memasang secret baru secara otomatis.
Jika kamu memperbarui file konfigurasi model dan kredensial secara bersamaan, kamu dapat mendorong keduanya dalam satu perintah:
bobctl update-model-config --model-config ./my-model-config.yaml --update-secretsMerotasi secret
Rotasi secret mengikuti pola yang sama dengan pembaruan kredensial, dengan kehati-hatian ekstra pada penentuan waktu untuk menghindari downtime.
Urutan rotasi zero-downtime yang direkomendasikan:
- Perbarui
bob.modelGateway.secretsdiconfig.yamldengan nilai kredensial baru. - Dorong secret baru ke cluster:
bobctl update-model-config --update-secrets. - Restart Inference Service untuk menerapkan secret baru:
oc rollout restart deploy/inference-service -n <bob-namespace> - Konfirmasikan kredensial baru berfungsi menggunakan uji inferensi dari Verifikasi pasca-instalasi.
- Cabut kredensial lama di sisi penyedia hanya setelah deployment dipastikan sehat.
Catatan khusus penyedia:
openai_compatible/ API keys — kunci baru langsung berlaku setelah secret diperbarui. Aman untuk mencabut kunci lama setelah deployment sehat.bedrock— pastikan access key IAM baru aktif di AWS sebelum menjalankanupdate-model-config. Propagasi IAM dapat memakan waktu beberapa detik.vertex— buat dan encode service account key baru ke base64, perbaruiconfig.yaml, jalankanbobctl update-model-config --update-secrets, verifikasi, lalu hapus kunci lama di GCP.ca_cert_pem— untuk perpanjangan sertifikat, verifikasi bahwa sertifikat baru belum kedaluwarsa sebelum menerapkannya. Lihat Validasi sertifikat TLS.
Memantau kesehatan gateway
Jumlah restart pod — jumlah restart yang meningkat merupakan sinyal awal adanya kegagalan startup yang berulang (pemasangan secret yang buruk, error parsing konfigurasi):
oc get pods -n <bob-namespace> -l app=bob-inference \
-o custom-columns='NAME:.metadata.name,RESTARTS:.status.containerStatuses[0].restartCount'Probe liveness dan readiness — periksa konfigurasi dan status probe saat ini:
oc describe deploy/bob-inference -n <bob-namespace> | grep -A 10 "Liveness\|Readiness"Pemeriksaan kesehatan berkala — endpoint /v1/model/info berfungsi sebagai pemeriksaan keaktifan (liveness check) sederhana. Jika mengembalikan daftar model yang valid, gateway aktif. Ini dapat di-polling dari alat pemantauan atau cron job di dalam cluster.
Mengumpulkan log dan diagnostik
Log untuk jendela waktu tertentu (paling berguna saat menyelidiki insiden yang dilaporkan):
oc logs -n <bob-namespace> deploy/bob-inference \
--since-time="2025-01-01T12:00:00Z" > bob-inference.logLog dari instance pod sebelumnya (jika pod telah di-restart dan log kegagalan hilang):
oc logs -n <bob-namespace> deploy/bob-inference --previousBundel diagnostik lengkap untuk tim support:
oc describe pod -n <bob-namespace> -l app=bob-inference >> diagnostics.txt
oc get events -n <bob-namespace> --sort-by='.lastTimestamp' >> diagnostics.txt
oc logs -n <bob-namespace> deploy/bob-inference --since=1h >> diagnostics.txtBundel diagnostik berisi nama environment variable pod tetapi bukan nilai secret (secret dipasang, tidak dicetak ke log). Tinjau log untuk setiap keluaran kredensial yang tidak disengaja sebelum mengirimkannya ke tim support.
Memecahkan masalah konektivitas dan autentikasi
Model tidak muncul di /v1/model/info
- Periksa apakah
exposed: falsediatur — jika ya, ini adalah perilaku yang diharapkan. - Periksa log startup untuk mencari error pendaftaran untuk
model_nametersebut. - Verifikasi blok penyedia — pastikan
base_url, IDmodel, dan kredensial sudah benar.
401 Unauthorized pada permintaan inferensi
- Konfirmasikan nilai secret dalam
bob.modelGateway.secretssudah benar dan masih berlaku. - Konfirmasikan referensi
env.<VAR>dalam konfigurasi model sama persis dengan nama kunci secret (case-sensitive). - Restart Inference Service dan coba lagi — secret mungkin telah diperbarui tanpa restart.
- Uji kredensial di luar gateway. Lihat Validasi autentikasi.
502 Bad Gateway atau connection refused
- Konfirmasikan endpoint model aktif dan dapat dijangkau dari cluster. Lihat Pengujian konektivitas.
- Periksa masalah
base_url— trailing slash, skema yang salah (httpvshttps), port yang salah. - Periksa perubahan network policy yang mungkin memblokir lalu lintas keluar sejak instalasi.
certificate signed by unknown authority
- Konfirmasikan
ca_cert_pemdiatur dan merujuk ke env var yang valid. - Konfirmasikan env var ada di
bob.modelGateway.secrets. - Verifikasi sertifikat belum kedaluwarsa:
openssl x509 -noout -dates. - Konfirmasikan sertifikat mencakup hostname endpoint dengan memeriksa Subject Alternative Names.
Pod Inference Service dalam CrashLoopBackOff
- Periksa log dari instance sebelumnya:
oc logs --previous. - Cari error parsing konfigurasi — YAML yang salah bentuk di konfigurasi model gateway.
- Cari kegagalan pemasangan secret di bagian Events:
oc describe pod. - Konfirmasikan YAML konfigurasi model gateway valid sebelum menerapkan ulang.