4.9.3.2. SQLite 기반 인덱스 이미지 업데이트
사용자 정의 인덱스 이미지를 참조하는 카탈로그 소스를 사용하도록 OperatorHub를 구성한 후 클러스터 관리자는 인덱스 이미지에 번들 이미지를 추가하여 클러스터에 사용 가능한 Operator를 최신 상태로 유지할 수 있습니다.
opm index add 명령을 사용하여 기존 인덱스 이미지를 업데이트할 수 있습니다.
사전 요구 사항
-
opmCLI를 설치했습니다. -
podman버전 1.9.3 이상이 있습니다. - 인덱스 이미지가 빌드되어 레지스트리로 푸시됩니다.
- 인덱스 이미지를 참조하는 기존 카탈로그 소스가 있습니다.
프로세스
번들 이미지를 추가하여 기존 인덱스를 업데이트합니다.
$ opm index add \ --bundles <registry>/<namespace>/<new_bundle_image>@sha256:<digest> \1 --from-index <registry>/<namespace>/<existing_index_image>:<existing_tag> \2 --tag <registry>/<namespace>/<existing_index_image>:<updated_tag> \3 --pull-tool podman4 - 1
--bundles플래그는 인덱스에 추가할 쉼표로 구분된 추가 번들 이미지 목록을 지정합니다.- 2
--from-index플래그는 이전에 내보낸 인덱스를 지정합니다.- 3
--tag플래그는 업데이트된 인덱스 이미지에 적용할 이미지 태그를 지정합니다.- 4
--pull-tool플래그는 컨테이너 이미지를 가져오는 데 사용되는 툴을 지정합니다.다음과 같습니다.
<registry>-
quay.io또는mirror.example.com과 같은 레지스트리의 호스트 이름을 지정합니다. <namespace>-
ocs-dev또는abc와 같은 레지스트리의 네임스페이스를 지정합니다. <new_bundle_image>-
ocs-operator와 같이 레지스트리에 추가할 새 번들 이미지를 지정합니다. <digest>-
번들 이미지의 SHA 이미지 ID 또는 다이제스트(예:
c7f11097a628f092d8bad148406aa0e0951094a03445fd4bc0775431ef683a41)를 지정합니다. <existing_index_image>-
이전에 내보낸 이미지(예:
abc-redhat-operator-index)를 지정합니다. <existing_tag>-
4.15와 같이 이전에 푸시된 이미지 태그를 지정합니다. <updated_tag>-
4.15.1과 같이 업데이트된 인덱스 이미지에 적용할 이미지 태그를 지정합니다.
명령 예
$ opm index add \ --bundles quay.io/ocs-dev/ocs-operator@sha256:c7f11097a628f092d8bad148406aa0e0951094a03445fd4bc0775431ef683a41 \ --from-index mirror.example.com/abc/abc-redhat-operator-index:4.15 \ --tag mirror.example.com/abc/abc-redhat-operator-index:4.15.1 \ --pull-tool podman
업데이트된 인덱스 이미지를 내보냅니다.
$ podman push <registry>/<namespace>/<existing_index_image>:<updated_tag>OLM(Operator Lifecycle Manager)이 정기적으로 카탈로그 소스에서 참조하는 인덱스 이미지를 자동으로 폴링하면 새 패키지가 성공적으로 추가되었는지 확인합니다.
$ oc get packagemanifests -n openshift-marketplace