美文网首页
Rancher中安装外部可访问的Kafka

Rancher中安装外部可访问的Kafka

作者: 野生DBNull | 来源:发表于2020-09-23 11:45 被阅读0次

1.Kafka介绍

Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统,是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。

2.在Rancher中安装Kafka

2.1 认识bitnami

安装Kafka是一个比较复杂的事情,自己编排的话会比较麻烦,所以我隆重介绍国外一个比较专业的老铁bitnami,它有很多已经编排好的东西,Github地址是https://github.com/bitnami/charts.git。但是这玩意是专门为了Helm准备的图表,和Rancher商店中所需要的图表还有一点不一样,主要就是在外部依赖这一块中找不到。

如果想用它的编排的话直接将他们的图表库加入商店就行了,如果出现依赖找不到的情况就需要按照Kafka的方式去解决一下,后面我讲怎么解决。

直接添加应用商店然后将bitnami的Git地址放进去就好了。
这里要注意的就是这是一个HELM3的库,在添加的时候不要选错了。

image.png
2.2 构建Kafka编排文件

直接安装bitnami是会抛出依赖找不到的错误的,所以我们需要对bitnami进行Rancher商店的改造。
首先你要有一个空的Git仓库,然后直接安装Helm仓库的格式将仓库建好,大概长得如下

image.png

然后需要将bitnami中的zookeeper和kafka的编排文件全部下载下来。
然后直接拖到你新加的图表编排库中就好了,然后再将依赖地址修改为你自己的仓库地址就完成了第一步了。

image.png

然后在Kafka文件夹下新建一个charts文件夹,将zookeeper直接拷贝一份放入其中。
再将你刚刚建立的图表仓库加入到Rancher的仓库中。
现在再打开Rancher的应用商店就能看到你刚刚弄好的Kafka了。

image.png

然后直接拉到最下面点击编辑YAML


image.png

直接拷贝进去就好了,我的是用的NodePort去做的,你们可以参考bitnami的文档去进行更加细致的配置,我这里比较粗糙,只管怎么跑起来,能让K8S集群外能访问到。

---
  externalAccess: 
    enabled: "true" # 启动外部访问
    service: 
      domain: "192.168.1.136" # 这里填写你K8S负载机器地址(不要写Master),或者域名。
      type: "NodePort" # 这里代表用NodePort去外放
      nodePorts:  # 这个地方注意一下,这里的端口号数量必须和 replicaCount 一致
       - "31050"
       - "31051"
       - "31052"
  rbac: 
    create: "true"
  replicaCount: "3" # 有多少副本就需要有多少端口
  serviceAccount: 
    create: "true"

这里需要注意的就只是 domain和strongClass 这两个配置
domain 代表向Zookeeper中注册的时候带的东西,你只要找一个能找到真实负载Pod的地址就好了,可以是域名,可以是三方Nginx反向代理机器。

其实实际上就是控制Kafka的这两句配置而已


image.png image.png

strongClass 代表使用的存储,如果你没有默认存储或者需要选择其他的存储就需要配置的,可以参照bitnami的配置去配置,如果你没有存储的话,可以安装Ceph,如果是小白的话那就选择 longhorn 吧,网上都有教程的,实在搞不定给我留言。

等待配置好了就应该是这样的


image.png

然后就可以用kafka-tool去测试看看是不是连得上了


image.png

然后再测试用代码是不是可以访问。


image.png

到此为止Kafka就成功在K8S中安装好了,我上面描述的只能用于开发,测试,如果要上生产的话需要根据bitnami的README文件去进行生产配置。

代码测试工具下载点我

祝你们安装成功。

相关文章

网友评论

      本文标题:Rancher中安装外部可访问的Kafka

      本文链接:https://www.haomeiwen.com/subject/oeinyktx.html