8.4.4. Kafka Connect API 노출


Kafka Connect REST API를 KafkaConnector 리소스를 사용하여 커넥터를 관리하는 대신 사용합니다. Kafka Connect REST API는 < connect_cluster_name> -connect-api:8083 에서 실행되는 서비스로 사용할 수 있습니다. 여기서 < connect_cluster_name >은 Kafka Connect 클러스터의 이름입니다. 이 서비스는 Kafka Connect 인스턴스를 생성할 때 생성됩니다.

Kafka Connect REST API에서 지원하는 작업은 Apache Kafka Connect API 설명서에 설명되어 있습니다.

참고

strimzi.io/use-connector-resources 주석은 KafkaConnectors를 활성화합니다. KafkaConnect 리소스 구성에 주석을 적용한 경우 Kafka Connect API를 사용하도록 제거해야 합니다. 그러지 않으면 Kafka Connect REST API를 사용하여 직접 변경한 수동 변경 사항은 Cluster Operator에서 되돌립니다.

커넥터 구성을 JSON 오브젝트로 추가할 수 있습니다.

커넥터 구성을 추가하기 위한 curl 요청 예

curl -X POST \
  http://my-connect-cluster-connect-api:8083/connectors \
  -H 'Content-Type: application/json' \
  -d '{ "name": "my-source-connector",
    "config":
    {
      "connector.class":"org.apache.kafka.connect.file.FileStreamSourceConnector",
      "file": "/opt/kafka/LICENSE",
      "topic":"my-topic",
      "tasksMax": "4",
      "type": "source"
    }
}'

API는 OpenShift 클러스터 내에서만 액세스할 수 있습니다. OpenShift 클러스터 외부에서 실행되는 애플리케이션에 Kafka Connect API를 액세스하려면 다음 기능 중 하나를 생성하여 수동으로 노출할 수 있습니다.

  • LoadBalancer 또는 NodePort 유형 서비스
  • Ingress 리소스(Kubernetes만 해당)
  • OpenShift 경로(OpenShift만 해당)
참고

연결이 안전하지 않으므로 외부 액세스를 권장합니다.

서비스를 생성하려면 < connect_cluster_name> -connect-api 서비스의 선택기 에서 레이블을 사용하여 서비스가 트래픽을 라우팅할 Pod를 구성합니다.

서비스의 선택기 구성

# ...
selector:
  strimzi.io/cluster: my-connect-cluster 
1

  strimzi.io/kind: KafkaConnect
  strimzi.io/name: my-connect-cluster-connect 
2

#...

1
OpenShift 클러스터의 Kafka Connect 사용자 지정 리소스의 이름입니다.
2
Cluster Operator가 생성한 Kafka Connect 배포의 이름입니다.

외부 클라이언트의 HTTP 요청을 허용하는 NetworkPolicy 도 생성해야 합니다.

Kafka Connect API에 대한 요청을 허용하는 NetworkPolicy의 예

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: my-custom-connect-network-policy
spec:
  ingress:
  - from:
    - podSelector: 
1

        matchLabels:
          app: my-connector-manager
    ports:
    - port: 8083
      protocol: TCP
  podSelector:
    matchLabels:
      strimzi.io/cluster: my-connect-cluster
      strimzi.io/kind: KafkaConnect
      strimzi.io/name: my-connect-cluster-connect
  policyTypes:
  - Ingress

1
API에 연결할 수 있는 Pod의 레이블입니다.

클러스터 외부에 커넥터 구성을 추가하려면 curl 명령에 API를 노출하는 리소스의 URL을 사용합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동