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-inference dan secara aktif dirutekan: lakukan kueri endpoint /v1/models secara langsung (lihat Validasi konektivitas model).
Catatan:

Endpoint /v1/models runtime hanya mencantumkan model dengan exposed: true. File konfigurasi adalah satu-satunya cara untuk melihat kumpulan lengkap model yang dikonfigurasi.

Memperbarui kredensial penyedia

Kredensial dipasang sebagai environment variable dari bob.modelGateway.secrets. Memperbaruinya adalah operasi dua langkah — perbarui nilai secret, lalu restart Inference Service untuk memuat pemasangan baru.

Perbarui secret

Edit CR Bob dan terapkan nilai baru:

oc edit bob <instance-name> -n <bob-namespace>
# Perbarui nilai di bawah bob.modelGateway.secrets

Restart Inference Service

Restart Inference Service agar secret baru dipasang:

oc rollout restart deploy/inference-service -n <bob-namespace>
oc rollout status deploy/inference-service -n <bob-namespace>
Peringatan:

Pod Inference Service harus di-restart setelah setiap pembaruan secret. Perubahan konfigurasi model (menambah atau menghapus model, mengubah base_url) dan perubahan secret dapat digabungkan ke dalam satu pembaruan CR yang diikuti oleh satu kali restart.

Merotasi 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:

  1. Perbarui bob.modelGateway.secrets dengan nilai kredensial baru.
  2. Restart Inference Service: oc rollout restart deploy/inference-service -n <bob-namespace>.
  3. Konfirmasikan kredensial baru berfungsi menggunakan uji inferensi dari Verifikasi pasca-instalasi.
  4. Cabut kredensial lama di sisi penyedia hanya setelah pod dipastikan sehat.

Catatan khusus penyedia:

  • openai_compatible / API keys — kunci baru langsung berlaku saat restart. Aman untuk mencabut kunci lama setelah pod sehat.
  • bedrock — pastikan access key IAM baru aktif di AWS sebelum melakukan restart. Propagasi IAM dapat memakan waktu beberapa detik.
  • vertex — buat dan encode service account key baru ke base64, perbarui secret, restart dan 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/models 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.log

Log dari instance pod sebelumnya (jika pod telah di-restart dan log kegagalan hilang):

oc logs -n <bob-namespace> deploy/bob-inference --previous

Bundel 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.txt
Catatan:

Bundel 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/models

  1. Periksa apakah exposed: false diatur — jika ya, ini adalah perilaku yang diharapkan.
  2. Periksa log startup untuk mencari error pendaftaran untuk model_name tersebut.
  3. Verifikasi blok penyedia — pastikan base_url, ID model, dan kredensial sudah benar.

401 Unauthorized pada permintaan inferensi

  1. Konfirmasikan nilai secret dalam bob.modelGateway.secrets sudah benar dan masih berlaku.
  2. Konfirmasikan referensi env.<VAR> dalam konfigurasi model sama persis dengan nama kunci secret (case-sensitive).
  3. Restart Inference Service dan coba lagi — secret mungkin telah diperbarui tanpa restart.
  4. Uji kredensial di luar gateway. Lihat Validasi autentikasi.

502 Bad Gateway atau connection refused

  1. Konfirmasikan endpoint model aktif dan dapat dijangkau dari cluster. Lihat Pengujian konektivitas.
  2. Periksa masalah base_url — trailing slash, skema yang salah (http vs https), port yang salah.
  3. Periksa perubahan network policy yang mungkin memblokir lalu lintas keluar sejak instalasi.

certificate signed by unknown authority

  1. Konfirmasikan ca_cert_pem diatur dan merujuk ke env var yang valid.
  2. Konfirmasikan env var ada di bob.modelGateway.secrets.
  3. Verifikasi sertifikat belum kedaluwarsa: openssl x509 -noout -dates.
  4. Konfirmasikan sertifikat mencakup hostname endpoint dengan memeriksa Subject Alternative Names.

Pod Inference Service dalam CrashLoopBackOff

  1. Periksa log dari instance sebelumnya: oc logs --previous.
  2. Cari error parsing konfigurasi — YAML yang salah bentuk di konfigurasi model gateway.
  3. Cari kegagalan pemasangan secret di bagian Events: oc describe pod.
  4. Konfirmasikan YAML konfigurasi model gateway valid sebelum menerapkan ulang.
Bagaimana topik ini?