コンテンツ・アウェア・ストレージ (CAS) サービスにおける問題と既知の制限事項のトラブルシューティング

CAS サービスにおける一般的なトラブルシューティングの手順と制限。

IBM Fusionでは CASクエリアクセスコントロールはサポートされていません。 2.10.1

問題提起
IBM Fusion のバージョン およびそれ以前のバージョンは、 2.10.1 CAS v1.0.4 で導入された CAS ACL 機能をサポートしていません。
原因

/api/v1/querysearch エンドポイントでは、 CAS ACL の代わりに IBM Fusion のネイティブ認証メソッドが引き続き使用されます。

解決策

/querysearch エンドポイントの IBM Fusion 認証を一時的にバイパスするには、以下の手順を実行します:

  1. fusion ネームスペースで、 isf-proxy-XXXX ポッドのターミナルを開く:
    cd /etc/nginx
    vi nginx.conf
  2. /querysearch ブロックを探し、以下の行を削除する:
    auth_request /auth;

    更新されたコードは次のようになるはずだ:

    location /api/v1/querysearch {
      set $upstreamem 'https://query-search.ibm-cas.svc.cluster.local:8000';
      proxy_pass $upstreamem$request_uri;
    }
  3. 保存してエディタを終了します:
    wq!
  4. NGINXをリロードします:
    nginx -s reload
  5. 2つ目の isf-proxy ポッドも同様にする。
    注: この回避策は、 isf-proxy ポッドを更新するたびに必要です。

query_service configmapとデプロイメントでのエラー

問題提起
CAS を v1.0.3 から v1.0.4 にアップグレードする場合、アクセス制御リスト (ACL)処理のエラーを防ぐために、 ConfigMap といくつかのデプロ イメント設定を追加する必要があります。
原因
外部のIDP(Identity Provider)トークンが提供されている場合に、クエリサービスAPIが機能しない。
解決策
  1. 以下を作成する。 ConfigMap:
    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: query-search-config
      namespace: ibm-cas
    data:
      use_self_cert: 'false'
  2. クエリ検索の配置を更新する:
    1. readOnlyRootFilesystem 属性を'true'に設定する。
    2. クエリサービスデプロイの env セクションに、次のエントリを追加します:
      - name: ENABLE_FILE_LEVEL_SECURITY
        value: false
    3. volumes 、以下のセクションを追加する:
      - name: query-search-config
        configMap:
          name: query-search-config
          defaultMode: 420
      - name: ibm-cas-cabundle
        configMap:
          name: openshift-service-ca.crt
          items:
          - key: service-ca.crt
            path: service-ca.crt
    4. volumeMounts 、以下のセクションを追加する:
      - name: "query-search-config"
        readOnly: true
        mountPath: "/etc/config/cm/"
      - name: ibm-cas-cabundle
        readOnly: true
        mountPath: /etc/config/cabundle

nv-ingest pod は imagepullback エラー中です

問題提起
docker.io へのリクエストが多すぎるため、 nv-ingest ポッドが imagepullback エラー状態になっています。
原因と解決策
  1. 原因がある

    docker.io

    解決方法 docker.io

  2. 原因がある

    nv-ingest ポッドが画像を正しく引き出せない。

    解決チェック NVIDIA ガイドを参照してください。

CAS インジェストに失敗

問題提起
CASの取り込みに失敗し、 cast-runtime ポッドのログに以下のエラーが表示されました:

2025-03-26 22:46:36,725 - ERROR - 取得中にエラーが発生しました。 
エラー: HTTPSConnectionPool(host='nv-ingest. nv-ingest.svc.cluster.local ', port=7670 ): 
url で最大再試行回数を超えました: /v1/fetch_job/ (SSLError(SSLError(1,'[SSL]レコード層の失敗( _ssl.c:1006 )')が原因))
原因
https NVIDIA NIM サービスが利用できないことを意味する。
解決策
  1. cast-runtime
  2. value パラメーターで、 httpshttp に変更する:
    - name: NVMM_NIM_SERVICE
    value: https://nv-ingest.nv-ingest.svc.cluster.local
    - name: NVMM_NIM_SERVICE
    value: http://nv-ingest.nv-ingest.svc.cluster.local
    

semantic_searchのエラー

問題提起
クエリ検索ポッドでは、 semantic_search 中に以下のエラーが発生することがあります:

ERROR: querysearch/semantic_search failed 接続エラー。
トレースバック (最近の呼び出しの最後):
ファイル " /opt/app-root/lib64/python3.11/site-packages/httpx/_transports/default.py", 行 101, in map_httpcore_exceptions
歩留まり
ファイル " /opt/app-root/lib64/python3.11/site-packages/httpx/_transports/default.py", 行 250, in handle_request
resp = self._pool.handle_request (req)
ファイル " /opt/app-root/lib64/python3.11/site-packages/httpcore/_backends/sync.py", 行 154, in start_tls
map_exceptions(exc_map) を使用する:
ファイル " /usr/lib64/python3.11/contextlib.py ", 行 158, in __exit__
self.gen.throw (typ、値、トレースバック)
ファイル " /opt/app-root/lib64/python3.11/site-packages/httpcore/_exceptions.py", 行 14, in map_exceptions
raise to_exc(exc) from exc
原因
サービスのTLSバージョンが利用できないことを意味する。 NVIDIA サービスが利用できないことを意味する。
解決策
  1. クエリーサーチの配備を縮小する。
  2. クエリーサーチのデプロイメントで、変数の値を変更する:
    - name: NVMM_EMBED_SERVICE
    value: 'https://nv-ingest-embedqa.nv-ingest.svc.cluster.local'
    - name: NVMM_EMBED_SERVICE
    value: 'http://nv-ingest-embedqa.nv-ingest.svc.cluster.local'
  3. Cas Install CR で NVMM Nemo Ranking サービスが有効になっている場合は、クエリサーチデプロイメントで以下の値を変更してください。 変数の値を変更する:
    - name: NVMM_NEMO_RANKER_SERVICE
    value: 'https://nemo-ranker-text-reranking-nim.nv-ingest.svc.cluster.local'

    - name: NVMM_NEMO_RANKER_SERVICE
    value: 'http://nemo-ranker-text-reranking-nim.nv-ingest.svc.cluster.local'
    
  4. 配備を元の数に戻す。

データソースが "接続中 "エラーで動かない

問題提起
データソースの作成は、さまざまな理由で "接続中 "状態になることがあります。 適切な診断を行うには、 CAS オペレータのログをチェックしてエラーメッセージを見つけます。
原因と解決策
このエラーの原因として考えられるのは以下の通りである:
  1. 原因がある:

    Scale CSI ユーザーには、Watcher を作成するのに十分な権限がありません。

    sConn.CreateWatch4Fileset が返したエラー ===============>
            =====> [ EFSSG0012C パーミッションが拒否されました:あなたの役割です:[csiadmin, containeroperator], 必須
            の役割を果たす:[admin、storageadmin、securityadmin]]。ソースのクラスタ化された監視を有効にできない
            castFS:root​

    解決策:

    Scale CSIユーザーを Scaleの Storage Administratorグループに追加する。

  2. 原因がある:

    Kafka 認証 が欠落している。 ConfigMap

    2025-03-28T18:21:10Z ERROR リコンシラー・エラー {"controller":"datasource", " ",, "namespace":"ibm-cas", "name":"mc-test", " ", "error":"panic: logging [recored]"のキーと値のペアとして渡された引数の数が奇数です。 "controllerGroup":cas.isf.ibm.com "controllerKind": "DataSource", "DataSource": {"name":"mc-test","namespace":"ibm-cas"} "reconcileID":9aeda80b-4706-408a-9c05-ffcb39cb877e

    解決策:

    Kafka ブローカーに接続するための手動セットアップで説明したように、 Kafka 認証用の ConfigMap を作成する。

  3. 原因がある:

    Datasource が作成した静的 PV へのアクセスを拒否する。 静的PVのアクセシビリティに関して機能的な問題が検出された場合、アクセス拒否エラーに関連している可能性がある。 検証するには、 DocumentProcessor によって生成されたポッドを使用してマウントパスにアクセスします。 ポッドは DocumentProcessor と同じ名前であることに注意。

    (app-root) sh-5.1$ cd /gpfs/gpfs3/fileset_sample​
    bash: cd:/app-root:パーミッションが拒否されました

    解決策:

    ステップ8で説明したように、ScaleのFilesetに既知のGIDを追加し、 CASの Datasourceにアノテーションを追加します。

既知の制限事項

  • 各ドメインは、一意なデータソースの場所、つまり一意なスケールパスまたは一意な S3 の場所を使用しなければならない。 CASは現在、複数のドメイン間で同じデータソースの場所を共有することをサポートしていません。
  • Azure Red Hat OpenShift ( ARO ) でのCASのサポートは、ポッドの最大スレッド数を変更する必要があるため、 Red Hat からライセンス要件が追加されます。 詳しくは、 Red Hat ナレッジベースをご覧ください。