Skip to content

NimTechnology

Trình bày các công nghệ CLOUD một cách dễ hiểu.

  • Kubernetes & Container
    • Docker
    • Kubernetes
      • Ingress
      • Pod
    • Helm Chart
    • OAuth2 Proxy
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
    • MetalLB
    • Kong Gateway
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Argo Events
    • Spinnaker
    • Jenkins
    • Harbor
    • TeamCity
    • Git
      • Bitbucket
  • Coding
    • DevSecOps
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
      • Azure Cloud
    • Golang
    • Laravel
    • Python
    • Jquery & JavaScript
    • Selenium
  • Log, Monitor & Tracing
    • DataDog
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
    • NextCloud
  • Toggle search form

[Kafka-connect] Install Kafka-connect on Kubernetes through helm-chart.

Posted on February 9, 2022February 27, 2022 By nim No Comments on [Kafka-connect] Install Kafka-connect on Kubernetes through helm-chart.

Contents

Toggle
  • 1) Overview
  • 2) Install kafka-conect on kubernetes.
    • 2.1) Sample config
    • 2.2) Integrate Kafka-connect with Schema-registry
  • 3) Install plugin for kafka connect.
    • 3.1) add plugin via build image and base on cp-kafka-connect-base

1) Overview

Mình đã có 1 vài bài về kafka cũng như kafka-connect.
Kafka-connect thì có nhiệm vụ là Lấy data từ source nào đó như là: file, database, … ===> rồi ghi vào topic của Kafka
Khi mà topic đó đã có data:
– thì client có read trực tiếp data từ topic đó.
– Hoặc sử dụng feature SINK của kafka connect để ghi data từ topic đó vào nhiều destination khác nhau: database, file, elasticsearch,…

Bài này chúng ta cài chạy kafka-connect trên Kubernetes. Mình sẽ ko quá lan man vào lý thuyết.

2) Install kafka-conect on kubernetes.

Chart của kafka-connect họ để trên github:
https://github.com/confluentinc/cp-helm-charts

Bạn add link github vào argocd cài easily lắm

2.1) Sample config

Mình sẽ cung cấp cho bạn value:

kafka:
  bootstrapServers: 'PLAINTEXT://192.168.101.36:9092'
configurationOverrides:
  "config.storage.replication.factor": "1"
  "offset.storage.replication.factor": "1"
  "status.storage.replication.factor": "1"

Chố này thì bạn buộc khai báo bootstrapServers đây là chỗ khai báo kafka.
replication bạn thấy đều bằng 1 vì mình đang chỉ chạy 1 server kafka => chỉ có 1 blocker
Nếu blocker < replication nó sẽ báo lỗi trong Log pod

Đây là hình ẻm trên argocd

2.2) Integrate Kafka-connect with Schema-registry

Mình đã có hướng dẫn cài Schema-registry:

[Kafka/Schema-registry] Installing Schema-registry to use for the Kafka and Kafka-connect model

giờ bạn chỉ cần sửa values.yaml như sau:

kafka:
  bootstrapServers: 'PLAINTEXT://kafka:9092'
image: docker.nimtechnology.com/nim/kafka-connect-6.1.0
imageTag: 1.0.1
cp-schema-registry:
  url: "http://schema-registry-cp-schema-registry:8081"

cp-schema-registry:
url: "http://schema-registry-cp-schema-registry:8081"

đây là phần khái báo kết nối đến schema-registry

3) Install plugin for kafka connect.

Khi bạn kết nối với lenses thì thấy chả có mấy plugin

cái image mà chúng ta đang cài kafka-connect ở trên thì nó ko có chạy được câu lệnh:
confluent-hub install --no-prompt xxx/xxx-xxxx-xxx:x.x.x

3.1) add plugin via build image and base on cp-kafka-connect-base

reference links:
https://docs.confluent.io/home/connect/self-managed/extending.html#create-a-docker-image-containing-c-hub-connectors

chúng ta có Dockerfile như sau:

cat Dockerfile 
FROM confluentinc/cp-kafka-connect-base:6.1.0

RUN   confluent-hub install --no-prompt hpgrahsl/kafka-connect-mongodb:1.1.0 \
   && confluent-hub install --no-prompt microsoft/kafka-connect-iothub:0.6 \
   && confluent-hub install --no-prompt wepay/kafka-connect-bigquery:1.1.0

Bạn cần truy cập vào hub này để lấy tìm plugin connector:
https://www.confluent.io/hub

thực hiện copy

giờ mình có file Dockerfile như sau:

FROM confluentinc/cp-kafka-connect-base:6.1.0

RUN confluent-hub install --no-prompt confluentinc/kafka-connect-elasticsearch:11.1.8

Giờ anh em build image:
docker build -t docker.nimtechnology.com/nim/kafka-connect-6.1.0:1.0.0 --force-rm -f Dockerfile .

rồi tiến anh sửa values.yaml và re-install kafka-connect

kafka:
  bootstrapServers: 'PLAINTEXT://192.168.101.36:9092'
configurationOverrides:
  "config.storage.replication.factor": "1"
  "offset.storage.replication.factor": "1"
  "status.storage.replication.factor": "1"
image: docker.nimtechnology.com/nim/kafka-connect-6.1.0
imageTag: 1.0.0

giờ chúng ta đã có plugin elastic trong kafka-connect.

Apache Kafka, Kafka Connect

Post navigation

Previous Post: [Kafka-connect] Install lenses to manage Kafka.
Next Post: [Kafka/Schema-registry] Installing Schema-registry to use for the Kafka and Kafka-connect model

More Related Articles

[Kafka/Schema-registry] Installing Schema-registry to use for the Kafka and Kafka-connect model Apache Kafka
[Kafka-connect] Single Message Transform: lesson 11 – Predicate and Filter – filtering topic name and content of the messages. Kafka Connect
[Kafka-connect] Single Message Transform: lesson 10 – ReplaceField – U can drop, keep and renamed field in kafka message. Kafka Connect
[Kafka-Zookeeper] Starting Kafka and Zookeeper Apache Kafka
[Kafka] Kafka Console Producer CLI. Apache Kafka
[Kafka-connect] Single Message Transform: lesson 9 – Cast Apache Kafka

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tham Gia Group DevOps nhé!
Để Nim có nhiều động lực ra nhiều bài viết.
Để nhận được những thông báo mới nhất.

Recent Posts

  • [AWS/EKS] Cache Docker image to accelerate EKS container deployment. July 10, 2025
  • [Laravel] Laravel Helpful June 26, 2025
  • [VScode] Hướng dẫn điều chỉnh font cho terminal June 20, 2025
  • [WordPress] Hướng dấn gửi mail trên WordPress thông qua gmail. June 15, 2025
  • [Bitbucket] Git Clone/Pull/Push with Bitbucket through API Token. June 12, 2025

Archives

  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Categories

  • BareMetal
    • NextCloud
  • CI/CD
    • Argo Events
    • ArgoCD
    • ArgoWorkflows
    • Git
      • Bitbucket
    • Harbor
    • Jenkins
    • Spinnaker
    • TeamCity
  • Coding
    • DevSecOps
    • Golang
    • Jquery & JavaScript
    • Laravel
    • NextJS 14 & ReactJS & Type Script
    • Python
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • Azure Cloud
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kong Gateway
    • Kubernetes
      • Ingress
      • Pod
    • Longhorn – Storage
    • MetalLB
    • OAuth2 Proxy
    • Vault
    • VictoriaMetrics
  • Log, Monitor & Tracing
    • DataDog
    • ELK
      • Kibana
      • Logstash
    • Fluent
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2025 NimTechnology.