kafka对接Rancher日志
文章目录
概述
Rancher应用商店自带的kafka可以方便的对接Rancher日志,但是不支持sasl认证。
如果有认证需求,可以使用bitnami仓库的kafka,这个kafka带有相关的认证参数,可以很方便的开启sasl相关的认证。
参考:https://github.com/bitnami/charts/tree/master/bitnami/kafka
环境准备
软件 | 版本 |
---|---|
kubernetes | v1.19.3 |
Rancher | v2.4.8 | v2.5.2 |
kafka | 2.6.0 |
kafka-chart | 11.8.9 |
helm | 3.4.0 |
正常对接kafka集群
如果是需要开启SASL认证,可以直接跳到后面开启SASL认证方式的内容
1、helm添加bitnami库
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
2、下载 kafka 对应的chart压缩文件
bitnami库国内可能访问不太友好,需要翻一下墙。。。
helm pull bitnami/kafka --version 11.8.9
上述命令会下载一个kafka-11.8.9-tgz
的压缩文件,解压该文件
tar -zxvf kafka-11.8.9-tgz
查看解压目录内容
# cd kafka/
# ls
charts Chart.yaml files README.md requirements.lock requirements.yaml templates values-production.yaml values.yaml
可以看到有两个values文件,分别是values.yaml
和values-production.yaml
,
其中values.yaml
会启动一个最简单的kafka集群,
而values-production.yaml
中的配置会包含更多面向生产的配置,例如启用持久化存储,启用sasl相关认证等。
3、启动kafka集群
最简化启动kafka集群,可以添加这两个参数,取消持久化存储
kubectl create ns kafka
## 进入到kafka目录下再执行下面的命令
helm install kafka -n kafka -f values.yaml --set persistence.enabled=false --set zookeeper.persistence.enabled=false .
或者如果k8s有持久化存储,可以设置storage Class,将xxx
替换为对应的storage Class
helm install kafka -n kafka -f values.yaml --set global.storageClass=xxx .
执行完helm install
后会输出以下内容
NAME: kafka
LAST DEPLOYED: Wed Nov 25 17:04:50 2020
NAMESPACE: kafka
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.kafka.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.kafka.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-r57 --namespace kafka --command -- sleep infinity
kubectl exec --tty -i kafka-client --namespace kafka -- bash
PRODUCER:
ka