4장. Kafka 클러스터에 액세스하기 위한 OpenShift 경로 생성


OpenShift 경로를 생성하여 OpenShift 외부에서 Kafka 클러스터에 액세스합니다.

다음 절차에서는 Kafka 클러스터를 OpenShift 환경 외부의 클라이언트에 노출하는 방법을 설명합니다. Kafka 클러스터가 노출되면 외부 클라이언트가 Kafka 클러스터에서 메시지를 생성하고 사용할 수 있습니다.

OpenShift 경로를 생성하기 위해 OpenShift에 설치된 Kafka 클러스터 구성에 경로 리스너가 추가됩니다.

주의

OpenShift 경로 주소에는 Kafka 클러스터의 이름, 리스너 이름, 생성된 네임스페이스 이름이 포함됩니다. 예를 들어 my-cluster-kafka-listener1-bootstrap-amq-streams-kafka (<cluster_name> -kafka- <listener_name> -bootstrap- <namespace> ). 주소의 전체 길이가 최대 63자 제한을 초과하지 않도록 주의하십시오.

사전 요구 사항

  • OpenShift에 Kafka 클러스터를 생성 했습니다.
  • 인증서를 관리하려면 OpenJDK keytool 이 필요합니다.
  • (선택 사항) OpenShift oc CLI 툴을 사용하여 일부 단계를 수행할 수 있습니다.

프로세스

  1. 웹 콘솔에서 Operator > Installed Operators 페이지로 이동하여 AMQ Streams 를 선택하여 Operator 세부 정보를 표시합니다.
  2. Kafka 페이지를 선택하여 설치된 Kafka 클러스터를 표시합니다.
  3. 세부 정보를 보려면 구성 중인 Kafka 클러스터의 이름을 클릭합니다.

    이 예제에서는 my-cluster 라는 Kafka 클러스터를 사용합니다.

  4. Kafka 클러스터 my-clusterYAML 페이지를 선택합니다.
  5. 경로 리스너 구성을 추가하여 listener1 이라는 OpenShift 경로를 생성합니다.

    리스너 구성을 경로 유형으로 설정해야 합니다. Kafka 구성의 리스너 아래에 리스너 구성을 추가합니다.

    외부 경로 리스너 구성

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    metadata:
      name: my-cluster
      namespace: amq-streams-kafka
    spec:
      kafka:
        # ...
        listeners:
          # ...
          - name: listener1
            port: 9094
            type: route
            tls: true
    # ...
    Copy to Clipboard Toggle word wrap

    클라이언트는 기본 라우터 포트인 포트 443에 연결되지만 트래픽이 구성된 포트로 라우팅됩니다. 이 예에서는 9094입니다.

  6. 업데이트된 구성을 저장합니다.
  7. Kafka 클러스터 my-cluster리소스 페이지를 선택하여 클라이언트에 필요한 연결 정보를 찾습니다.

    리소스 페이지에서 Kafka 클러스터에 연결하는 데 필요한 경로 리스너 및 공용 클러스터 인증서에 대한 세부 정보를 확인할 수 있습니다.

  8. Kafka 클러스터에 대해 생성된 my-cluster-kafka-listener1-bootstrap 경로의 이름을 클릭하여 경로 세부 정보를 표시합니다.
  9. 호스트 이름을 기록합니다.

    호스트 이름은 Kafka 클러스터에 연결하기 위한 부트스트랩 주소로 Kafka 클라이언트의 포트 443으로 지정됩니다.

    Networking > Routes 로 이동하고 네임스페이스에 생성된 경로를 표시하는 amq-streams-kafka 프로젝트를 선택하여 부트스트랩 주소를 찾을 수도 있습니다.

    또는 oc 툴을 사용하여 부트스트랩 세부 정보를 추출할 수 있습니다.

    부트스트랩 정보 추출

    oc get routes my-cluster-kafka-listener1-bootstrap -o=jsonpath='{.status.ingress[0].host}{"\n"}'
    Copy to Clipboard Toggle word wrap

  10. 리소스 페이지로 돌아가서 my-cluster-cluster-ca-cert 의 이름을 클릭하여 Kafka 클러스터에 액세스하기 위한 시크릿 세부 정보를 표시합니다.

    ca.crt 인증서 파일에는 Kafka 클러스터의 공용 인증서가 포함되어 있습니다.

    Kafka 브로커에 액세스하려면 인증서가 필요합니다.

  11. ca.crt 공용 인증서 파일의 로컬 사본을 만듭니다.

    인증서의 세부 정보를 복사하거나 OpenShift oc 툴을 사용하여 압축을 풀 수 있습니다.

    공용 인증서 추출

    oc extract secret/my-cluster-cluster-ca-cert --keys=ca.crt --to=- > ca.crt
    Copy to Clipboard Toggle word wrap

  12. keytool 을 사용하여 공용 클러스터 인증서의 로컬 신뢰 저장소를 생성합니다.

    로컬 신뢰 저장소 생성

    keytool -keystore client.truststore.jks -alias CARoot -import -file ca.crt
    Copy to Clipboard Toggle word wrap

    메시지가 표시되면 truststore에 액세스하기 위한 암호를 생성합니다.

    truststore는 Kafka 클러스터에 대한 액세스를 인증하기 위해 Kafka 클라이언트에 지정됩니다.

    이제 메시지를 보내고 받을 준비가 되었습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat