CAS ( Content-Aware Storage ) 서비스의 문제 해결 및 알려진 제한 사항

CAS 서비스의 일반적인 문제 해결 단계 및 제한 사항입니다.

CAS 쿼리 액세스 제어가 IBM Fusion에서 지원되지 않음 2.10.1

문제 설명
IBM 퓨전 버전 2.10.1 및 이전 버전은 CAS v1.0.4 에서 도입된 CAS ACL 기능을 지원하지 않습니다.
원인

/api/v1/querysearch 엔드포인트는 CAS ACL 대신 IBM Fusion의 기본 인증 방법을 계속 사용합니다.

분석

/querysearch 엔드포인트에 대한 IBM 퓨전 인증을 일시적으로 우회하려면 다음 단계를 수행하세요:

  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. 두 번째 isf-proxy 포드에 대해 반복합니다.
    참고: 이 해결 방법은 isf-proxy 파드를 새로 고칠 때마다 필요합니다.

query_service 구성 맵 및 배포에 오류가 발생했습니다

문제 설명
CAS를 v1.0.3 에서 v1.0.4 으로 업그레이드하는 경우 ACL(액세스 제어 목록) 처리 오류를 방지하기 위해 ConfigMap 및 일부 배포 구성을 추가해야 합니다.
원인
외부 IDP(신원 공급자) 토큰이 제공된 경우 쿼리 서비스 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 포드에 imagepullback 오류가 발생했습니다

문제 설명
nv-ingest 파드가 docker.io 에 대한 요청이 너무 많아 imagepullback 오류 상태입니다.
원인 및 해결 방법
  1. 원인 :

    docker.io 에 대한 요청이 너무 많습니다.

    해상도 : docker.io 으로 인증하세요.

  2. 원인 :

    nv-ingest 파드가 이미지를 올바르게 가져올 수 없습니다.

    해상도 : 확인 NVIDIA 가이드를 확인하여 문제를 해결하세요.

CAS 수집 실패

문제 설명
cast-runtime 파드의 로그에 다음 오류와 함께 CAS 수집이 실패합니다:

2025-03-26 22:46:36,725 - 오류 - 가져오기 중 오류, 재시도 중... 
오류: 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:

오류: 쿼리 검색/시맨틱 검색 실패 연결 오류가 발생했습니다.
트레이스백(가장 최근 통화):
파일 " /opt/app-root/lib64/python3.11/site-packages/httpx/_transports/default.py", 101줄, map_httpcore_exceptions 내
수익을 내다
파일 " /opt/app-root/lib64/python3.11/site-packages/httpx/_transports/default.py", 250줄, 핸들_요청 내
resp = self._pool.handle_request (요청)
파일 " /opt/app-root/lib64/python3.11/site-packages/httpcore/_backends/sync.py", 154줄, start_tls 내
맵_예외(exc_map)를 사용합니다:
파일 " /usr/lib64/python3.11/contextlib.py ", 158줄, __exit__에서
self.gen.throw (유형, 값, 트레이스백)
파일 " /opt/app-root/lib64/python3.11/site-packages/httpcore/_exceptions.py", 14번째 줄, 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 설치 CR에서 NVMM Nemo 랭킹 서비스가 활성화된 경우 쿼리 검색 배포에서 아래 값을 변경하세요. 변수 값을 변경합니다:
    - 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 사용자에게 감시자 생성을 위한 충분한 권한이 없습니다.

    sConn.CreateWatch4Fileset =========>에서 반환한 오류
            =====> [ EFSSG0012C 권한이 거부되었습니다: 귀하의 역할: [csiadmin, 컨테이너 운영자], 필수
            역할 [admin, storageadmin, securityadmin]] 소스에 대해 클러스터된 감시를 사용할 수 없습니다
            castFS:root​

    해결 방안:

    감시 생성을 사용하도록 Scale 사용자 구성에 지정된 대로 Scale의 스토리지 관리자 그룹에 Scale CSI 사용자를 추가합니다.

  2. 원인:

    Kafka 인증 ConfigMap 이 누락되었습니다.

    2025-03-28T18:21:10Z 오류 재조정자 오류 {"컨트롤러": "데이터 소스", "controllerGroup": " cas.isf.ibm.com ", "controllerKind": "DataSource", "DataSource": {"name":"mc-test","namespace":"ibm-cas"}, "네임스페이스": "ibm-cas", "name": "mc-test", "reconcileID": " 9aeda80b-4706-408a-9c05-ffcb39cb877e ", "error": "패닉: 로깅을 위해 키-값 쌍으로 전달된 인수의 홀수 [복구됨]"}

    해결 방안:

    Kafka 브로커에 연결하도록 수동으로 설정하기 에 설명된 대로 Kafka 인증을 위한 ConfigMap 를 생성합니다.

  3. 원인:

    데이터 소스에서 생성한 정적 PV에 대한 액세스가 거부됩니다. 정적 PV 접근성과 관련하여 기능적 문제가 감지되는 경우 액세스 거부 오류와 관련이 있을 수 있습니다. 유효성을 검사하려면 DocumentProcessor 에서 생성한 파드를 사용하여 마운트 경로에 액세스합니다. 이 파드의 이름은 DocumentProcessor.

    (앱-루트) sh-5.1$ cd /gpfs/gpfs3/fileset_sample​
    bash: cd: /app-root: 권한 거부됨

    해결 방안:

    스케일에서 파일세트에 알려진 GID를 추가하고 8단계에 설명된 대로 CAS에서 데이터소스에 주석을 추가합니다.

알려진 제한사항

  • 각 도메인은 고유한 데이터 소스 위치, 즉 고유한 Scale 경로 또는 고유한 S3 위치를 사용해야 합니다. CAS는 현재 여러 도메인 간에 동일한 데이터 소스 위치 공유를 지원하지 않습니다.
  • Azure Red Hat OpenShift ( ARO )에서 CAS를 지원하려면 파드의 최대 스레드 수를 변경해야 하므로 Red Hat 에서 추가 라이선스 요구 사항이 있습니다. 자세한 내용은 Red Hat 지식창고를 참조하세요.