6.3. type


유형은 internal 로 설정되거나 외부 리스너의 경우 경로,로드 밸런서 ,nodeport,ingress 또는 cluster-ip 로 설정됩니다. 사용자 정의 액세스 메커니즘을 빌드하는 데 사용할 수 있는 내부 리스너 유형인 cluster-ip 리스너를 구성할 수도 있습니다.

internal

tls 속성을 사용하여 암호화하거나 암호화하지 않고 내부 리스너를 구성할 수 있습니다.

내부 리스너 구성의 예

#...
spec:
  kafka:
    #...
    listeners:
      #...
      - name: plain
        port: 9092
        type: internal
        tls: false
      - name: tls
        port: 9093
        type: internal
        tls: true
        authentication:
          type: tls
    #...
Copy to Clipboard Toggle word wrap

라우트

OpenShift 경로 및 HAProxy 라우터를 사용하여 Kafka를 노출하도록 외부 리스너를 구성합니다.

모든 Kafka 브로커 Pod에 대한 전용 경로가 생성됩니다. Kafka 부트스트랩 주소로 사용하기 위해 추가 경로가 생성됩니다. Kafka 클라이언트는 이러한 경로를 사용하여 포트 443에서 Kafka에 연결할 수 있습니다. 클라이언트는 기본 라우터 포트인 포트 443에 연결되지만 트래픽이 구성된 포트로 라우팅됩니다. 이 예에서는 9094 입니다.

경로 리스너 구성의 예

#...
spec:
  kafka:
    #...
    listeners:
      #...
      - name: external1
        port: 9094
        type: route
        tls: true
    #...
Copy to Clipboard Toggle word wrap

Ingress

Kubernetes 인그레스 및 Kubernetes용 Ingress NGINX 컨트롤러 를 사용하여 Kafka를 노출하도록 외부 리스너를 구성합니다.

모든 Kafka 브로커 Pod에 대한 전용 Ingress 리소스가 생성됩니다. Kafka 부트스트랩 주소로 사용하기 위해 추가 Ingress 리소스가 생성됩니다. Kafka 클라이언트는 이러한 Ingress 리소스를 사용하여 포트 443에서 Kafka에 연결할 수 있습니다. 클라이언트는 기본 컨트롤러 포트인 포트 443에 연결되지만, 트래픽은 구성한 포트로 라우팅되며 다음 예에서는 9095 입니다.

GenericKafkaListenerConfigurationBootstrapGenericKafkaListenerConfigurationBroker 속성을 사용하여 부트스트랩 및 per-broker 서비스에서 사용하는 호스트 이름을 지정해야 합니다.

수신 리스너 구성의 예

#...
spec:
  kafka:
    #...
    listeners:
      #...
      - name: external2
        port: 9095
        type: ingress
        tls: true
        authentication:
          type: tls
        configuration:
          bootstrap:
            host: bootstrap.myingress.com
          brokers:
          - broker: 0
            host: broker-0.myingress.com
          - broker: 1
            host: broker-1.myingress.com
          - broker: 2
            host: broker-2.myingress.com
  #...
Copy to Clipboard Toggle word wrap

참고

Ingress 를 사용하는 외부 리스너는 현재 Kubernetes용 Ingress NGINX Controller 에서만 테스트됩니다.

LoadBalancer

로드 밸런서 유형 서비스를 사용하여 Kafka를 노출하도록 외부 리스너를 구성합니다.

모든 Kafka 브로커 포드에 대해 새 로드 밸런서 서비스가 생성됩니다. Kafka 부트스트랩 주소로 사용하기 위해 추가 로드 밸런서가 생성됩니다. LoadBalancers는 다음 예제에서 포트 9094 인 지정된 포트 번호를 수신 대기합니다.

loadBalancerSourceRanges 속성을 사용하여 지정된 IP 주소에 대한 액세스를 제한하도록 소스 범위를 구성할 수 있습니다.

로드 밸런서 리스너 구성의 예

#...
spec:
  kafka:
    #...
    listeners:
      - name: external3
        port: 9094
        type: loadbalancer
        tls: true
        configuration:
          loadBalancerSourceRanges:
            - 10.0.0.0/8
            - 88.208.76.87/32
    #...
Copy to Clipboard Toggle word wrap

NodePort

NodePort 유형 서비스를 사용하여 Kafka를 노출하도록 외부 리스너를 구성합니다.

Kafka 클라이언트는 OpenShift의 노드에 직접 연결합니다. Kafka 부트스트랩 주소로 사용하기 위해 추가 NodePort 유형의 서비스가 생성됩니다.

Kafka 브로커 pod에 대해 공개된 주소를 구성할 때 Apache Kafka의 Streams는 지정된 pod가 실행 중인 노드의 주소를 사용합니다. preferredNodePortAddressType 속성을 사용하여 노드 주소로 확인한 첫 번째 주소 유형을 구성할 수 있습니다.

nodeport 리스너 구성의 예

#...
spec:
  kafka:
    #...
    listeners:
      #...
      - name: external4
        port: 9095
        type: nodeport
        tls: false
        configuration:
          preferredNodePortAddressType: InternalDNS
    #...
Copy to Clipboard Toggle word wrap

참고

TLS 호스트 이름 확인은 현재 노드 포트를 사용하여 Kafka 클러스터를 노출할 때 지원되지 않습니다.

cluster-ip

broker ClusterIP 유형 Service 를 사용하여 Kafka를 노출하도록 내부 리스너를 구성합니다.

리스너는 헤드리스 서비스와 해당 DNS 이름을 사용하여 Kafka 브로커로 트래픽을 라우팅하지 않습니다. 헤드리스 서비스를 사용하는 경우 이 유형의 리스너를 사용하여 Kafka 클러스터를 노출할 수 없습니다. 특정 Ingress 컨트롤러 또는 OpenShift Gateway API를 사용하는 것과 같은 사용자 정의 액세스 메커니즘과 함께 사용할 수 있습니다.

각 Kafka 브로커 포드에 대해 새 ClusterIP 서비스가 생성됩니다. 이 서비스에는broker 포트 번호와 함께 Kafka 부트스트랩 주소로 사용할 ClusterIP 주소가 할당됩니다. 예를 들어 TCP 포트 구성을 사용하여 Nginx Ingress 컨트롤러에 Kafka 클러스터를 노출하도록 리스너를 구성할 수 있습니다.

cluster-ip 리스너 구성의 예

#...
spec:
  kafka:
    #...
    listeners:
      - name: clusterip
        type: cluster-ip
        tls: false
        port: 9096
    #...
Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat