5.18. 번들 형식으로 패키지 매니페스트 프로젝트 마이그레이션


Operator에 대한 레거시 패키지 매니페스트 형식 지원은 OpenShift Container Platform 4.8 이상에서 제거됩니다. 패키지 매니페스트 형식을 사용하여 처음 생성된 Operator 프로젝트가 있는 경우 Operator SDK를 사용하여 프로젝트를 번들 형식으로 마이그레이션할 수 있습니다. 번들 형식은 OpenShift Container Platform 4.6부터 OLM(Operator Lifecycle Manager)의 기본 패키징 형식입니다.

중요

Operator 프로젝트의 관련 스캐폴딩 및 테스트 툴을 포함한 Red Hat 지원 버전의 Operator SDK CLI 툴은 더 이상 사용되지 않으며 향후 OpenShift Container Platform 릴리스에서 제거될 예정입니다. Red Hat은 현재 릴리스 라이프사이클 동안 이 기능에 대한 버그 수정 및 지원을 제공하지만 이 기능은 더 이상 개선 사항을 받지 않으며 향후 OpenShift Container Platform 릴리스에서 제거됩니다.

새 Operator 프로젝트를 생성하는 데 Red Hat 지원 버전의 Operator SDK는 권장되지 않습니다. 기존 Operator 프로젝트가 있는 Operator 작성자는 OpenShift Container Platform 4.17과 함께 릴리스된 Operator SDK CLI 툴 버전을 사용하여 프로젝트를 유지 관리하고 최신 버전의 OpenShift Container Platform을 대상으로 하는 Operator 릴리스를 생성할 수 있습니다.

Operator 프로젝트의 다음과 같은 관련 기본 이미지는 더 이상 사용되지 않습니다. 이러한 기본 이미지의 런타임 기능 및 구성 API는 버그 수정 및 CVE 문제를 해결하는 데 계속 지원됩니다.

  • Ansible 기반 Operator 프로젝트의 기본 이미지
  • Helm 기반 Operator 프로젝트의 기본 이미지

OpenShift Container Platform에서 더 이상 사용되지 않거나 삭제된 주요 기능의 최신 목록은 OpenShift Container Platform 릴리스 노트에서 더 이상 사용되지 않고 삭제된 기능 섹션을 참조하십시오.

지원되지 않는 커뮤니티 유지 관리 버전에 대한 자세한 내용은 Operator SDK(Operator Framework) 를 참조하십시오.

5.18.1. 패키징 형식 마이그레이션 정보

Operator SDK pkgman-to-bundle 명령은 OLM(Operator Lifecycle Manager) 패키지 매니페스트를 번들로 마이그레이션하는 데 도움이 됩니다. 명령은 입력 패키지 매니페스트 디렉터리를 사용하고 입력 디렉터리에 있는 각 매니페스트 버전에 대한 번들을 생성합니다. 그런 다음 생성된 각 번들에 대한 번들 이미지를 빌드할 수도 있습니다.

예를 들어 패키지 매니페스트 형식의 프로젝트에 대해 다음 packagemanifests/ 디렉터리를 고려하십시오.

패키지 매니페스트 형식 레이아웃 예제

packagemanifests/
└── etcd
    ├── 0.0.1
    │   ├── etcdcluster.crd.yaml
    │   └── etcdoperator.clusterserviceversion.yaml
    ├── 0.0.2
    │   ├── etcdbackup.crd.yaml
    │   ├── etcdcluster.crd.yaml
    │   ├── etcdoperator.v0.0.2.clusterserviceversion.yaml
    │   └── etcdrestore.crd.yaml
    └── etcd.package.yaml

마이그레이션을 실행하면 bundle/ 디렉터리에 다음 번들이 생성됩니다.

Bundle 형식 레이아웃의 예

bundle/
├── bundle-0.0.1
│   ├── bundle.Dockerfile
│   ├── manifests
│   │   ├── etcdcluster.crd.yaml
│   │   ├── etcdoperator.clusterserviceversion.yaml
│   ├── metadata
│   │   └── annotations.yaml
│   └── tests
│       └── scorecard
│           └── config.yaml
└── bundle-0.0.2
    ├── bundle.Dockerfile
    ├── manifests
    │   ├── etcdbackup.crd.yaml
    │   ├── etcdcluster.crd.yaml
    │   ├── etcdoperator.v0.0.2.clusterserviceversion.yaml
    │   ├── etcdrestore.crd.yaml
    ├── metadata
    │   └── annotations.yaml
    └── tests
        └── scorecard
            └── config.yaml

생성된 이 레이아웃을 기반으로 두 번들의 번들 이미지도 다음 이름으로 빌드됩니다.

  • quay.io/example/etcd:0.0.1
  • quay.io/example/etcd:0.0.2

5.18.2. 번들 형식으로 패키지 매니페스트 프로젝트 마이그레이션

Operator 작성자는 Operator SDK를 사용하여 패키지 매니페스트 형식 Operator 프로젝트를 번들 형식 프로젝트로 마이그레이션할 수 있습니다.

사전 요구 사항

  • Operator SDK CLI가 설치됨
  • 패키지 매니페스트 형식의 Operator SDK를 사용하여 처음에 Operator 프로젝트 생성

프로세스

  • Operator SDK를 사용하여 패키지 매니페스트 프로젝트를 번들 형식으로 마이그레이션하고 번들 이미지를 생성합니다.

    $ operator-sdk pkgman-to-bundle <package_manifests_dir> \ 1
        [--output-dir <directory>] \ 2
        --image-tag-base <image_name_base> 3
    1
    프로젝트의 패키지 매니페스트 디렉터리(예: packagemanifests/ 또는 manifests/ )의 위치를 지정합니다.
    2
    선택 사항: 기본적으로 생성된 번들은 bundle/ 디렉터리에 디스크에 로컬로 작성됩니다. --output-dir 플래그를 사용하여 대체 위치를 지정할 수 있습니다.
    3
    번들에 사용할 quay.io/example/etcd와 같은 이미지 이름의 기반을 제공하도록 --image-tag-base 플래그를 설정합니다. 이미지 태그가 번들 버전에 따라 설정되므로 태그 없이 이름을 입력합니다. 예를 들어 전체 번들 이미지 이름이 <image_name_base>:<bundle_version> 형식으로 생성됩니다.

검증

  • 생성된 번들 이미지가 성공적으로 실행되는지 확인합니다.

    $ operator-sdk run bundle <bundle_image_name>:<tag>

    출력 예

    INFO[0025] Successfully created registry pod: quay-io-my-etcd-0-9-4
    INFO[0025] Created CatalogSource: etcd-catalog
    INFO[0026] OperatorGroup "operator-sdk-og" created
    INFO[0026] Created Subscription: etcdoperator-v0-9-4-sub
    INFO[0031] Approved InstallPlan install-5t58z for the Subscription: etcdoperator-v0-9-4-sub
    INFO[0031] Waiting for ClusterServiceVersion "default/etcdoperator.v0.9.4" to reach 'Succeeded' phase
    INFO[0032]   Waiting for ClusterServiceVersion "default/etcdoperator.v0.9.4" to appear
    INFO[0048]   Found ClusterServiceVersion "default/etcdoperator.v0.9.4" phase: Pending
    INFO[0049]   Found ClusterServiceVersion "default/etcdoperator.v0.9.4" phase: Installing
    INFO[0064]   Found ClusterServiceVersion "default/etcdoperator.v0.9.4" phase: Succeeded
    INFO[0065] OLM has successfully installed "etcdoperator.v0.9.4"

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.