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
ocCLI 툴을 사용하여 일부 단계를 수행할 수 있습니다.
프로세스
- 웹 콘솔에서 Operator > Installed Operators 페이지로 이동하여 AMQ Streams 를 선택하여 Operator 세부 정보를 표시합니다.
- Kafka 페이지를 선택하여 설치된 Kafka 클러스터를 표시합니다.
세부 정보를 보려면 구성 중인 Kafka 클러스터의 이름을 클릭합니다.
이 예제에서는
my-cluster라는 Kafka 클러스터를 사용합니다.-
Kafka 클러스터
my-cluster의 YAML 페이지를 선택합니다. 경로 리스너 구성을 추가하여
listener1이라는 OpenShift 경로를 생성합니다.리스너 구성을
경로유형으로 설정해야 합니다. Kafka 구성의 리스너 아래에리스너구성을 추가합니다.외부 경로 리스너 구성
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클라이언트는 기본 라우터 포트인 포트 443에 연결되지만 트래픽이 구성된 포트로 라우팅됩니다. 이 예에서는 9094입니다.
- 업데이트된 구성을 저장합니다.
Kafka 클러스터
my-cluster의 리소스 페이지를 선택하여 클라이언트에 필요한 연결 정보를 찾습니다.리소스 페이지에서 Kafka 클러스터에 연결하는 데 필요한 경로 리스너 및 공용 클러스터 인증서에 대한 세부 정보를 확인할 수 있습니다.
-
Kafka 클러스터에 대해 생성된
my-cluster-kafka-listener1-bootstrap경로의 이름을 클릭하여 경로 세부 정보를 표시합니다. 호스트 이름을 기록합니다.
호스트 이름은 Kafka 클러스터에 연결하기 위한 부트스트랩 주소로 Kafka 클라이언트의 포트 443으로 지정됩니다.
Networking > Routes 로 이동하고 네임스페이스에 생성된 경로를 표시하는
amq-streams-kafka프로젝트를 선택하여 부트스트랩 주소를 찾을 수도 있습니다.또는
oc툴을 사용하여 부트스트랩 세부 정보를 추출할 수 있습니다.부트스트랩 정보 추출
oc get routes my-cluster-kafka-listener1-bootstrap -o=jsonpath='{.status.ingress[0].host}{"\n"}'oc get routes my-cluster-kafka-listener1-bootstrap -o=jsonpath='{.status.ingress[0].host}{"\n"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 리소스 페이지로 돌아가서
my-cluster-cluster-ca-cert의 이름을 클릭하여 Kafka 클러스터에 액세스하기 위한 시크릿 세부 정보를 표시합니다.ca.crt인증서 파일에는 Kafka 클러스터의 공용 인증서가 포함되어 있습니다.Kafka 브로커에 액세스하려면 인증서가 필요합니다.
ca.crt공용 인증서 파일의 로컬 사본을 만듭니다.인증서의 세부 정보를 복사하거나 OpenShift
oc툴을 사용하여 압축을 풀 수 있습니다.공용 인증서 추출
oc extract secret/my-cluster-cluster-ca-cert --keys=ca.crt --to=- > ca.crt
oc extract secret/my-cluster-cluster-ca-cert --keys=ca.crt --to=- > ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow keytool을 사용하여 공용 클러스터 인증서의 로컬 신뢰 저장소를 생성합니다.로컬 신뢰 저장소 생성
keytool -keystore client.truststore.jks -alias CARoot -import -file ca.crt
keytool -keystore client.truststore.jks -alias CARoot -import -file ca.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 메시지가 표시되면 truststore에 액세스하기 위한 암호를 생성합니다.
truststore는 Kafka 클러스터에 대한 액세스를 인증하기 위해 Kafka 클라이언트에 지정됩니다.
이제 메시지를 보내고 받을 준비가 되었습니다.