k8s部署elk+filebeat+logstash+kafka集群(二)kafka-kraft模式集群

本文介绍了如何在Kubernetes环境下构建Kafka镜像,使用Dockerfile和start.sh脚本进行定制。接着,部署Kafka集群,并设置持久化存储,通过NFS实现数据持久化。此外,还配置了RBAC权限和StorageClass。在部署过程中遇到的问题是,虽然集群外部可以向Kafka推送数据,但存在数据遗漏且后期无法连接。

1、构建kafka镜像

kafka没有找到官方镜像,所以自己构建个kafka镜像,我使用的版本是2.8
下载地址:https://kafka.apache.org/

# 编辑启动脚本 cat start.sh
# !/bin/bash
UIDPATH=/kafka/uuid/uuid.txt
if [ ! -f $UIDPATH ]
then
        kafka-storage.sh random-uuid > /kafka/uuid/uuid.txt
fi
randomid=`cat /kafka/uuid/uuid.txt`
kafka-storage.sh format -t $randomid -c $KAFKA_HOME/config/kraft/server.properties
kafka-server-start.sh $KAFKA_HOME/config/kraft/server.properties
# 编写Dockerfile cat Dockerfile
FROM debian:stable-slim
MAINTAINER dranake@163.com
LABEL version="2.8.0"

ENV KAFKA_HOME=/kafka
ENV PATH=$PATH:$KAFKA_HOME/bin
ENV JAVA_HOME=/jdk1.8.0_281
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
ENV PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

ADD kafka_2.12-2.8.0.tgz /
ADD jdk-8u281-linux-x64.tar.gz /
ADD start.sh /kafka_2.12-2.8.0
RUN rm -rf /jdk1.8.0_281/*.zip \
    && mkdir -p /kafka_2.12-2.8.0/uuid \
    && chmod 755 -R /kafka_2.12-2.8.0 \
    && 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值