5.2. 클러스터 확장 관리


카탈로그를 사용하여 확장 및 Operator를 위한 버전, 패치 및 무선 업데이트에 액세스합니다. CR(사용자 정의 리소스)을 사용하여 CLI에서 선언적으로 확장을 관리합니다.

참고

OpenShift Container Platform 4.21의 경우 OLM v1에 대한 문서화된 절차는 CLI 기반 전용입니다. 또는 관리자는 YAML 가져오기 및 검색 페이지와 같은 일반 방법을 사용하여 웹 콘솔에서 관련 오브젝트를 생성하고 볼 수 있습니다. 그러나 기존 소프트웨어 카탈로그 및 설치된 Operator 페이지에는 OLM v1 구성 요소가 아직 표시되지 않습니다.

5.2.1. 카탈로그에서 설치할 Operators 찾기

클러스터에 카탈로그를 추가한 후 카탈로그를 쿼리하여 설치할 Operator 및 확장을 찾을 수 있습니다.

현재 OLM(Operator Lifecycle Manager) v1에서는 카탈로그에서 관리하는 클러스터 카탈로그에서 쿼리할 수 없습니다. OLM v1에서는 opm 및 jq CLI 툴을 사용하여 카탈로그 레지스트리를 쿼리해야 합니다.

사전 요구 사항

  • 클러스터에 카탈로그를 추가했습니다.
  • jq CLI 툴을 설치했습니다.
  • opm CLI 툴을 설치했습니다.

프로세스

  1. AllNamespaces 설치 모드를 지원하고 Webhook를 사용하지 않는 확장 목록을 반환하려면 다음 명령을 입력합니다.

    $ opm render <catalog_registry_url>:<tag> \
      | jq -cs '[.[] | select(.schema == "olm.bundle" \
      and (.properties[] | select(.type == "olm.csv.metadata").value.installModes[] \
      | select(.type == "AllNamespaces" and .supported == true)) \
      and .spec.webhookdefinitions == null) | .package] | unique[]'

    다음과 같습니다.

    catalog_registry_url
    registry.redhat.io/redhat/redhat-operator-index 와 같은 카탈로그 레지스트리의 URL을 지정합니다.
    tag

    v4.21 또는 latest 와 같은 카탈로그의 태그 또는 버전을 지정합니다.

    명령 예

    $ opm render \
      registry.redhat.io/redhat/redhat-operator-index:v4.21 \
      | jq -cs '[.[] | select(.schema == "olm.bundle" \
      and (.properties[] | select(.type == "olm.csv.metadata").value.installModes[] \
      | select(.type == "AllNamespaces" and .supported == true)) \
      and .spec.webhookdefinitions == null) | .package] | unique[]'

    출력 예

    "3scale-operator"
    "amq-broker-rhel8"
    "amq-online"
    "amq-streams"
    "amq-streams-console"
    "ansible-automation-platform-operator"
    "ansible-cloud-addons-operator"
    "apicast-operator"
    "authorino-operator"
    "aws-load-balancer-operator"
    "bamoe-kogito-operator"
    "cephcsi-operator"
    "cincinnati-operator"
    "cluster-logging"
    "cluster-observability-operator"
    "compliance-operator"
    "container-security-operator"
    "cryostat-operator"
    "datagrid"
    "devspaces"
    ...

  2. 다음 명령을 실행하여 확장 메타데이터의 콘텐츠를 검사합니다.

    $ opm render <catalog_registry_url>:<tag> \
      | jq -s '.[] | select( .schema == "olm.package") \
      | select( .name == "<package_name>")'

    명령 예

    $ opm render \
      registry.redhat.io/redhat/redhat-operator-index:v4.21 \
      | jq -s '.[] | select( .schema == "olm.package") \
      | select( .name == "openshift-pipelines-operator-rh")'

    출력 예

    {
      "schema": "olm.package",
      "name": "openshift-pipelines-operator-rh",
      "defaultChannel": "latest",
      "icon": {
        "base64data": "iVBORw0KGgoAAAANSUhE...",
        "mediatype": "image/png"
      }
    }

5.2.1.1. 공통 카탈로그 쿼리

opm 및 jq CLI 도구를 사용하여 카탈로그를 쿼리하여 확장 프로그램의 수명주기를 설치, 업데이트 및 관리할 수 있습니다.

다음 예에서는 확장 기능에 대한 일반적인 카탈로그 쿼리를 보여줍니다.

명령 구문

$ opm render <catalog_registry_url>:<tag> | <jq_request>

다음과 같습니다.

catalog_registry_url
registry.redhat.io/redhat/redhat-operator-index 와 같은 카탈로그 레지스트리의 URL을 지정합니다.
tag
v4.21 또는 latest 와 같은 카탈로그의 태그 또는 버전을 지정합니다.
jq_request
카탈로그에서 실행할 쿼리를 지정합니다.

예 5.1. 명령 예

$ opm render \
  registry.redhat.io/redhat/redhat-operator-index:v4.21 \
  | jq -cs '[.[] | select(.schema == "olm.bundle" and (.properties[] \
  | select(.type == "olm.csv.metadata").value.installModes[] \
  | select(.type == "AllNamespaces" and .supported == true)) \
  and .spec.webhookdefinitions == null) \
  | .package] | unique[]'
표 5.1. 일반적인 패키지 쿼리
쿼리요청

카탈로그에서 사용 가능한 패키지

$ opm render <catalog_registry_url>:<tag> \ | jq -s '.[] | select( .schema == "olm.package")'

AllNamespaces 설치 모드를 지원하고 Webhook를 사용하지 않는 패키지

$ opm render <catalog_registry_url>:<tag> \ | jq -cs '[.[] | select(.schema == "olm.bundle" and (.properties[] \ | select(.type == "olm.csv.metadata").value.installModes[] \ | select(.type == "AllNamespaces" and .supported == true)) \ and .spec.webhookdefinitions == null) \ | .package] | unique[]'

패키지 메타데이터

$ opm render <catalog_registry_url>:<tag> \ | jq -s '.[] | select( .schema == "olm.package") \ | select( .name == "<package_name>")'

패키지의 카탈로그 Blob

$ opm render <catalog_registry_url>:<tag> \ | jq -s '.[] | select( .package == "<package_name>")'
표 5.2. 공통 채널 쿼리
쿼리요청

패키지의 채널

$ opm render <catalog_registry_url>:<tag> \ | jq -s '.[] | select( .schema == "olm.channel" ) \ | select( .package == "<package_name>") | .name'

채널의 버전

$ opm render <catalog_registry_url>:<tag> \ | jq -s '.[] | select( .package == "<package_name>" ) \ | select( .schema == "olm.channel" ) \ | select( .name == "<channel_name>" ) .entries \ | .[] | .name'
  • 채널의 최신 버전
  • 업그레이드 경로
$ opm render <catalog_registry_url>:<tag> \ | jq -s '.[] | select( .schema == "olm.channel" ) \ | select ( .name == "<channel_name>") \ | select( .package == "<package_name>")'
표 5.3. 공통 번들 쿼리
쿼리요청

패키지의 번들

$ opm render <catalog_registry_url>:<tag> \ | jq -s '.[] | select( .schema == "olm.bundle" ) \ | select( .package == "<package_name>") | .name'
  • 번들 종속 항목
  • 사용 가능한 API
$ opm render <catalog_registry_url>:<tag> \ | jq -s '.[] | select( .schema == "olm.bundle" ) \ | select ( .name == "<bundle_name>") \ | select( .package == "<package_name>")'
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동