Menu Close

1.3.9. Operator 개발

1.3.9.1. Operator SDK가 완전 지원됨

OpenShift Container Platform 4.7부터 Operator SDK는 이제 완전히 지원되는 Red Hat 오퍼링입니다. Operator SDK v1.3.0의 다운스트림 릴리스를 통해 공식적으로 지원되는 Operator SDK 툴링을 통해 Red Hat에서 직접 다운로드할 수 있습니다.

Operator SDK CLI는 사용자 환경을 제공하고 OpenShift 배포 및 OLM(Operator Lifecycle Manager)과 호환되는 Operator 작성에 Operator 개발자 및 독립 소프트웨어 공급 업체 (ISV) 파트너를 지원합니다.

Operator SDK를 사용하면 OpenShift Container Platform과 같은 Kubernetes 기반 클러스터에 클러스터 관리자 권한이 있는 Operator 작성자는 Go, Ansible 또는 Helm을 기반으로 자체 Operator를 개발할 수 있습니다. Go 기반 Operator의 경우 Kubebuilder는 스케폴딩 솔루션으로 SDK에 포함되어 있습니다. 즉, 기존 Kubebuilder 프로젝트를 SDK와 함께 그대로 사용할 수 있고 계속 작동합니다.

다음 기능은 Operator SDK의 일부 기능을 강조합니다.

Operator Bundle Format의 네이티브 지원
Operator SDK에는 OpenShift Container Platform 4.6에 도입된 Operator Bundle Format의 기본 지원이 포함되어 있습니다. OLM의 Operator에 필요한 모든 메타데이터는 자동으로 생성됩니다. Operator 개발자는 이 기능을 사용하여 CI 파이프라인에서 직접 OLM 및 OpenShift 배포의 Operator를 패키지하고 테스트할 수 있습니다.
Operator Lifecycle Manager 통합
Operator SDK는 개발자가 워크스테이션에서 OLM을 사용하여 신속하게 Operator를 테스트할 수 있는 간소화된 환경을 제공합니다. run bundle 하위 명령을 사용하여 클러스터에서 Operator를 실행하고 OLM에서 Operator를 올바르게 작동하는지 테스트할 수 있습니다.
Webhook 통합
Operator SDK는 OLM과의 Webhook 통합을 지원하며, 이는 승인 또는 CRD(사용자 정의 리소스 정의) 변환 webhook가 있는 Operator 설치를 단순화합니다. 이 기능을 사용하면 클러스터 관리자가 Webhook를 수동으로 등록하고 TLS 인증서를 추가하고 인증서 교체를 설정할 필요가 없습니다.
검증 스코어 카드
Operator 작성자는 Operator가 올바르게 패키지화되고 구문 오류가 없는지 확인해야 합니다. Operator를 확인하기 위해 Operator SDK에서 제공하는 스코어 카드 툴은 관련 사용자 정의 리소스(CR) 및 Operator에서 필요한 모든 리소스를 생성하여 시작합니다. 다음으로 스코어 카드는 Operator 배포에 프록시 컨테이너를 생성합니다. 이 컨테이너는 API 서버에 대한 호출을 기록하고 일부 테스트를 실행하는 데 사용됩니다. 수행되는 테스트에서는 CR에서 일부 매개변수도 검사합니다.
업그레이드 준비 상태 보고
Operator 개발자는 Operator SDK를 사용하여 OLM에 대한 업그레이드 준비 상태 보고를 포함하여 Operator 상태에 대한 코드의 스캐폴딩 지원을 사용할 수 있습니다.
Operator 업그레이드 트리거
인덱스 이미지 및 카탈로그 소스를 수동으로 관리하지 않아도 Operator SDK에서 OLM 통합을 사용하여 Operator 업그레이드를 빠르게 테스트할 수 있습니다. run bundle-upgrade 하위 명령은 최신 버전의 번들 이미지를 지정하여 설치된 Operator를 트리거하여 해당 버전으로 업그레이드하는 프로세스를 자동화합니다.
참고

Operator SDK v1.3.0 은 Kubernetes 1.19를 지원합니다.

Operator SDK에 대한 자세한 내용은 Operators 개발에서 참조하십시오.