通过helm在k8s上部署kafka。zookeeper

  通过helm方法安装

  k8s上安装kafka,可以使用helm,将kafka作为一个应用安装。当然这首先要你的k8s支持使用helm安装。helm的介绍和参考见:https://yq.aliyun.com/articles/159601

  helm仓库地址https://github.com/helm/charts

    通过阿里仓库安装kafka

helm repo add incubator https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/

  helm repo update

  helm search kafka

  hlem fetch incubator/kafka                    # 下载tgz文件

tar zxf kafka-0.2.1.tgz && cd kafka

把./charts/zookeeper/templates/statefulset.yaml中的zookeeper的镜像地址改为registry.cn-hangzhou.aliyuncs.com/appstore/k8szk:v2

  将以下两个文件中的橘红色部分改为你的storageclass。

  storageclass查询命令: kubectl get sc --all-namespaces   

  

  helm install ./ -n kafka  --namespace  xxx   #安装

  kubectl get pvc -n xxx #查看pvc状态

  

  kubectl describe pvc  pvcname  -n xxx   #查看pvc详细信息排错使用

  要想外网访问,修改服务的yaml文件,设置type为NodePort为30946

  还要在安全组中开放这个端口

  可以先在pod里面测试

  进入kafka的pod

  创建主题

  bin/kafka-topics.sh --create --zookeeper 10.233.61.237:2181 --replication-factor 1 --partitions 1 --topic device         这里面使用的是集群ip,容器间访问

  创建消费者

  bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic device --from-beginning 

  创建生产者

  bin/kafka-console-producer.sh --broker-list localhost:9092 --topic device     使用本地ip
bin/kafka-console-producer.sh --broker-list 10.233.9.150:9092 --topic device 使用集群id
bin/kafka-console-producer.sh --broker-list 192.168.2.177:30946 --topic device 使用服务器内网ip和nodeport

  现在pod内部可以访问了,现在尝试在外部创建生产者。

  实验发现,在k8s上部署服务来访问k8s上的kafka,依然没有问题。

  下面我们尝试直接在本地pc访问服务器k8s中的kafka。

  在本地电脑上cd到kafka的目录

 cd /home/lp/soft/kafka_2.11-1.1.0
 bin/kafka-console-producer.sh --broker-list 192.168.2.177:30946 --topic device

   发现访问不了。

   进入pod 
     在pod重启kafka。

 bin/kafka-server-stop.sh    关闭

  进入pod,执行

 bin/zookeeper-shell.sh 10.233.61.237:2181 <<< "get /brokers/ids/0"    使用的是zookeeper的集群ip

 

												

kubernetes(k8s) helm安装kafka、zookeeper的更多相关文章

  1. Helm 安装Kafka

    helm镜像库配置 helm repo add stable http://mirror.azure.cn/kubernetes/charts helm repo add incubator http ...

  2. Kubernetes(k8s)完整安装教程

    Kubernetes(k8s)完整安装教程  2019-08-27 2.3k 记录 发表评论 目录 1 安装 1.1 安装 Docker 1.2 安装 VirtualBox 1.3 安装 kubect ...

  3. helm安装kafka集群并测试其高可用性

    介绍 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据. 这种动作( ...

  4. K8s Helm安装配置入门

    作为k8s现在主流的一种包部署方式,尽管不用,也需要进行一些了解.因为,它确实太流行了. 这一套太极拳打下来,感觉helm这种部署,目前还不太适合于我们公司的应用场景.它更适合需要手工编程各种yaml ...

  5. k8s Helm安装Prometheus Operator

    Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装完成了k8s的集群和helm的安装,今天我们来看看Prometheus的监控怎么搞.Prometheus Operator ...

  6. linux 安装 kafka&zookeeper

    安装kafka 1,下载kafka. #cd /usr/local #wget wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.1.1 ...

  7. ubuntu16.04 docker kubernetes(k8s) istio 安装

    版本: docker: 19.03.5 kubernetes: 1.17.0 istio: 1.4.3 步骤一:给ubuntu换源 https://www.cnblogs.com/lfri/p/106 ...

  8. Kubernetes用Helm安装Ingress并踩一下使用的坑

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Ingress是Kubernetes一个非常重要的Controller,它类似一个路由转发的组件,可以让外界访问Kubern ...

  9. 安装kafka + zookeeper集群

    系统:centos 7.4 要求:jdk :1.8.x kafka_2.11-1.1.0 1.绑定/etc/hosts 10.10.10.xxx      online-ops-xxx-0110.10 ...

随机推荐

  1. 解密Redis的持久化和主从复制机制

    Redis持久化 Redis 提供了多种不同级别的持久化方式: RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AOF 持久化记录服务器执 ...

  2. 删除U8中单据已经审核完成但工作流未完成的任务

    问题描述: U8工作流终审结点后面还有节点时,当终审终点完成后,系统会通知后面的节点进行审核,但单据显示已经审核完成,后面的节点无法审核,工作任务会一直挂着,无法删除. 例如下图中,节点"终 ...

  3. Spark开发wordcount程序

    1.java版本(spark-2.1.0) package chavin.king; import org.apache.spark.api.java.JavaSparkContext; import ...

  4. Qt-不调用CoInitialize-实现SDL多线程运行

    使用Qt开发程序,参考的MFC的程序中有CoInitialize.结果Qt程序调用不了,导致SDL不能音视频同步.此时SDL的初始化是放在主程序里的. 把SDL的初始化部分放到了辅助线程里,运行就正常 ...

  5. [dev] udp socket的read长度问题

    场景描述 我的两个程序需要彼此通信.采用unix socket来实现. 并为了简单起见使用了DGRAM,也就是udp通信. 问题描述 1. 用法是这样的 收包的一端使用epoll监听,发包端发送一个2 ...

  6. Redis主从复制详解

    1. 概述 主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步到从节点保证数据的一致性 2. 主从复制的相关操作 (1)配置文件:在从服务器的配置文件中加入 slaveof<ma ...

  7. ashx获取Oracle数据库图片

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using DbLib.db; ...

  8. docker镜像导入导出

    1.使用 save命令将 镜像保存为文件docker save -o  自定义文件名.tar  已存在的镜像名 2.使用load命令将镜像文件保存到本地仓库docker load -i 自定义文件名. ...

  9. 【托业】【全真题库】TEST3-语法题

    101. sales representative 销售代表 keep one's promise with 遵守对……的诺言,信守对……的承诺 107. express interest in 表现 ...

  10. jstack命令

    先是有jps查看进程号: hollis@hos:~$ jps 29788 JStackDemo1 29834 Jps 22385 org.eclipse.equinox.launcher_1.3.0. ...