4장. OpenShift 클러스터 외부에서 Kafka 액세스


외부 리스너를 사용하여 AMQ Streams Kafka 클러스터를 OpenShift 환경 외부의 클라이언트에 노출합니다.

외부 리스너 구성에 Kafka를 노출할 연결 유형을 지정합니다.

  • NodePort 에서 NodePort 유형 서비스사용
  • LoadBalancerLoadbalancer 유형 서비스를사용합니다.
  • Ingress 는 Kubernetes IngressKubernetes용 NGINX Ingress 컨트롤러를사용합니다.
  • 경로는 OpenShift 경로 와 HAProxy 라우터를 사용합니다.

리스너 구성에 대한 자세한 내용은 GenericKafkaListener 스키마 참조를 참조하십시오.

각 연결 유형의 장단점에 대해 자세히 알아보려면 Strimzi에서 Apache Kafka 액세스를 참조하십시오.

참고

경로는 OpenShift에서만 지원됩니다.

4.1. 노드 포트를 사용하여 Kafka에 액세스

다음 절차에서는 노드 포트를 사용하여 외부 클라이언트에서 AMQ Streams Kafka 클러스터에 액세스하는 방법을 설명합니다.

브로커에 연결하려면 Kafka 부트스트랩 주소 의 호스트 이름 및 포트 번호와 인증에 사용되는 인증서가 필요합니다.

사전 요구 사항

  • OpenShift 클러스터
  • 실행중인 Cluster Operator

절차

  1. nodeport 유형으로 설정된 외부 리스너를 사용하여 Kafka 리소스를 구성합니다.

    예를 들면 다음과 같습니다.

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    spec:
      kafka:
        # ...
        listeners:
          - name: external
            port: 9094
            type: nodeport
            tls: true
            authentication:
              type: tls
            # ...
        # ...
      zookeeper:
        # ...
  2. 리소스를 생성하거나 업데이트합니다.

    oc apply -f <kafka_configuration_file>

    NodePort 유형 서비스는 각 Kafka 브로커 및 외부 부트스트랩 서비스에 대해 생성됩니다. 부트스트랩 서비스는 외부 트래픽을 Kafka 브로커로 라우팅합니다. 연결에 사용되는 노드 주소는 Kafka 사용자 정의 리소스의 상태로 전파됩니다.

    kafka 브로커의 ID를 확인하는 클러스터 CA 인증서도 시크릿 < cluster_name> -cluster-ca-cert 에 생성됩니다.

  3. Kafka 리소스의 상태에서 Kafka 클러스터에 액세스하는 데 사용할 수 있는 부트스트랩 주소를 검색합니다.

    oc get kafka <kafka_cluster_name> -o=jsonpath='{.status.listeners[?(@.name=="<listener_name>")].bootstrapServers}{"\n"}'

    예를 들면 다음과 같습니다.

    oc get kafka my-cluster -o=jsonpath='{.status.listeners[?(@.name=="external")].bootstrapServers}{"\n"}'
  4. TLS 암호화가 활성화된 경우 브로커 인증 기관의 공개 인증서를 추출합니다.

    oc get secret KAFKA-CLUSTER-NAME-cluster-ca-cert -o jsonpath='{.data.ca\.crt}' | base64 -d > ca.crt

    Kafka 클라이언트에서 추출된 인증서를 사용하여 TLS 연결을 구성합니다. 인증을 활성화한 경우 SASL 또는 TLS 인증도 구성해야 합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.