This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.4.9.6. 인덱스 이미지 업데이트
사용자 정의 인덱스 이미지를 참조하는 카탈로그 소스를 사용하도록 OperatorHub를 구성하면 클러스터 관리자가 인덱스 이미지에 번들 이미지를 추가하여 클러스터에 사용 가능한 Operator를 최신 상태로 유지할 수 있습니다.
opm index add
명령을 사용하여 기존 인덱스 이미지를 업데이트할 수 있습니다. 제한된 네트워크의 경우 업데이트된 콘텐츠도 클러스터에 다시 미러링해야 합니다.
사전 요구 사항
-
opm
버전 1.12.3 이상 -
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 podman 4
다음과 같습니다.
<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.7
과 같이 지정합니다. <updated_tag>
-
업데이트된 인덱스 이미지에 적용할 이미지 태그를
4.7.1
과 같이 지정합니다.
명령 예
$ opm index add \ --bundles quay.io/ocs-dev/ocs-operator@sha256:c7f11097a628f092d8bad148406aa0e0951094a03445fd4bc0775431ef683a41 \ --from-index mirror.example.com/abc/abc-redhat-operator-index:4.7 \ --tag mirror.example.com/abc/abc-redhat-operator-index:4.7.1 \ --pull-tool podman
업데이트된 인덱스 이미지를 내보냅니다.
$ podman push <registry>/<namespace>/<existing_index_image>:<updated_tag>
Operator 카탈로그 미러링 절차에 있는 단계를 다시 수행하여 업데이트된 콘텐츠를 미러링합니다. 그러나 ICSP(
ImageContentSourcePolicy
) 오브젝트 생성에 대한 단계에 도달하면oc create
명령 대신oc replace
명령을 사용합니다. 예를 들면 다음과 같습니다.$ oc replace -f ./manifests-redhat-operator-index-<random_number>/imageContentSourcePolicy.yaml
이 변경 사항은 오브젝트가 이미 존재하고 업데이트해야 하므로 필요합니다.
참고일반적으로
oc apply
명령을 사용하여 이전에oc apply
를 사용하여 생성한 기존 오브젝트를 업데이트할 수 있습니다. 그러나 ICSP 오브젝트의metadata.annotations
필드 크기와 관련하여 알려진 문제로 인해 현재 이 단계에oc replace
명령을 사용해야 합니다.OLM(Operator Lifecycle Manager)이 정기적으로 카탈로그 소스에서 참조하는 인덱스 이미지를 자동으로 폴링하면 새 패키지가 성공적으로 추가되었는지 확인합니다.
$ oc get packagemanifests -n openshift-marketplace
추가 리소스