5.6. Java 기반 Operator
5.6.1. Java 기반 Operator를 위한 Operator SDK 시작하기 링크 복사링크가 클립보드에 복사되었습니다!
Java 기반 Operator SDK는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
Operator 개발자는 Operator SDK에서 제공하는 툴 및 라이브러리를 사용하여 Java 기반 Operator를 설정 및 실행하는 기본 사항을 설명하기 위해 분산 키-값 저장소인 Memcached에 대한 Java 기반 Operator 예제를 빌드하고 클러스터에 배포할 수 있습니다.
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.16과 함께 릴리스된 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.6.1.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
5.6.1.2. Java 기반 Operator 생성 및 배포 링크 복사링크가 클립보드에 복사되었습니다!
Operator SDK를 사용하여 Memcached에 대한 간단한 Java 기반 Operator를 빌드하고 배포할 수 있습니다.
프로세스
프로젝트를 생성합니다.
프로젝트 디렉토리를 생성합니다.
$ mkdir memcached-operator프로젝트 디렉터리로 변경합니다.
$ cd memcached-operatorquarkus플러그인과 함께operator-sdk init명령을 실행하여 프로젝트를 초기화합니다.$ operator-sdk init \ --plugins=quarkus \ --domain=example.com \ --project-name=memcached-operator
API를 생성합니다.
간단한 Memcached API를 생성합니다.
$ operator-sdk create api \ --plugins quarkus \ --group cache \ --version v1 \ --kind MemcachedOperator 이미지를 빌드하여 내보냅니다.
기본
Makefile대상을 사용하여 Operator를 빌드하고 내보냅니다. 내보낼 수 있는 레지스트리를 사용하는 이미지의 가져오기 사양에IMG를 설정합니다.$ make docker-build docker-push IMG=<registry>/<user>/<image_name>:<tag>Operator를 실행합니다.
CRD를 설치합니다.
$ make install클러스터에 프로젝트를 배포합니다. 내보낸 이미지에
IMG를 설정합니다.$ make deploy IMG=<registry>/<user>/<image_name>:<tag>
샘플 CR(사용자 정의 리소스)을 생성합니다.
샘플 CR을 생성합니다.
$ oc apply -f config/samples/cache_v1_memcached.yaml \ -n memcached-operator-systemCR에서 Operator를 조정하는지 확인합니다.
$ oc logs deployment.apps/memcached-operator-controller-manager \ -c manager \ -n memcached-operator-system
CR을 삭제합니다.
다음 명령을 실행하여 CR을 삭제합니다.
$ oc delete -f config/samples/cache_v1_memcached.yaml -n memcached-operator-system정리합니다.
다음 명령을 실행하여 이 절차의 일부로 생성된 리소스를 정리합니다.
$ make undeploy