5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

著者: 伊藤 雅博, 株式会社日立製作所

はじめに

OpenShift上にRed Hat Streams for Apache Kafka Console (StreamsHub Console)をデプロイする手順と、このWebコンソールで参照できるKafkaクラスタの情報を紹介します。

記事一覧:

  1. AWSにおけるOpenShiftプライベートクラスタの構築
  2. OpenShiftにStreams for Apache Kafka (Strimzi) をデプロイする
  3. Streams for Apache Kafka Console (StreamsHub Console) をデプロイする(本稿)
  4. Streams for Apache Kafka (Strimzi) の認証・認可

Streams for Apache Kafka Console (StreamsHub Console) の概要

Streams for Apache Kafka Consoleは、Kafkaクラスタ(Strimzi)の監視用WebコンソールであるStreamsHub Consoleを基盤とした製品です。本稿で紹介する手順の多くはStreamsHub Consoleでも同様に利用できます。以下では本製品をKafkaコンソールと呼称します。

Kafkaコンソールは、Kafkaクラスタの内部状態を参照できるWeb UIであり、以下の情報を確認できます。

  • ノード情報
    • Controller/Brokerノードの一覧、現在のActive Controller
  • Topic情報
    • Topicの一覧
    • Topic内のメッセージ
    • Topic Partitionの一覧、複製状態、データサイズ
    • Topicを購読しているConsumer Group一覧
    • Topicの設定
  • Consumer Group情報
    • Consumer Groupの一覧
    • Consumer Groupが購読するTopic Partition

Kafkaコンソールを使用することで、KafkaのCLIツールで確認できる情報の多くをWebブラウザで確認できます。ただし参照専用であり更新は出来ません。

Streams for Apache Kafkaの基本的な運用では、Kafkaクラスタの状態更新はリソースファイルで実施し、状態参照はKafkaコンソールで行います。Kafka CLIツールは動作確認やデバッグ、特殊な運用でのみ使用します。

前提環境

Kafkaクラスタ

今回はOpenShiftにStreams for Apache Kafkaをデプロイするで構築済みのKafkaクラスタに、Kafkaコンソールを接続します。

  • Cluster Operatorバージョン: 3.0.1-3

前提となるKafkaクラスタの構成を以下に示します。

ocp-kafka-cluster.png

Kafkaサーバのリスナ

Kafkaサーバには以下のリスナを定義しています。今回デプロイするKafkaコンソールは、無認証のplainリスナに接続して情報を参照します。

リスナ名 ポート 認証方式 公開先 (Service)
plain 9092 なし 内部 (ClusterIP)
tls1 9093 TLSサーバ認証 内部 (ClusterIP)
tls2 9094 (443) TLSサーバ認証 外部 (Route)

Console Operatorのインスト―ル

OpenShift Webコンソールのソフトウェアカタログ(OperatorHub)から、Streams for Apache Kafka Consoleをインストールします。

  • Console Operatorバージョン: 3.0.1-3

kafka_operator.png

Kafkaコンソールのデプロイ

Kafkaコンソールのリソースファイルを作成します。今回は無認証のリスナに接続するためユーザ情報は不要です。認証ありのリスナに接続する方法は第4回の投稿で説明します。

my-console.yaml
---
# Kafkaコンソール
apiVersion: console.streamshub.github.com/v1alpha1
kind: Console
metadata:
  name: my-console
  namespace: kafka-01
spec:
  # OpenShiftクラスタ外におけるコンソールのホスト名
  hostname: my-console.ocp420.ossc.hitachi.com
  # 接続先Kafkaクラスタ
  kafkaClusters:
    # クラスタ名
    - name: my-cluster-01
      # OpenShiftプロジェクト名
      namespace: kafka-01
      # リスナ名  
      listener: plain # 無認証のリスナ

      # 認証ありのリスナに接続する場合は、認証用のユーザ(KafkaUser)を指定
      #credentials:
      #  kafkaUser:
      #    # 認証ユーザ名
      #    name: console-user

---

リソースファイルを適用します。

oc apply -f my-console.yaml -n kafka-01

KafkaコンソールのPodがデプロイされます。

ocp-kafka-cluster-console.png

Kafkaコンソールにログイン

WebブラウザからKafkaコンソールにアクセスします。

Kafkaコンソールの画面

Kafkaコンソールではクラスタ、Topic、ノード、Consumer Groupの情報を参照できます。

クラスタ情報

console_overview.png

Topic情報

Topicの一覧

console_topics.png

Topic内のメッセージ

console_topic_messages.png

Topic Partitionの一覧、複製状態、データサイズ

console_topic_partitions.png

Topicを購読しているConsumer Group一覧

console_topic_cg.png

Topicの設定

console_topic_config.png

ノード情報

Controller/Brokerノードの一覧、Active Controller

console_nodes.png

Consumer Group情報

Consumer Groupの一覧

console_cgs.png

Consumer Groupが購読するTopic Partition

console_cg.png

おわりに

本稿ではKafkaコンソールのデプロイ方法と参照可能な情報を紹介しました。
次回はStreams for Apache Kafkaの認証・認可の設定方法を紹介します。

5
1
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
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?