链接
- 第1部分:介绍和架构
- 第2部分:建立Kubernetes和Kafka<--本文
- 第3部分:设置Vault
- 第4部分:建立微型服务
- 第5部分:部署和测试
要求
目录结构
我们将使用的目录结构如下:
- $PROJECTS
- —|—DepositAccount
- —|—GatewayKafka
- —|—Transaction
- —|—Registry
- —|—k8s
- —|—kafkatools
软件
这些是入门所需的软件
- Java语言
- OpenSSL
设置Kubernetes和Helm
在本教程中,我们将使用Docker Desktop及其Kubernetes引擎。
- 按照本教程中的步骤[Install Docker Desktop]:
https://github.com/azrulhasni/Ebanking-JHipster-Keycloak-Nginx-K8#install-docker-desktop
- 同时安装Helm
https://github.com/azrulhasni/Ebanking-JHipster-Keycloak-Nginx-K8#installing-helm
设置Kafka
我们将在Kubernetes集群中运行Kafka。我们将为此使用赫尔姆。
使用Helm安装Kafka
首先,运行下面的两个命令行。这将使用Helm将Kafka安装到Kubernetes集群
> helm repo add bitnami https://charts.bitnami.com/bitnami > helm install kafka bitnami/kafka
完成后,您将收到以下消息:
NAME: kafka LAST DEPLOYED: Mon Sep 14 09:08:13 2020 NAMESPACE: default STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: ** Please be patient while the chart is being deployed ** Kafka can be accessed by consumers via port 9092 on the following DNS name from within your cluster: kafka.default.svc.cluster.local Each Kafka broker can be accessed by producers via port 9092 on the following DNS name(s) from within your cluster: kafka-0.kafka-headless.default.svc.cluster.local:9092 To create a pod that you can use as a Kafka client run the following commands: kubectl run kafka-client --restart='Never' --image docker.io/bitnami/kafka:2.6.0-debian-10-r18 --namespace default --command -- sleep infinity kubectl exec --tty -i kafka-client --namespace default -- bash PRODUCER: kafka-console-producer.sh \ --broker-list kafka-0.kafka-headless.default.svc.cluster.local:9092 \ --topic test CONSUMER: kafka-console-consumer.sh \ --bootstrap-server kafka.default.svc.cluster.local:9092 \ --topic test \ --from-beginning
要进行双重检查,请运行:
> kubectl get pods
你应该得到下面的结果。我们应该看到Kafka和ZooKeeper吊舱处于运行状态
在Kubernetes暴漏Kafka让我们管理
卡夫卡现在正在成功运行。为了让我们管理它(例如创建新的主题),我们需要将它暂时暴露给外部世界
运行下面的命令。这将使Kafka在端口9092处暴露给本地主机。
kubectl port-forward kafka-0 9092:9092
安装Kafdrop
Kafdrop是Kafka的管理工具。我们可以用它来管理我们的Kafka集群
从https://github.com/obsidiandynamics/kafdrop/releases 下载jar文件并将其放在$PROJECTS/KafkaTools文件夹中
运行下面的命令。确保将<version>替换为您下载的Kafdrop的版本号。请注意,属性-kafka。brokerConnect指向我们在上面段落中公开的端口(localhost:9092):
java -jar kafdrop-<version>.jar --kafka.brokerConnect=localhost:9092
然后将浏览器指向http://localhost:9000 . 您应该看到下面的页面:
导航到页面底部并找到“主题”部分。单击(+)按钮
您将在下面的页面中创建主题。
创建2个主题:存款借记响应和存款借记请求
返回运行端口转发命令的命令行控制台,在那里按Ctrl+C关闭外部连接。或者,您只需拖拽命令行控制台窗口。
祝贺我们成功地运行了Kafka,并在其中创建了2个主题。
- 登录 发表评论