• helm 轻松完爆kafka


    一、环境准备

    • Kubernetes:v1.18.13
    • Kubernetes宿主机:CentOS Linux release 7.6.1810 (Core)
    • Nfs服务器:192.168.99.151
    • Helm:v3.6.1
    • Kafka:2.0.1
    • Zookeeper:3.5.5

    接下来的实战之前,请您准备好:K8S、Helm、NFS、StorageClass!

    二、准备工作

    2.1 添加helm仓库(该仓库中有kafka):

    $ helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
    # 如果上述命令添加仓库失败了   可以使用以下命令进行添加
    $ helm repo add incubator https://charts.helm.sh/incubator
    

    2.2 获取kafka的chart包

    $ helm pull incubator/kafka --untar
    

    2.3 修改具体的values 对应的值

    1) 首先要设置在K8S之外的也能使用kafka服务,修改external.enabled的值,改为true!

    2021-07-05_122350

    2)找到configurationOverrides,下图两个框中的内容原本是注释的,请删除注释符号,另外,如果您之前设置过跨网络访问kafka,就能理解下面写入K8S宿主机IP的原因了!

    2021-07-05_122556

    3)设置数据卷,找到persistence,按需要调整大小,再设置已准备好的storageclass的名称!

    2021-07-05_122723

    4)设置zookeeper的数据卷!

    2021-07-05_122823

    三、部署

    3.1 先创建namespace

    $ kubectl create namespace kafka-test
    

    3.2 安装

    $ helm -n kafka-test install kafka ../kafka/ -f values.yaml
    

    kafka启动依赖zookeeper,整个启动会耗时数分钟,期间可见zookeeper和kafka的pod逐渐启动!

    3.3 查看kafka的版本

    $ kubectl exec kafka-0 -n kafka-test -- sh -c 'ls /usr/share/java/kafka/kafka_*.jar'
    

    如下图红框所示,scala版本2.11,kafka版本2.0.1:

    2021-07-05_123608

    四、验证

    4.1 对外暴露zookeeper

    apiVersion: v1
    kind: Service
    metadata:
      name: zookeeper-nodeport
      namespace: kafka-test
    spec:
      type: NodePort
      ports:
           - port: 2181
             nodePort: 32181
      selector:
        app: zookeeper
        release: kafka
    

    4.2 验证

    找一台电脑安装kafka包,就能通过里面自带的命令远程连接和操作K8S的kafka了!

    4.2.1 安装kafka软件包

    访问kafka官网:http://kafka.apache.org/downloads ,刚才确定了scala版本2.11,kafka版本2.0.1,因此下载下图红框中的版本:

    7dot1ooduj

    4.2.2 查看当前topic
    $ ./kafka-topics.sh --list --zookeeper 192.168.99.151:32181
    # 空空如也
    
    4.2.3 创建topic
    $ ./kafka-topics.sh --create --zookeeper 192.168.99.151:32181 --replication-factor 1 --partitions 1 --topic test001
    
    4.2.4 查看名为test001的topic
    $ ./kafka-topics.sh --describe --zookeeper 192.168.99.151:32181 --topic test001
    Topic:test001	PartitionCount:1	ReplicationFactor:1	Configs:
    	Topic: test001	Partition: 0	Leader: 1	Replicas: 1	Isr: 1
    
    4.2.5 进入创建消息的交互模式
    $ ./kafka-console-producer.sh --broker-list 192.168.99.151:31090 --topic test001
    
    4.2.6 执行命令消费消息
    $ ./kafka-console-consumer.sh --bootstrap-server 192.168.99.151:31090 --topic test001 --from-beginning
    

    自行测试! 本人暂时对kafka 没什么深入研究 ! 随后有时间继续完善!

    *************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************
  • 相关阅读:
    js实现输入银行卡号隔四位添加一个空格
    写出优雅的代码
    FOJ Problem 1016 无归之室
    FOJ Problem 1015 土地划分
    大数相加减
    NYOJ 42 一笔画
    NYOJ36 水池数目
    NYOJ 32 组合数
    贪吃蛇StringBuilder 和 定时器
    星 辰 · 第 三 条 约 定
  • 原文地址:https://www.cnblogs.com/lvzhenjiang/p/14971932.html
Copyright © 2020-2023  润新知