萬網(wǎng)注冊域名做簡單網(wǎng)站成都seo
kafka在3.x版本后增加KRaft作為自己的注冊中心,可以不依賴外部的zk;這里上一篇已經(jīng)部署好了zk,kafka依然使用zk作為注冊中心。
這里使用kafka是為集成zipkin收發(fā)微服務(wù)接口鏈路日志數(shù)據(jù),只需要部署1個(gè)實(shí)列即可夠用。
編寫腳本yaml
vi kafka.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: kafkanamespace: default
spec:replicas: 1strategy:type: RollingUpdaterollingUpdate:maxSurge: 1maxUnavailable: 0revisionHistoryLimit: 5selector:matchLabels:project: kafkaapp: kafkatemplate:metadata:labels:project: kafkaapp: kafkaspec:containers:- name: kafkaimage: bitnami/kafka:3.4.0imagePullPolicy: IfNotPresentports:- containerPort: 9092name: webprotocol: TCPenv:- name: MY_POD_IPvalueFrom:fieldRef:fieldPath: status.podIP- name: MY_POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name
# # 已zookeeper方式啟動(dòng)注釋開始- name: KAFKA_ENABLE_KRAFTvalue: "no"- name: KAFKA_CFG_ZOOKEEPER_CONNECTvalue: zk-cs:2181/kafka # 這里使用zk的service- name: KAFKA_PORT_NUMBERvalue: "9092"- name: KAFKA_BROKER_IDvalue: "1" - name: KAFKA_CFG_ADVERTISED_LISTENERS# 注意必須是監(jiān)聽 service:端口 否則會(huì)成為實(shí)列:端口 如:kafka-974d87ccf-gnsg9:9092 導(dǎo)致應(yīng)用不能通過service找到kafka 提示 unknowhostvalue: "PLAINTEXT://kafka:$(KAFKA_PORT_NUMBER)"- name: KAFKA_CFG_LISTENERSvalue: "PLAINTEXT://:$(KAFKA_PORT_NUMBER)"
# - name: KAFKA_ADVERTISED_LISTENERS
# value: PLAINTEXT://:9092
# - name: KAFKA_LISTENERS
# value: PLAINTEXT://:9092- name: KAFKA_CONFLUENT_TOPIC_REPLICATION_FACTORvalue: "1"# 已zookeeper方式啟動(dòng)注釋結(jié)束# 默認(rèn)已KRaft方式啟動(dòng)
# - name: KAFKA_CFG_ADVERTISED_LISTENERS# 需配置hosts域名映射
# value: PLAINTEXT://kafka-server:30092#- name: KAFKA_HEAP_OPTS# value: -Xmx2048m -Xms2048m- name: ALLOW_PLAINTEXT_LISTENERvalue: "yes"
---
apiVersion: v1
kind: Service
metadata:name: kafkanamespace: defaultlabels:app: kafka
spec:type: NodePortselector:project: kafkaapp: kafkaports:- port: 9092targetPort: 9092nodePort: 30092
執(zhí)行部署
kubectl apply -f kafka.yaml
查看是否注冊到ZK中,登錄zk的pod
zkCli.sh
查看kafka是否注冊成功
ls /
查看到 [kafka,zookeeper],kafka節(jié)點(diǎn)已經(jīng)注冊成功
get /kafka