kubernetes(k8s) helm安裝kafka、zookeeper

經過helm在k8s上部署kafka。zookeepernode

  經過helm方法安裝git

  k8s上安裝kafka,能夠使用helm,將kafka做爲一個應用安裝。固然這首先要你的k8s支持使用helm安裝。helm的介紹和參考見:https://yq.aliyun.com/articles/159601github

  helm倉庫地址https://github.com/helm/chartsshell

    經過阿里倉庫安裝kafkabootstrap

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

  helm repo update 服務器

  helm search kafkaapp

      

  hlem fetch incubator/kafka                    # 下載tgz文件測試

      tar zxf kafka-0.2.1.tgz && cd kafkafetch

      把./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
相關文章
相關標籤/搜索