コンテナにおける問題のトラブルシューティング

SIPEnvironment のセットアップ中に、インストール、Persistent Volume、 SSL、およびその他の問題に関連するエラーが発生する可能性があります。 この情報を参照し、必要に応じて必要な是正措置をとる。

インストール・エラー

  • エラー・メッセージ
    セキュリティ・コンテキスト制約に対して検証できません: [プロバイダ "anyuid":Forbidden: userまたはserviceaccountでは使用できません。プロバイダ restricted-v2:.containers[ 0].runAsUser: 無効な値: 1000: 以下の範囲でなければなりません
    原因
    このエラーは、コンテナが runAsUser の値を 1000 として実行しようとしたときに発生する。この値は、 OpenShift で割り当てられたセキュリティコンテキスト制約(SCC)によって許可されていない。
    アクション
    コンテナが許可された範囲内の適切な UID で実行されるように、制限付きまたはカスタム SCC のユーザ UID 範囲をネームスペース・レベルで構成する必要があります。

    ネームスペースに割り当てられるUID範囲が、指定された範囲(1000/100)に収まっていることを確認することが重要です。 これにより、セキュリティ上の制約を確実に遵守することができる。 プローブ・ジョブのステータスにエラーがないか確認する。

  • エラー・メッセージ
    画像"<image_repo>/image_name "のプルに失敗しました
    原因
    指定された画像またはタグがレジストリに存在しない。 エラーの詳細については、失敗したポッドのイベント詳細を確認してください。
    アクション
    SIPEnvironment カスタムリソースの image パラメータに記載されているすべての必要なイメージが指定されたリポジトリにプッシュされていることを確認します。 詳細については、 「image」パラメータを参照してください。
  • エラー・メッセージ
    画像"<image_repo>/image_name "のpullに失敗しました ベアラートークンを要求しています: レジストリからの無効なステータスコード 400 (Bad Request)
    原因
    指定されたレジストリには認証が必要ですが、認証情報がないか、間違っている可能性があります。 エラーの詳細については、失敗したポッドのイベント詳細を確認してください。
    アクション
    SIPEnvironment カスタムリソースの image パラメータで指定された imagePullSecrets に、正しい認証情報が設定されていることを確認する。
  • エラー・メッセージ
    Truststore ジョブの失敗 : コンテナ "sip-truststore-job" の volumeMount "shared-volume" の subPath の準備に失敗しました
    原因
    永続ボリューム(PV)に、コンテナがマウントされたパスにアクセスまたは変更するために必要な権限がない。 詳細なエラーについては、トラストストア・ジョブのイベント詳細を確認してください
    アクション
    PVとそれに対応するPersistent Volume Claim(PVC)の所有権と書き込み権限が正しいことを確認する。
  • エラー・メッセージ
    Truststore ジョブの失敗 : keytool エラー: java.io.IOException: キーストアのパスワードが間違っていました
    原因
    トラストストアのパスワードが間違っているため、インポート処理でキーストアにアクセスできません。 トラストストア・ポッドのログをチェックして、詳細なエラーを確認する。
    アクション
    SIPEnvironment カスタムリソースで指定されている Sterling Intelligent Promising シークレットの正しいトラストストアのパスワードを確認し、更新する。
  • エラー・メッセージ
    ES co.elastic.clients.elasticsearch._types.ElasticsearchException: [es/get] で例外が発生しました:[index_not_found_exception] 失敗しました
    原因
    この問題は、インストール中に Cassandra と Elasticsearch の状態が不一致になるために発生します。 具体的には以下のとおりです。
    • Cassandra には、以前のインストールまたは部分的なセットアップのデータがすでに含まれています。
    • しかし、 Elasticsearch、既存のインデックスがないフレッシュな状態である。
    • Cassandra レコードに対応する必要があるデータを Elasticsearch から取得しようとすると、必要なインデックスが見つからず、index_not_found_exception が発生する。
    アクション
    両方のサービスにデータの不一致がないことを確認する。 Cassandra と Elasticsearch のデータを含む既存のセットアップを削除し、インストールプロセスを再起動することで、一貫性のある状態にすることができます。
  • エラー・メッセージ
    Cassandra テーブルとキースペースは再起動後に削除される
    原因
    この問題は、 Cassandra ストレージが SIPEnvironmentで正しく設定されていないために発生します。 その結果、 Cassandra はエフェメラル・ストレージで実行され、ポッドが再起動すると、キースペースやテーブルを含むすべての保存データが失われる。
    アクション
    Cassandra、 Elasticsearch、 Kafka などのミドルウェアサービス用に、 SIPEnvironmentで永続ストレージを定義してください。 詳細については、 「 externalServices 」パラメータを参照してください。

パーシステントボリューム(PV)とパーシステントボリュームクレーム(PVC)のエラー

  • エラー・メッセージ
    PVCが製本されるのを待つ
    原因
    この問題は、パーシステントボリュームクレーム(PVC)がパーシステントボリューム(PV)に正常にバインドされず、ペンディング状態で立ち往生している場合に発生します。 詳細なエラーについては、 SIPEnvironmentのステータスを確認してください。
    アクション
    以下のチェックが完了していることを確認する。
    • PVCの状態を確認する。
    • 利用可能な永続ボリューム(PV)を確認し、要求されたサイズ、アクセスモード、ストレージクラスでPVが存在し、利用可能な状態であることを確認する。
    • 正しいストレージクラスが使用されていることを確認する。
    • 保管が不十分でないか。
    • ネームスペースのリソース・クォータを確認する。
    • 必要に応じてPVCを削除し、再作成する。
  • エラー・メッセージ
    PVCが書き込み可能になるのを待つ
    原因
    この問題は、Persistent Volume Claim(PVC)がPersistent Volume(PV)にバインドされているが、そのボリュームがまだ書き込み操作に使用可能になっていない場合に発生します。 詳細なエラーについては、 SIPEnvironmentのステータスを確認してください。
    アクション
    永続ボリューム(PV)のマウント・パスに正しいパーミッションが設定され、アプリケーションから書き込み可能であることを確認する。

SSL および外部サービスへの接続エラー

  • エラー・メッセージ
    リクエストの送信に失敗しました ( javax.net.ssl.SSLHandshakeException: 証明書の署名検証に失敗しました)。原因 javax.net.ssl.SSLHandshakeException: PKIX パスの構築に失敗しました: sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な認証パスを見つけることができません
    原因
    このエラーは、 Cassandra、 Elasticsearch、または Kafka などのミドルウェア・サービスへのセキュアな接続を確立 Sterling Intelligent Promising しようとした際、 SSL または TLS の証明書検証に失敗した場合に発生します。 この障害は、以下のいずれかの理由で発生する:
    • トラストストアの構成がない、または正しくない: Sterling Intelligent Promising 、設定されている正しいトラストストアがないか、必要な証明書が含まれていない。
    • 証明書の有効期限が切れているか、無効です:証明書の有効期限が切れているか、ミドルウェア・サービスのホスト名と一致しません。
    • 中間 CA 証明書がない:証明書チェーンが不完全なため、検証に失敗する。
    アクション
    • ミドルウェア・サービスが、信頼できるCAによって署名された証明書を使用していることを確認する。
    • 正しい CA 証明書を Sterling Intelligent Promising のトラストストアにインポートする。
    • 証明書の有効性を確認する。
    • ジョブをトリガーするには、 apps.sip.ibm.com/validate-external-services-connections アノテーションを true に設定する。 オペレーターはジョブをトリガーして、開発環境と本番環境の外部インスタンスの接続をチェックします。 接続に失敗するとプロセスが停止し、エラー処理によってエラーが確実にポッドログに記録されるため、正確なデバッグが可能になります。 このアノテーションは、 Sterling Intelligent Promising がデプロイされる前に、外部ミドルウェア・サービスの接続性をチェックするデプロイ前検証ジョブを有効にします。

各種

  • 問題点
    以下の Kafka トピックについて state=empty 、一般ユーザーグループ向けの遅延が増加しています:
    • {topicPrefix} - {environment} -kachper-data-change
    • {topicPrefix} - {environment} -prm-cache-notifications
    • {topicPrefix} - {environment} -rules-cache-notification
    原因
    これらの消費者グループは、キャッシュ更新通知を受信するためにアプリケーション・ポッドによって使用されました。 アプリケーション・ポッドが利用できなくなったため、これらのグループからのメッセージは消費されなくなっています。 これらのトピックに新しい通知が次々と送信され続けると、これらの空の状態のコンシューマーには大きな遅延が生じます。
    アクション
    アプリケーションの観点からは、特に何もする必要はありません。 状態が空のこれらの消費者グループは無視しても構いません。 これらのコンシューマーグループは、 Kafka ブローカーのメタデータ保持設定に基づき、 Kafka によって自動的に削除されます。