5.6.2. 수동으로 정의한 CSV 필드


대부분의 CSV 필드는 Operator SDK와 관련 없이 생성된 일반 매니페스트를 사용하여 채울 수 없습니다. 이러한 필드는 대부분 Operator 및 다양한 CRD(사용자 정의 리소스 정의)에 대해 사람이 작성한 메타데이터입니다.

Operator 작성자는 CSV(클러스터 서비스 버전) YAML 파일을 직접 수정하여 다음과 같은 필수 필드에 개인화된 데이터를 추가해야 합니다. Operator SDK는 필수 필드에서 데이터 부족이 탐지되는 경우 CSV 생성 중 경고를 표시합니다.

다음 테이블에는 필수 또는 선택적인 수동 정의 CSV 필드가 자세히 설명되어 있습니다.

표 5.7. 필수 항목
필드설명

metadata.name

이 CSV의 고유 이름입니다. 고유성을 유지하도록 이름에 Operator 버전이 포함되어야 합니다(예: app-operator.v0.1.1).

metadata.capabilities

Operator 완성 모델에 따른 기능 수준입니다. 옵션에는 Basic Install, Seamless Upgrades, Full Lifecycle, Deep Insights, Auto Pilot이 있습니다.

spec.displayName

Operator를 확인하는 공용 이름입니다.

spec.description

Operator 기능에 대한 간단한 설명입니다.

spec.keywords

Operator를 설명하는 키워드입니다.

spec.maintainers

nameemail을 사용하여 Operator를 유지 관리하는 사람 또는 조직 엔티티입니다.

spec.provider

name이 있는 Operator의 공급자입니다(일반적으로 조직).

spec.labels

Operator 내부에서 사용할 키-값 쌍입니다.

spec.version

Operator의 의미 체계 버전입니다(예: 0.1.1).

spec.customresourcedefinitions

Operator에서 사용하는 모든 CRD입니다. CRD YAML 파일이 deploy/에 있는 경우 이 필드는 Operator SDK에 의해 자동으로 채워집니다. 그러나 CRD 매니페스트 사양에 없는 몇몇 필드에는 사용자 입력이 필요합니다.

  • description: CRD 설명입니다.
  • resources: CRD에서 활용하는 모든 Kubernetes 리소스입니다(예: PodStatefulSet 오브젝트).
  • specDescriptors: Operator의 입력 및 출력에 대한 UI 힌트입니다.
표 5.8. 선택 사항
필드설명

spec.replaces

CSV 이름이 이 CSV로 교체됩니다.

spec.links

Operator 또는 애플리케이션과 관련된 URL(예: 웹 사이트 및 문서)을 각각 nameurl을 사용하여 관리합니다.

spec.selector

Operator에서 클러스터의 리소스와 연결할 수 있는 선택기입니다.

spec.icon

Operator 고유의 base64로 인코딩된 아이콘으로, mediatype을 사용하여 base64data 필드에 설정됩니다.

spec.maturity

이 버전의 소프트웨어에서 달성한 완성 수준입니다. 옵션에는 planning, pre-alpha, alpha, beta, stable, mature, inactive, deprecated가 포함됩니다.

위의 각 필드에 보관해야 하는 데이터에 대한 자세한 내용은 CSV 사양에서 확인할 수 있습니다.

참고

현재 사용자 개입이 필요한 여러 YAML 필드를 Operator 코드에서 구문 분석할 수 있습니다.

추가 리소스

5.6.2.1. Operator 메타데이터 주석

Operator 개발자는 CSV(클러스터 서비스 버전) 메타데이터에 특정 주석을 수동으로 정의하여 OperatorHub와 같은 UI의 기능을 활성화하거나 성능을 강조할 수 있습니다.

다음 테이블에는 metadata.annotations 필드를 사용하여 수동으로 정의할 수 있는 Operator 메타데이터 주석이 나열되어 있습니다.

표 5.9. 주석
필드설명

alm-examples

CRD(사용자 정의 리소스 정의) 템플릿에 최소 구성 세트를 제공합니다. 사용자가 추가로 사용자 정의할 수 있도록 호환되는 UI가 이 템플릿에 미리 채워집니다.

operatorframework.io/initialization-resource

Operator를 설치할 때 생성해야 하는 단일 필수 사용자 정의 리소스를 지정합니다. 전체 YAML 정의를 포함하는 템플릿을 포함해야 합니다.

operatorframework.io/suggested-namespace

Operator를 배포해야 하는 제안된 네임스페이스를 설정합니다.

operators.openshift.io/infrastructure-features

Operator에서 지원하는 인프라 기능입니다. 사용자는 웹 콘솔에서 OperatorHub를 통해 Operator를 검색할 때 이러한 기능을 확인하고 필터링할 수 있습니다. 유효한 대소문자를 구분하는 값은 다음과 같습니다.

  • disconnected: Operator는 모든 종속성을 포함하여 연결이 끊긴 카탈로그로 미러링되도록 지원하므로 인터넷 액세스가 필요하지 않습니다. Operator에서 미러링에 필요한 모든 관련 이미지를 나열합니다.
  • cnf: Operator는 CNF(클라우드 네이티브 네트워크 기능) Kubernetes 플러그인을 제공합니다.
  • cni: Operator는 CNI(컨테이너 네트워크 인터페이스) Kubernetes 플러그인을 제공합니다.
  • csi: Operator는 CSI(Container Storage Interface) Kubernetes 플러그인을 제공합니다.
  • fips: Operator는 기본 플랫폼의 FIPS 모드를 허용하고 FIPS 모드로 부팅되는 노드에서 작동합니다.
중요

FIPS 검증 / 진행중인 모듈 암호화 라이브러리 사용은 x86_64 아키텍처의 OpenShift Container Platform 배포에서만 지원됩니다.

  • proxy-aware: Operator는 프록시 뒤의 클러스터에서 실행을 지원합니다. Operator는 클러스터가 프록시를 사용하도록 구성된 경우 OLM(Operator Lifecycle Manager)에서 Operator에 자동으로 제공하는 표준 프록시 환경 변수 HTTP_PROXYHTTPS_PROXY를 허용합니다. 필수 환경 변수는 관리되는 워크로드의 Operand로 전달됩니다.

operators.openshift.io/valid-subscription

Operator를 사용하는 데 필요한 특정 서브스크립션을 나열하기 위한 자유 양식 어레이입니다. 예를 들면 '["3Scale Commercial License", "Red Hat Managed Integration"]'입니다.

operators.operatorframework.io/internal-objects

UI에서 사용자 조작용이 아닌 CRD를 숨깁니다.

사용 사례 예

Operator에서 연결이 끊긴 및 프록시 인식 지원

operators.openshift.io/infrastructure-features: '["disconnected", "proxy-aware"]'

Operator에는 OpenShift Container Platform 라이센스가 필요합니다.

operators.openshift.io/valid-subscription: '["OpenShift Container Platform"]'

Operator에는 3scale 라이센스가 필요합니다.

operators.openshift.io/valid-subscription: '["3Scale Commercial License", "Red Hat Managed Integration"]'

Operator는 연결이 끊긴 프록시 인식을 지원하며 OpenShift Container Platform 라이센스가 필요합니다.

operators.openshift.io/infrastructure-features: '["disconnected", "proxy-aware"]'
operators.openshift.io/valid-subscription: '["OpenShift Container Platform"]'

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.