インストール前の検証
インストール前にモデル接続性、クレデンシャル、証明書、設定を検証して、Bob オンプレミスをデプロイする前にモデルゲートウェイの問題を特定して解決します。
Bob オンプレミスをインストールする前に、モデルエンドポイント、認証クレデンシャル、TLS 証明書、モデルゲートウェイ設定がターゲット OpenShift クラスターから正しく設定されアクセス可能であることを確認してください。これらの検証チェックを実行することで、デプロイ前に接続の問題、無効なクレデンシャル、証明書信頼の問題、設定エラーを特定でき、インストールの失敗とトラブルシューティングの手間を減らすことができます。
bobctl install を実行する前にこのチェックリストを確認して、設定の漏れを早期に発見してください。
モデルエンドポイントへの接続テスト
Bob コンポーネントがデプロイされる前に、OpenShift クラスターが各モデルエンドポイントに到達できることを確認します。ターゲット名前空間に一時的なデバッグ Pod を起動して、HTTPS の到達可能性を直接テストします。
# 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"openai_compatible エンドポイントの場合は、モデルゲートウェイ設定の base_url 値に対してテストします。エアギャップまたはプライベートインフラの場合、外部への到達可能性がないため、これが接続を検証する唯一の方法です。
認証の検証
クレデンシャルを config.yaml のシークレットとしてエンコードする前に検証してください。不正なクレデンシャルは Inference Service の起動失敗を引き起こし、多くの場合、不可解なログメッセージとなります。
-
openai_compatible— デバッグ Pod から API キーを直接テストします。curl -s https://<base_url>/v1/models \ -H "Authorization: Bearer <api_key>" | jq '.data[].id' -
bedrock—config.yamlに追加する前にAWS_ACCESS_KEYとAWS_SECRET_ACCESS_KEYの値を AWS CLI で検証します。aws bedrock list-foundation-models --region us-east-1 -
vertex—GEMINI_CREDENTIALSの base64 値をデコードして、提供する前に有効なサービスアカウント JSON であることを確認します。base64 -d <<< "$GEMINI_CREDENTIALS" | jq '.type' # 期待される出力: "service_account"
TLS 証明書の検証
openai_compatible エンドポイントで ca_cert_pem を使用している場合は、シークレットとして提供する前に証明書を検証してください。
証明書が PEM エンコードされており期限切れでないことを確認します。
echo "<cert content>" | openssl x509 -noout -dates証明書がエンドポイントの CA チェーンに一致することを確認します。
openssl s_client -connect <host>:<port> -CAfile ca.peminsecure_skip_verify: true は初期接続デバッグ中の一時的な使用のみに使用できます。本番環境に移行する前に削除してください。ca_cert_pem が bob.modelGateway.secrets に存在しない環境変数を参照している場合、Inference Service は正常に起動しますが、推論時に TLS が失敗します。
モデルディスカバリーの検証
プロバイダーブロックの model ID がプロバイダーが公開しているものと完全に一致することを確認します。不一致は起動時ではなく推論時に 404 またはモデルが見つからないエラーを引き起こします。
openai_compatible エンドポイントの場合は、インストール前に利用可能なモデル ID を確認します。
curl -s https://<base_url>/v1/models \
-H "Authorization: Bearer <api_key>" | jq '.data[].id'一般的な設定ミスのチェック
| 設定ミス | 症状 | チェック |
|---|---|---|
モデル設定のシークレット名が config.yaml の secrets ブロックのキーと一致しない | 起動時ではなくリクエスト時に認証失敗 | モデル設定のすべての env.* 参照と bob.modelGateway.secrets キーを比較する |
GEMINI_CREDENTIALS が base64 エンコードされていない | 起動時に Vertex プロバイダーがクレデンシャルの解析に失敗 | base64 -d <<< "$VALUE" を実行して、"type": "service_account" を持つ有効な JSON であることを確認する |
base_url に末尾の / またはパスサフィックスが含まれている | プロバイダーが 404 を返す | 末尾のスラッシュを削除する — ゲートウェイ自身が /v1/chat/completions などのパスを追加します |
models リストに重複した model_name 値 | 未定義のルーティング動作 | 設定全体ですべての model_name 値が一意であることを確認する |
bobctl install を --model-config なしで実行 | 空のゲートウェイ、推論なし | --model-config が渡されており、ファイルが指定されたパスで読み取り可能であることを確認する |
ca_cert_pem 環境変数がモデル設定で定義されているが secrets から欠落 | 推論時の TLS 失敗 | モデル設定のすべての env.* 参照を secrets ブロックと相互確認する |