九六易学网 九六易学网
  • 首页
  • 首页
首页 > 解梦

随机生成id 随机生成IP地址

2025-03-27 10:55
来源头条作者:马士兵教育从 Dockerfile 开始一步一步完成 Kafka 容器化Apache Kafka 容器化解决方案以及部署案例。

从零开始,自己编写 Dockerfile, 打包容器镜像,并开发了 helm chart 实现 k8s 快速部署。

项目特色:

全面兼容 KRaft, 不依赖 ZooKeeper灵活使用环境变量进行配置覆盖提供 helm chart,支持 kubernetes 集群外访问相关链接:

GitHubDocker HubDockerfile初始化脚本 entrypoint.shDockerfileDockerfile复制代码# builder FROM alpine as builder ARG kafka_version=3.3.2 ARG scala_version=2.13 ENV dl_url="https://downloads.apache.org/kafka/${kafka_version}/kafka_${scala_version}-${kafka_version}.tgz" RUN set -ex \ ; mkdir -pv /tmp/kfk \ ; wget "$dl_url" -O /tmp/kfk/kafka.tgz \ ; cd /tmp/kfk rm -f /tmp/kfk/kafka.tgz \ ; mv kafka_* kafka # container FROM eclipse-temurin:17-jre-focal ENV KAFKA_HOME="/opt/kafka" \ KAFKA_CONF_FILE="/etc/kafka/server.properties" RUN set -ex \ ; useradd kafka --uid 1000 -m -s /bin/bash \ ; usermod -g root kafka \ ; mkdir -pv "/etc/kafka" && chown -R 1000:1000 "/etc/kafka" COPY --from=0 --chown=1000:1000 /tmp/kfk/kafka "$KAFKA_HOME" COPY entrypoint.sh /entrypoint.sh WORKDIR $KAFKA_HOME EXPOSE 9092 # USER 1000 ENTRYPOINT [ "/entrypoint.sh" ] CMD [ "start" ] Docker 部署shell复制代码## broker 默认端口 9092 docker run -d --name kafka-server \ --network host \ sir5kong/kafka:v3.3 自定义端口号:

shell复制代码## 自定义端口号 docker run -d --name kafka-server \ --network host \ --env KAFKA_CONTROLLER_LISTENER_PORT=29091 \ --env KAFKA_BROKER_LISTENER_PORT=29092 \ sir5kong/kafka:v3.3 启动 kafka server 并持久化数据目录:

shell复制代码docker volume create kafka_data docker run -d --name kafka-server \ --network host \ -v kafka_data:/opt/kafka/data \ sir5kong/kafka:v3.3 Docker Composeyaml复制代码version: "3" volumes: kafka-data: {} ## broker 默认端口 9092 ## bootstrap-server: ${KAFKA_HOST_IP_ADDR}:9092 services: kafka: image: sir5kong/kafka:v3.3 # restart: always network_mode: host volumes: - kafka-data:/opt/kafka/data environment: - KAFKA_HEAP_OPTS=-Xmx512m -Xms512m #- KAFKA_CONTROLLER_LISTENER_PORT=19091 #- KAFKA_BROKER_LISTENER_PORT=9092 使用桥接网络请参考 examples/docker-compose-bridge.yml更多部署案例和注解请参考 examples环境变量环境变量

默认值

描述

KAFKA_CLUSTER_ID

随机生成

集群 id

KAFKA_BROKER_LISTENER_PORT

9092

broker 端口号,如果配置了 KAFKA_CFG_LISTENERS 则此项失效

KAFKA_CONTROLLER_LISTENER_PORT

19091

controller 端口号,如果配置了 KAFKA_CFG_LISTENERS 则此项失效

KAFKA_HEAP_OPTS

null

jvm 堆内存配置,例如 -Xmx512m -Xms512m

配置覆盖Kafka 所有配置项可以通过环境变量覆盖,除了 log.dir 和 log.dirs。环境变量名使用前缀 KAFKA_CFG_ 加上配置参数,. 需要替换为 _

例如 KAFKA_CFG_LISTENERS 对应配置参数 listeners,KAFKA_CFG_ADVERTISED_LISTENERS 对应配置参数 advertised.listeners

常用配置参数:

环境变量

配置参数

KAFKA_CFG_PROCESS_ROLES

process.roles

KAFKA_CFG_LISTENERS

listeners

KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP

listener.security.protocol.map

KAFKA_CFG_ADVERTISED_LISTENERS

advertised.listeners

KAFKA_CFG_CONTROLLER_QUORUM_VOTERS

controller.quorum.voters

helm chart 部署案例kafka-helm-chart

shell复制代码git clone https://github.com/sir5kong/kafka-docker.git cd kafka-docker # kubectl create namespace your-namespace ## 部署单节点集群, 仅启动一个 Pod helm install kafka -n your-namespace -f ./examples/values-combined.yml ./charts/kafka ## 部署生产集群, 3 个 controller 实例, 3 个 broker 实例 helm install kafka -n your-namespace -f ./examples/values-production.yml ./charts/kafka ###### 组合使用 values 文件 ###### ## 部署生产集群,并开启 kafka-ui 和 kafka exporter helm install kafka -n your-namespace \ -f ./examples/values-exporter.yml \ -f ./examples/values-ui.yml \ -f ./examples/values-production.yml \ ./charts/kafka ## 以 NodePort 对集群外暴露 helm install kafka -n your-namespace -f ./examples/values-nodeport.yml ./charts/kafka ## 以 LoadBalancer 对集群外暴露 helm install kafka -n your-namespace -f ./examples/values-loadbalancer.yml ./charts/kafka ## 开启 kafka-ui helm install kafka -n your-namespace -f ./examples/values-ui.yml ./charts/kafka

标签:
相关文章
王者英文id
游戏情侣id超甜
单字id情侣名
全部评论
热门文章
巨蟹男和巨蟹女配还是摩羯女
2025-09-11
龙年缺水的男孩名字 龙年缺水的女孩名字大全
2025-08-31
五行属木的女孩名字的字有哪些 五行属于土金女孩名字有哪些
2025-09-05
星座命理测算免费
2025-09-05
王姓四字名字大全女孩罕见 王姓四字女孩名字大全集
2025-09-06
推荐文章
民间最有效的招财方法
2025-01-13
梦到被坏人盯上是什么意思?梦到被跟踪了
2025-02-01
被同事骚扰怎么办 学会这三种方法可以帮助你减少被骚扰的几率
2025-01-04
大连适合什么
2025-01-17
鞋财入库什么意思
2025-01-25
算命的说破财消灾什么意思
2025-01-26
夫妻生肖相克相冲
2025-01-25
生命树指的是什么?
2025-01-31
起名带有木字女孩
2025-02-02
门口有电杆怎么办风水
2025-01-28
标签云
迪肯风水头条 孕知网 亿洋易学 道情家园 曲大夫助孕 肆伍易学网 天慧星座网 巧农网 玖爱星座网 七七爱生活网 风水小六 星座爱 我好孕网 风水人家 孕好网 历史时间网 伍贰易学网 助好孕 糗百网 来福网 风水388 南汇助孕网 叮当历史 巴巴百科 就识趣 速配精选网 道法网 看测运势网 星座袋 包天龙运势网 涛达理财网 古文头条 好孕堂 易学新知网
© Copyright 九六易学网   沪ICP备2024073332号-9