1.2. AMQ Streams 사용자 정의 리소스
AMQ Streams를 사용하여 OpenShift 클러스터에 Kafka 구성 요소를 배포하는 것은 사용자 정의 리소스 애플리케이션을 통해 구성할 수 있습니다. 사용자 정의 리소스는 OpenShift 리소스를 확장하기 위해 CRD(Custom Resource Definitions)에서 추가한 API 인스턴스로 생성됩니다.
CRD는 OpenShift 클러스터의 사용자 정의 리소스를 설명하는 구성 지침 역할을 하며, 배포에 사용된 각 Kafka 구성 요소에 대해 AMQ Streams와 사용자 및 주제를 제공합니다. CRD 및 사용자 정의 리소스는 YAML 파일로 정의됩니다. YAML 파일의 예는 AMQ Streams 배포와 함께 제공됩니다.
또한 CRD를 사용하면 AMQ Streams 리소스가 CLI 접근성 및 구성 검증과 같은 기본 OpenShift 기능을 활용할 수 있습니다.
1.2.1. AMQ Streams 사용자 정의 리소스 예 링크 복사링크가 클립보드에 복사되었습니다!
CRD에는 AMQ Streams 관련 리소스를 인스턴스화하고 관리하는 데 사용되는 스키마를 정의하기 위해 클러스터에 일회성 설치가 필요합니다.
CRD를 설치하여 새 사용자 정의 리소스 유형을 클러스터에 추가한 후 사양을 기반으로 리소스 인스턴스를 생성할 수 있습니다.
클러스터 설정에 따라 설치에 따라 일반적으로 클러스터 관리자 권한이 필요합니다.
사용자 정의 리소스 관리에 대한 액세스는 AMQ Streams 관리자에게 제한됩니다. 자세한 내용은 AMQ Streams 관리자 지정을 참조하십시오.
CRD는 OpenShift 클러스터 내에서 와 같은 새로운 종류의 리소스를 정의합니다.
kind:Kafka
Kubernetes API 서버를 사용하면 유형을 기반으로 사용자 정의 리소스를 생성할 수 있으며 OpenShift 클러스터에 추가할 때 사용자 정의 리소스의 유효성을 검사하고 저장하는 방법을 CRD에서 이해할 수 있습니다.
CRD가 삭제되면 해당 유형의 사용자 정의 리소스도 삭제됩니다. 또한 Pod 및 statefulsets와 같은 사용자 정의 리소스에서 생성한 리소스도 삭제됩니다.
각 AMQ Streams별 사용자 정의 리소스는 리소스 종류의 CRD에서 정의한 스키마를 준수합니다. AMQ Streams 구성 요소에 대한 사용자 정의 리소스에는 사양에 정의된 공통 구성 속성이 있습니다.
CRD와 사용자 정의 리소스 간의 관계를 이해하기 위해 Kafka 항목에 대한 CRD 샘플을 살펴보겠습니다.
Kafka topic CRD
- 1
- CRD 주제 CRD의 메타데이터, CRD를 식별하는 라벨 및 이름입니다.
- 2
- 그룹(domain) 이름, 복수형 이름 및 지원되는 스키마 버전을 포함하여 주제의 API에 액세스하는 URL에 사용되는 이 CRD의 사양입니다. 다른 이름은 CLI에서 인스턴스 리소스를 식별하는 데 사용됩니다. 예를 들어
oc get kafkatopic my-topic또는oc get kafkatopics. - 3
- 단축은 CLI 명령에서 사용할 수 있습니다. 예를 들어
oc get kt는oc get kafkatopic대신 약어로 사용할 수 있습니다. - 4
- 사용자 정의 리소스에서
get명령을 사용할 때 제공되는 정보입니다. - 5
- 리소스의 스키마 참조에 설명된 대로 CRD의 현재 상태입니다.
- 6
- OpenAPIV3Schema 검증은 주제 사용자 정의 리소스의 생성에 대한 검증을 제공합니다. 예를 들어 항목에는 하나 이상의 파티션과 복제본이 필요합니다.
파일 이름에 인덱스 번호와 'Crd'가 포함되어 있기 때문에 AMQ Streams 설치 파일과 함께 제공되는 CRD YAML 파일을 확인할 수 있습니다.
다음은 KafkaTopic 사용자 정의 리소스의 예입니다.
Kafka 주제 사용자 정의 리소스
- 1
kind및apiVersion은 사용자 정의 리소스가 인스턴스인 CRD를 식별합니다.- 2
- 주제 또는 사용자가 속하는
Kafka클러스터의 이름을 정의하는KafkaTopic및KafkaUser리소스에만 적용되는 레이블입니다. - 3
- 사양은 주제의 파티션 및 복제본 수와 주제 자체에 대한 구성 매개 변수를 보여줍니다. 이 예에서는 메시지가 항목에 남아 있고 로그의 세그먼트 파일 크기가 지정됩니다.
- 4
KafkaTopic리소스의 상태 상태입니다.lastTransitionTime에서유형조건이Ready로 변경되었습니다.
사용자 정의 리소스는 플랫폼 CLI를 통해 클러스터에 적용할 수 있습니다. 사용자 정의 리소스가 생성되면 Kubernetes API의 기본 제공 리소스와 동일한 검증을 사용합니다.
KafkaTopic 사용자 정의 리소스가 생성되면 Topic Operator에 알림을 받고 해당 Kafka 항목이 AMQ Streams에서 생성됩니다.