helm 輕松完爆kafka


一、環境准備

  • Kubernetes:v1.18.13
  • Kubernetes宿主機:CentOS Linux release 7.6.1810 (Core)
  • Nfs服務器:192.168.99.151
  • Helm:v3.6.1
  • Kafka:2.0.1
  • Zookeeper:3.5.5

接下來的實戰之前,請您准備好:K8S、Helm、NFS、StorageClass!

二、准備工作

2.1 添加helm倉庫(該倉庫中有kafka):

$ helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
# 如果上述命令添加倉庫失敗了   可以使用以下命令進行添加
$ helm repo add incubator https://charts.helm.sh/incubator

2.2 獲取kafka的chart包

$ helm pull incubator/kafka --untar

2.3 修改具體的values 對應的值

1) 首先要設置在K8S之外的也能使用kafka服務,修改external.enabled的值,改為true!

2021-07-05_122350

2)找到configurationOverrides,下圖兩個框中的內容原本是注釋的,請刪除注釋符號,另外,如果您之前設置過跨網絡訪問kafka,就能理解下面寫入K8S宿主機IP的原因了!

2021-07-05_122556

3)設置數據卷,找到persistence,按需要調整大小,再設置已准備好的storageclass的名稱!

2021-07-05_122723

4)設置zookeeper的數據卷!

2021-07-05_122823

三、部署

3.1 先創建namespace

$ kubectl create namespace kafka-test

3.2 安裝

$ helm -n kafka-test install kafka ../kafka/ -f values.yaml

kafka啟動依賴zookeeper,整個啟動會耗時數分鍾,期間可見zookeeper和kafka的pod逐漸啟動!

3.3 查看kafka的版本

$ kubectl exec kafka-0 -n kafka-test -- sh -c 'ls /usr/share/java/kafka/kafka_*.jar'

如下圖紅框所示,scala版本2.11,kafka版本2.0.1:

2021-07-05_123608

四、驗證

4.1 對外暴露zookeeper

apiVersion: v1
kind: Service
metadata:
  name: zookeeper-nodeport
  namespace: kafka-test
spec:
  type: NodePort
  ports:
       - port: 2181
         nodePort: 32181
  selector:
    app: zookeeper
    release: kafka

4.2 驗證

找一台電腦安裝kafka包,就能通過里面自帶的命令遠程連接和操作K8S的kafka了!

4.2.1 安裝kafka軟件包

訪問kafka官網:http://kafka.apache.org/downloads ,剛才確定了scala版本2.11,kafka版本2.0.1,因此下載下圖紅框中的版本:

7dot1ooduj

4.2.2 查看當前topic
$ ./kafka-topics.sh --list --zookeeper 192.168.99.151:32181
# 空空如也
4.2.3 創建topic
$ ./kafka-topics.sh --create --zookeeper 192.168.99.151:32181 --replication-factor 1 --partitions 1 --topic test001
4.2.4 查看名為test001的topic
$ ./kafka-topics.sh --describe --zookeeper 192.168.99.151:32181 --topic test001
Topic:test001	PartitionCount:1	ReplicationFactor:1	Configs:
	Topic: test001	Partition: 0	Leader: 1	Replicas: 1	Isr: 1
4.2.5 進入創建消息的交互模式
$ ./kafka-console-producer.sh --broker-list 192.168.99.151:31090 --topic test001
4.2.6 執行命令消費消息
$ ./kafka-console-consumer.sh --bootstrap-server 192.168.99.151:31090 --topic test001 --from-beginning

自行測試! 本人暫時對kafka 沒什么深入研究 ! 隨后有時間繼續完善!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM