3.2. OpenShift에서 Kafka 스토리지를 사용하여 서비스 레지스트리 구성


이 섹션에서는 OpenShift에서 AMQ Streams를 사용하여 서비스 레지스트리에 대한 Kafka 기반 스토리지를 구성하는 방법을 설명합니다. kafkasql 스토리지 옵션은 캐싱을 위해 메모리 내 H2 데이터베이스와 함께 Kafka 스토리지를 사용합니다. 이 스토리지 옵션은 영구 스토리지가 OpenShift의 Kafka 클러스터에 대해 구성된 경우 프로덕션 환경에 적합합니다.

환경에 따라 기존 Kafka 클러스터에 서비스 레지스트리를 설치하거나 새 Kafka 클러스터를 생성할 수 있습니다.

사전 요구 사항

프로세스

  1. OpenShift Container Platform 웹 콘솔에서 클러스터 관리자 권한이 있는 계정을 사용하여 로그인합니다.
  2. Kafka 클러스터가 구성되지 않은 경우 AMQ Streams를 사용하여 새 Kafka 클러스터를 생성합니다. 예를 들어 OpenShift OperatorHub에서는 다음을 수행합니다.

    1. Installed Operators 를 클릭한 다음 Red Hat Integration - AMQ Streams 를 클릭합니다.
    2. 제공된 API 에서 Kafka 를 클릭한 다음 인스턴스 생성 을 클릭하여 새 Kafka 클러스터를 생성합니다.
    3. 필요에 따라 사용자 정의 리소스 정의를 편집하고 생성 을 클릭합니다.

      주의

      기본 예제에서는 3개의 Zookeeper 노드와 3개의 Kafka 노드가 있는 클러스터를 생성합니다. 이 임시 스토리지는 개발 및 테스트에만 적합하며 프로덕션에는 적합하지 않습니다. 자세한 내용은 OpenShift에서 AMQ 스트림 배포 및 관리를 참조하십시오.

  3. 클러스터가 준비되면 제공된 API > Kafka > my-cluster > YAML 을 클릭합니다.
  4. 상태 블록에서 나중에 서비스 레지스트리를 배포하는 데 사용할 bootstrapServers 값의 사본을 만듭니다. 예를 들면 다음과 같습니다.

    status:
      ...
      conditions:
      ...
      listeners:
        - addresses:
            - host: my-cluster-kafka-bootstrap.my-project.svc
              port: 9092
          bootstrapServers: 'my-cluster-kafka-bootstrap.my-project.svc:9092'
          type: plain
      ...
  5. 설치된 Operators > Red Hat Integration - Service Registry > ApicurioRegistry > Create ApicurioRegistry 를 클릭합니다.
  6. 다음 사용자 정의 리소스 정의에 붙여넣지만 이전에 복사한 bootstrapServers 값을 사용합니다.

    apiVersion: registry.apicur.io/v1
    kind: ApicurioRegistry
    metadata:
      name: example-apicurioregistry-kafkasql
    spec:
      configuration:
        persistence: 'kafkasql'
        kafkasql:
          bootstrapServers: 'my-cluster-kafka-bootstrap.my-project.svc:9092'
  7. 생성 을 클릭하고 OpenShift에서 서비스 레지스트리 경로가 생성될 때까지 기다립니다.
  8. 네트워킹 > 경로를 클릭하여 서비스 레지스트리 웹 콘솔의 새 경로에 액세스합니다. 예를 들면 다음과 같습니다.

    http://example-apicurioregistry-kafkasql.my-project.my-domain-name.com/
  9. Service Registry에서 데이터를 저장하는 데 사용하는 Kafka 주제를 구성하려면 설치된 Operator > Red Hat Integration - AMQ Streams > Provided API > Kafka Topic > kafkasql-journal > YAML 을 클릭합니다. 예를 들면 다음과 같습니다.

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaTopic
    metadata:
      name: kafkasql-journal
      labels:
        strimzi.io/cluster: my-cluster
      namespace: ...
    spec:
      partitions: 3
      replicas: 3
      config:
        cleanup.policy: compact
    주의

    서비스 레지스트리에서 사용하는 Kafka 항목(기본적으로 kafkasql-journal )을 압축 정리 정책으로 구성해야 합니다. 그렇지 않으면 데이터 손실이 발생할 수 있습니다.

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.