0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Kubernetes上でのKafka運用とStrimzi Operatorの活用

Posted at

Kubernetes上でKafkaを運用する場合、ネットワーク設定やストレージの問題が発生することが多くあります。これを解決するために、Strimzi Operatorを活用してKafkaクラスタを管理する方法を解説します。

1. Strimzi Operatorとは?

Strimziは、Kubernetes上でKafkaクラスタを簡単にデプロイ・管理できるオープンソースのオペレーターです。Kafkaのスケール管理や永続ストレージの設定を容易にする機能を提供します。

2. Strimziを用いたKafkaのセットアップ手順

1. Kubernetesクラスターの準備

まず、Kubernetesクラスターが稼働していることを確認します。

kubectl get nodes

2. Strimzi Operatorのインストール

Strimziを利用するには、まずOperatorをインストールします。

kubectl create namespace kafka
kubectl apply -f https://strimzi.io/install/latest?namespace=kafka

3. Kafkaクラスタのデプロイ

Strimziのカスタムリソース(CRD)を使用してKafkaをデプロイします。

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
  namespace: kafka
spec:
  kafka:
    replicas: 3
    listeners:
      - name: plain
        port: 9092
        type: internal
    storage:
      type: persistent-claim
      size: 100Gi
      deleteClaim: false
  zookeeper:
    replicas: 3
    storage:
      type: persistent-claim
      size: 50Gi
      deleteClaim: false
  entityOperator:
    topicOperator: {}
    userOperator: {}

この設定で、3ノードのKafkaクラスタがデプロイされます。

4. Kafkaの永続ストレージ設定

Kafkaのデータを永続化するために、Persistent Volume(PV)を適切に設定します。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: kafka-pv-claim
  namespace: kafka
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100Gi

この設定を適用することで、Kafkaのデータがノードの再起動後も保持されます。

5. Kafkaに接続するクライアントの設定

Kafkaにメッセージを送信するPythonクライアントの設定を行います。

from kafka import KafkaProducer

producer = KafkaProducer(bootstrap_servers='my-cluster-kafka-bootstrap.kafka.svc.cluster.local:9092')
producer.send('test-topic', b'Hello Kafka in Kubernetes!')
producer.flush()

3. まとめ

Kubernetes上でKafkaを運用する際には、Strimzi Operatorを活用することで、

  • 簡単にKafkaクラスタを管理
  • 永続ストレージを適切に設定
  • スケーラブルなデータストリーミング環境を構築

することができます。これにより、Kafkaの安定運用が可能になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?