망분리(Disconnected) 또는 에어 갭(Air-gapped) 환경에서 RBLN NPU Operator 설치¶
개요¶
인터넷에 직접 접근할 수 없는 OpenShift 클러스터에 RBLN NPU Operator를 설치합니다. 필요한 카탈로그와 이미지를 내부 레지스트리에 미러링한 뒤 Operator를 설치합니다.
사전 요구사항¶
- 지원 버전에 포함된 OpenShift Container Platform 클러스터와
cluster-admin권한 - 모든 클러스터 노드에서 접근 가능한 내부 레지스트리(Docker v2-2)와 클러스터가 신뢰하는 TLS 인증서
oc,oc-mirror가 설치된 미러 호스트와 원본·내부 레지스트리 인증 정보- Red Hat pull secret과 RBLN Portal 계정
- ATOM™ 또는 Rebel100™이 장착된 워커 노드(PCI vendor ID
1eff)
컨테이너 이미지 미러링¶
NPU Operator·NFD 카탈로그와 드라이버·RSMD 이미지를 미러링합니다. 카탈로그 태그(v4.21)는 클러스터의 OpenShift 버전에 맞춰야 합니다.
ImageSetConfiguration¶
구성에 맞는 예제를 imageset-config.yaml로 저장합니다. 드라이버 버전은 지원 버전, 커널·RHEL 버전은 노드 조회 결과에 맞게 지정하고 RBLN Portal에서 이미지 제공 여부를 확인합니다.
additionalImages의 드라이버 항목에는 atom 또는 rebel100을 포함한 경로를 지정합니다. RBLNDriver 인스턴스의 spec.image에는 rebellions/rbln-driver를 사용합니다. 경로 규칙은 드라이버 이미지 선택에서 확인할 수 있습니다.
RSMD 이미지 태그는 각 드라이버 버전과 맞춥니다. 같은 태그는 한 번만 지정합니다. 제품군·버전·OS·커널 조합에 필요한 드라이버 이미지를 모두 포함합니다.
노드 커널 버전 일치
드라이버 이미지는 노드 커널 버전과 일치해야 합니다. 커널을 변경하면 해당 커널용 이미지도 미러링해야 합니다.
커널·RHEL 버전 확인¶
NPU 워커 노드의 커널 버전을 확인합니다.
위 예시의 el9_6은 RHEL 9.6을 뜻합니다. 조회한 값을 제품군별 이미지 태그에 반영합니다.
클러스터에 접근할 수 없는 경우
사용 중인 OpenShift 릴리스의 driver-toolkit 이미지에서 커널·RHEL 버전을 확인할 수 있습니다.
oc-mirror 실행¶
외부 미러 호스트에서는 원본 레지스트리에, 내부 미러 호스트에서는 내부 레지스트리에 로그인합니다. 직접 미러링하는 토폴로지 A에서는 같은 호스트에서 모두 로그인합니다.
토폴로지 A — 내부 레지스트리로 직접 미러링¶
토폴로지 B — 디스크 경유(에어 갭)¶
-
외부 미러 호스트에서 이미지를 아카이브로 저장합니다.
-
./archive디렉터리와imageset-config.yaml을 이동식 미디어로 내부 미러 호스트에 옮깁니다. -
내부 레지스트리로 이미지를 가져옵니다.
미러 레지스트리 구성¶
클러스터의 인증 정보, CA 인증서, 이미지 미러 경로를 설정합니다.
-
global pull secret 갱신
내부 레지스트리 자격증명을 클러스터 global pull secret에 추가합니다.
-
레지스트리 CA 신뢰 구성
내부 레지스트리 CA를 클러스터 신뢰 번들에 추가합니다.
-
생성된 클러스터 리소스 적용
생성된
ImageDigestMirrorSet,ImageTagMirrorSet,CatalogSource를 적용합니다.<WORKSPACE_DIR>는 토폴로지 A에서는./workspace, 토폴로지 B에서는./archive입니다. -
기본 OperatorHub 소스 비활성화
외부 카탈로그 대신 미러 카탈로그를 사용하도록 기본 소스를 비활성화합니다.
미러된 카탈로그 검증¶
Operator를 설치하기 전에 미러된 CatalogSource가 정상 동작하는지 확인합니다.
카탈로그 Pod가 Running이고 rbln-npu-operator·nfd의 PackageManifest가 조회되는지 확인합니다.
설치 단계¶
미러링과 레지스트리 구성을 마친 뒤 OpenShift용 RBLN NPU Operator 설치 가이드를 따릅니다. NFD Operator와 RBLN NPU Operator의 Subscription에서 spec.source를 미러 카탈로그의 CatalogSource 이름으로 지정해야 합니다. 이름은 미러된 카탈로그 검증에서 확인합니다.
NFD Operator는 NFD 카탈로그의 이름을 사용합니다(예: cs-redhat-operator-index-v4-21).
Rebel100™이 장착된 RHEL 10.2 기반 RHCOS 노드는 드라이버를 배포하기 전에 pciehp 분리 설정을 적용해야 합니다.
제품군별 드라이버 인스턴스¶
단일 제품군에서는 설치 가이드의 driver.json에 미러링한 드라이버 버전을 spec.version으로 지정합니다.
혼합 구성에서는 설치 가이드에서 준비한 driver.json으로 두 인스턴스를 만듭니다. oc apply -f driver.json 대신 다음 명령을 실행하고, 버전은 미러링한 값으로 지정합니다.
노드 선택과 버전 지정 규칙은 여러 드라이버 버전 운영에서 확인할 수 있습니다.
설치 확인¶
RBLNClusterPolicy 인스턴스와 각 제품군의 RBLNDriver 인스턴스가 ready인지 확인합니다. 아래는 앞에서 만든 혼합 구성의 출력 예시로, ATOM™ 3.4.1과 Rebel100™ 3.5.1을 사용하고 제품군마다 노드가 한 대입니다.
$ oc get rblnclusterpolicy \
-o 'custom-columns=NAME:.metadata.name,STATE:.status.state'
NAME STATE
rbln-cluster-policy ready
$ oc get rblndriver \
-o 'custom-columns=NAME:.metadata.name,VERSION:.spec.version,STATE:.status.state,READY:.status.readyNodes,DESIRED:.status.desiredNodes'
NAME VERSION STATE READY DESIRED
rbln-driver-atom 3.4.1 ready 1 1
rbln-driver-rebel100 3.5.1 ready 1 1
각 인스턴스의 VERSION이 미러링한 버전과 일치하고 드라이버·RSMD Pod가 Ready인지 확인합니다.



