4.2.4.3. 로드 밸런서 인그레스의 DNS 구성
loadBalancer ingress 유형을 사용할 때 advertise BrokerAddressPattern에서 생성된 이름과 가 off-cluster 애플리케이션이 실행되는 네트워크의 로드 밸런서를 기반으로 하는 OpenShift bootstrapAddress 서비스 의 외부 주소로 해석되는지 확인해야 합니다.
사전 요구 사항
- Apache Kafka Proxy Operator의 Streams가 설치되어 있습니다.
-
KafkaProxy,VirtualKafkaCluster및KafkaProxyIngress리소스가 배포됩니다. -
VirtualKafkaCluster및KafkaProxyIngress리소스는loadBalancer수신을 사용하도록 구성됩니다. - 클러스터 외부 애플리케이션이 실행되는 네트워크에서 DNS를 구성할 수 있습니다.
- 네트워크 트래픽은 애플리케이션 네트워크에서 OpenShift 클러스터에서 제공하는 외부 주소로 실행할 수 있습니다.
프로세스
다음 명령을 실행하여 로드 밸런서에서 사용 중인 외부 주소를 검색합니다.
oc get service -n <namespace> <proxy-name>-sni -o=jsonpath='{.status.loadBalancer.ingress[0]}'&
lt;namespace>를 리소스가 배포된 OpenShift 네임스페이스의 이름으로 바꾸고 <proxy-name>을KafkaProxy리소스의 이름으로 바꿉니다.OpenShift 환경에 따라 명령은 IP 주소 또는 호스트 이름을 반환합니다. 로드 밸런서의 외부 주소입니다.
부트스트랩 및 브로커 이름이 외부 주소로 확인되도록 DNS를 구성합니다.
$(virtualClusterName).kafkaproxy.example.com의bootstrapof $(virtualClusterName).kafkaproxy.example.com을 사용하고 Kafka 클러스터는 노드 ID(0-2) 및Address가 있다고 가정하면,broker-$(nodeId).$(virtualClusterName).kafkaproxy.example.com의 공개된 BrokerAddressPatternmy-cluster의 가상 클러스터 이름을 사용합니다.my-cluster.kafkaproxy.example.com => <external address> broker-0.my-cluster.kafkaproxy.example.com => <external address> broker-1.my-cluster.kafkaproxy.example.com => <external address> broker-2.my-cluster.kafkaproxy.example.com => <external address>정확한 단계는 환경 및 네트워크 설정에 따라 다릅니다.
애플리케이션 네트워크에서 이름이 확인되는지 확인합니다.
nslookup mycluster.kafkaproxy.example.com nslookup broker-0.mycluster.kafkaproxy.example.com