6.7. Kafka Bridge のデプロイ
Kafka Bridge には、HTTP ベースのクライアントと Kafka クラスターを統合する API が含まれています。
6.7.1. Kafka Bridge を OpenShift クラスターへデプロイ
この手順では、Cluster Operator を使用して Kafka Bridge クラスターを OpenShift クラスターにデプロイする方法を説明します。
デプロイメントでは、YAML ファイルの仕様を使用して KafkaBridge
リソースが作成されます。
Streams for Apache Kafka は、設定ファイルのサンプル を提供します。この手順では、以下のサンプルファイルを使用します。
-
examples/bridge/kafka-bridge.yaml
手順
Kafka Bridge を OpenShift クラスターにデプロイします。
oc apply -f examples/bridge/kafka-bridge.yaml
デプロイメントのステータスを確認します。
oc get pods -n <my_cluster_operator_namespace>
デプロイメント名と準備状態が表示されている出力
NAME READY STATUS RESTARTS my-bridge-bridge-<pod_id> 1/1 Running 0
my-bridge
は、Kafka Bridge クラスターの名前です。Pod ID は、作成された各 Pod を識別します。
デフォルトのデプロイメントでは、単一の Kafka Bridge Pod をインストールします。
READY
は、Ready/expected 状態のレプリカ数を表示します。STATUS
がRunning
と表示されれば、デプロイメントは成功です。
6.7.2. Kafka Bridge サービスのローカルマシンへの公開
ポート転送を使用して、Streams for Apache Kafka Bridge サービスを http://localhost:8080 でローカルマシンに公開します。
ポート転送は、開発およびテストの目的でのみ適切です。
手順
OpenShift クラスターの Pod の名前をリストします。
oc get pods -o name pod/kafka-consumer # ... pod/my-bridge-bridge-<pod_id>
ポート
8080
で Kafka Bridge Pod に接続します。oc port-forward pod/my-bridge-bridge-<pod_id> 8080:8080 &
注記ローカルマシンのポート 8080 がすでに使用中の場合は、代わりの HTTP ポート (
8008
など) を使用します。
これで、API リクエストがローカルマシンのポート 8080 から Kafka Bridge Pod のポート 8080 に転送されるようになります。
6.7.3. OpenShift 外部の Kafka Bridge へのアクセス
デプロイ後の Streams for Apache Kafka Bridge には、同じ OpenShift クラスターで実行されているアプリケーションのみがアクセスできます。これらのアプリケーションは、<kafka_bridge_name>-bridge-service
サービスを使用して API にアクセスします。
OpenShift クラスター外部で実行しているアプリケーションに Kafka Bridge がアクセスできるようにする場合は、以下の機能のいずれかを作成して Kafka Bridge を手動で公開できます。
-
LoadBalancer
またはNodePort
タイプのサービス -
Ingress
リソース (Kubernetes のみ) - OpenShift ルート (OpenShift のみ)
サービスを作成する場合には、<kafka_bridge_name>-bridge-service
サービスの selector
からラベルを使用して、サービスがトラフィックをルーティングする Pod を設定します。
# ...
selector:
strimzi.io/cluster: kafka-bridge-name 1
strimzi.io/kind: KafkaBridge
#...
- 1
- OpenShift クラスターでの Kafka Bridge カスタムリソースの名前。
6.7.4. Kafka Bridge クラスターリソースのリスト
以下のリソースは、OpenShift クラスターの Cluster Operator によって作成されます。
- <bridge_cluster_name>-bridge
- Kafka Bridge ワーカーノード Pod の作成するデプロイメント。
- <bridge_cluster_name>-bridge-service
- Kafka Bridge クラスターの REST インターフェイスを公開するサービス。
- <bridge_cluster_name>-bridge-config
- Kafka Bridge の補助設定が含まれ、Kafka ブローカー Pod によってボリュームとしてマウントされる ConfigMap。
- <bridge_cluster_name>-bridge
- Kafka Bridge ワーカーノードに設定された Pod の Disruption Budget。