k8s 使用普通用户部署kafka2.4.0集群思路整理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s 使用普通用户部署kafka2.4.0集群思路整理相关的知识,希望对你有一定的参考价值。

前言:开发人员需要使用kafka集群,且要求需要用普通用户启动,整理了一下部署思路,其他中间件部署也可参考此思路来部署。
前提条件:

  1. zookeeper 集群
    kafka启动需要连接,因为kafka集群和zookeeper部署在同一租户下,我这边部署的zk集群地址为zk-0:2181,zk-1:2181,zk-2:2181, 如果kafka和zookeeper不在一个租户下,跨租户访问,需要根据实际地址访问。
  2. openjdk version "1.8.0_242" kafka2.4.0 基础镜像Alpine Linux 3.11 这个是我kafka的镜像环境
    技术图片
  3. gosu命令 该命令需要安装到kafka镜像中,gosu命令用法和安装,可以找相关文章了解一下 ,地址链接:https://github.com/tianon/gosu
    用法:gosu kafka bash -c "cd /data/; sh run.sh"
  4. dump-init 该命令也需要安装到kafka镜像中,用于启动kafka,主要作用是向子进程代理发送信号和接管子进程
    参考链接:https://www.infoq.cn/article/2016/01/dumb-init-Docker
  5. kafka 启动用户的创建
  6. 编排文件 initContainers 镜像的使用,主要作用是修改kafka的数据和日志目录的权限,同一个pod的容器共享存储和网络。
  7. kafka的配置文件使用configmap管理,volumeMounts: subPath 形式挂载
  8. dockerfile 启动命令 CMD ["dumb-init","sh","run.sh"]
  9. run.sh 是kafka的启动命令

以上是关于k8s 使用普通用户部署kafka2.4.0集群思路整理的主要内容,如果未能解决你的问题,请参考以下文章

linux12企业实战 -- 12ubuntu部署K8s集群

k8s 使用新增user配置kubectl在各个节点都可运行

K8s集群上使用Helm部署2.4.6版本Rancher集群

K8S集群事故分析一则:普通用户域名不当配置却导致集群Ingress崩溃

K8S集群部署Coredns服务

k8s部署elasticsearch集群