İşlemler ve sorun giderme

Model yapılandırma güncellemeleri, kimlik bilgisi rotasyonu, sağlık izleme, log toplama ve yaygın bağlantı ile kimlik doğrulama sorunlarının çözümü dahil olmak üzere Model Gateway dağıtımlarını izleyin, bakımını yapın ve sorunlarını giderin.

Dağıtımdan sonra Model Gateway'in sürekli operasyonel yönetimi, yapılandırılan yapay zeka modellerine güvenilir erişim sağlamaya yardımcı olur ve hizmet kesintilerini en aza indirir. Yöneticiler etkin model yapılandırmalarını gözden geçirebilir, sağlayıcı kimlik bilgilerini güncelleyebilir, secret'ları döndürebilir (rotate), ağ geçidi sağlığını izleyebilir ve sorunlar ortaya çıktığında tanılama bilgileri toplayabilir.

Yapılandırılan modelleri görüntüleme

Modelleri görüntülemenin iki düzeyi vardır — yapılandırmada ne olduğu ve bob-inference bileşeninin çalışma zamanında gerçekte ne yüklediği.

  • Yapılandırma düzeyi — çıkarım ConfigMap'inden mevcut model gateway yapılandırmasını alın:
    oc get cm bob-inference-config -n <bob-namespace> -o yaml | yq '.data."config.yaml"'
  • Çalışma zamanı düzeyi — bob-inference bileşeninin neyi kaydettiği ve etkin olarak neye yönlendirdiği: doğrudan /v1/models endpoint'ini sorgulayın (bkz. Model bağlantısını doğrulama).
Not:

Çalışma zamanı /v1/models endpoint'i yalnızca exposed: true olan modelleri listeler. Yapılandırılan modellerin tamamını görmenin tek yolu yapılandırma dosyasıdır.

Sağlayıcı kimlik bilgilerini güncelleme

Kimlik bilgileri bob.modelGateway.secrets alanından ortam değişkenleri olarak bağlanır. Bunları güncellemek iki adımlı bir işlemdir — secret değerini güncelleyin, ardından yeni bağlantıyı almak için Inference Service'i yeniden başlatın.

Secret'ı güncelleyin

Bob CR'ını düzenleyin ve yeni değeri uygulayın:

oc edit bob <instance-name> -n <bob-namespace>
# bob.modelGateway.secrets altındaki değeri güncelleyin

Inference Service'i yeniden başlatın

Yeni secret'ın bağlanması için Inference Service'i yeniden başlatın:

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

Inference Service pod'u herhangi bir secret güncellemesinden sonra yeniden başlatılmalıdır. Model yapılandırma değişiklikleri (model ekleme veya kaldırma, base_url değiştirme) ve secret değişiklikleri tek bir CR güncellemesinde toplanıp ardından tek bir yeniden başlatma yapılabilir.

Secret rotasyonu (döndürme)

Secret rotasyonu, kesinti süresini önlemek için zamanlamaya ekstra özen gösterilerek bir kimlik bilgisi güncellemesiyle aynı modeli izler.

Önerilen kesintisiz (zero-downtime) rotasyon sırası:

  1. bob.modelGateway.secrets alanını yeni kimlik bilgisi değeriyle güncelleyin.
  2. Inference Service'i yeniden başlatın: oc rollout restart deploy/inference-service -n <bob-namespace>.
  3. Kurulum sonrası doğrulama bölümündeki çıkarım testini kullanarak yeni kimlik bilgisinin çalıştığını onaylayın.
  4. Eski kimlik bilgisini sağlayıcı tarafında yalnızca pod'un sağlıklı olduğu onaylandıktan sonra iptal edin.

Sağlayıcıya özgü notlar:

  • openai_compatible / API anahtarları — yeni anahtar yeniden başlatıldığında hemen geçerli olur. Pod sağlıklı olduğunda eski anahtarı iptal etmek güvenlidir.
  • bedrock — yeniden başlatmadan önce yeni IAM erişim anahtarının AWS'de etkin olduğundan emin olun. IAM yayılımı birkaç saniye sürebilir.
  • vertex — yeni servis hesabı anahtarını oluşturun ve base64 ile kodlayın, secret'ı güncelleyin, yeniden başlatıp doğrulayın ve ardından GCP'de eski anahtarı silin.
  • ca_cert_pem — sertifika yenileme için, uygulamadan önce yeni sertifikanın süresinin dolmadığını doğrulayın. Bkz. TLS sertifikası doğrulama.

Ağ geçidi sağlığını izleme

Pod yeniden başlatma sayısı — artan bir yeniden başlatma sayısı, yinelenen bir başlangıç arızasının (hatalı secret bağlantısı, yapılandırma ayrıştırma hatası) erken bir işaretidir:

oc get pods -n <bob-namespace> -l app=bob-inference \
  -o custom-columns='NAME:.metadata.name,RESTARTS:.status.containerStatuses[0].restartCount'

Liveness ve readiness probları — mevcut prob yapılandırmasını ve durumunu kontrol edin:

oc describe deploy/bob-inference -n <bob-namespace> | grep -A 10 "Liveness\|Readiness"

Periyodik sağlık kontrolü — /v1/models endpoint'i basit bir liveness kontrolü görevi görür. Geçerli bir model listesi döndürürse ağ geçidi ayaktadır. Bu, bir izleme aracından veya küme içindeki bir cron job'dan sorgulanabilir.

Logları ve tanılamaları toplama

Belirli bir zaman aralığı için loglar (bildirilen bir olayı incelerken en kullanışlı olanıdır):

oc logs -n <bob-namespace> deploy/bob-inference \
  --since-time="2025-01-01T12:00:00Z" > bob-inference.log

Önceki bir pod örneğinden loglar (pod yeniden başlatılmışsa ve arıza logları gitmişse):

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

Destek için tam tanılama paketi:

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

Tanılama paketi pod ortam değişkeni adlarını içerir ancak secret değerlerini içermez (secret'lar bağlanır, loglara yazdırılmaz). Desteğe göndermeden önce kazara kimlik bilgisi çıktısı olup olmadığını görmek için logları inceleyin.

Bağlantı ve kimlik doğrulama sorunlarını giderme

Model /v1/models içinde görünmüyor

  1. exposed: false olarak ayarlanıp ayarlanmadığını kontrol edin — öyleyse bu beklenen bir davranıştır.
  2. Bu model_name için başlangıç loglarında bir kayıt hatası olup olmadığını kontrol edin.
  3. Sağlayıcı bloğunu doğrulayın — doğru base_url, model ID'si ve kimlik bilgileri.

Çıkarım isteklerinde 401 Unauthorized

  1. bob.modelGateway.secrets içindeki secret değerinin doğru ve güncel olduğunu onaylayın.
  2. Model yapılandırmasındaki env.<VAR> referansının secret anahtar adıyla tam olarak eşleştiğini (büyük/küçük harfe duyarlı) onaylayın.
  3. Inference Service'i yeniden başlatın ve tekrar deneyin — secret yeniden başlatılmadan güncellenmiş olabilir.
  4. Kimlik bilgisini bant dışı (out-of-band) test edin. Bkz. Kimlik doğrulama doğrulaması.

502 Bad Gateway veya connection refused

  1. Model endpoint'inin ayakta olduğunu ve kümeden erişilebilir olduğunu onaylayın. Bkz. Bağlantı testi.
  2. base_url sorunlarını kontrol edin — sondaki eğik çizgiler, yanlış şema (http ve https), yanlış port.
  3. Kurulumdan bu yana giden trafiği engellemiş olabilecek ağ politikası değişikliklerini kontrol edin.

certificate signed by unknown authority

  1. ca_cert_pem ayarlandığını ve geçerli bir ortam değişkenine referans verdiğini onaylayın.
  2. Ortam değişkeninin bob.modelGateway.secrets içinde bulunduğunu onaylayın.
  3. Sertifikanın süresinin dolmadığını doğrulayın: openssl x509 -noout -dates.
  4. Subject Alternative Names (SAN) kontrol ederek sertifikanın endpoint'in hostname bilgisini kapsadığını onaylayın.

Inference Service pod'u CrashLoopBackOff durumunda

  1. Önceki örnekten logları kontrol edin: oc logs --previous.
  2. Yapılandırma ayrıştırma hatalarını arayın — model gateway yapılandırmasında hatalı biçimlendirilmiş YAML.
  3. Events bölümünde eksik secret bağlantılarını arayın: oc describe pod.
  4. Yeniden uygulamadan önce model gateway yapılandırma YAML'ının geçerli olduğunu onaylayın.
Bu konu nasıl?