インストール前の検証

インストール前にモデル接続性、クレデンシャル、証明書、設定を検証して、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.pem
警告:

insecure_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 ブロックと相互確認する
このトピックはいかがですか?