【发布时间】:2018-12-10 16:51:30
【问题描述】:
我正在尝试生成一个在 kubernetes 启动的容器内运行的 kafka 代理。我在玩KAFKA_ADVERTISED_LISTENERES 和KAFKA_LISTERNERS。
我尝试设置这两个环境变量 KAFKA_ADVERTISED_LISTENERES = PLAINTEXT://<host-ip>:9092 和 KAFKA_LISTERNERS = PLAINTEXT://0.0.0.0:9092 并使用 docker-compose 运行。而且我能够从主机之外的应用程序中进行生产。
但是在 Kubernetes.yml 文件中设置这两个环境变量,我得到No broker list available 异常。
我在这里错过了什么?
更新:
kafka-pod.yaml:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
namespace: casb-deployment
name: kafkaservice
spec:
replicas: 1
template:
metadata:
labels:
app: kafkaservice
spec:
hostname: kafkaservice
#hostNetwork: true # to access docker out side of host container
containers:
- name: kafkaservice
imagePullPolicy: IfNotPresent
image: wurstmeister/kafka:1.1.0
env: # for production
- name: KAFKA_ADVERTISED_LISTENERES
value: "PLAINTEXT://<host-ip>:9092"
- name: KAFKA_LISTERNERS
value: "PLAINTEXT://0.0.0.0:9092"
- name: KAFKA_CREATE_TOPICS
value: "Topic1:1:1,Topic2:1:1"
- name: KAFKA_MESSAGE_TIMESTAMP_TYPE
value: "LogAppendTime"
- name: KAFKA_LOG_MESSAGE_TIMESTAMP_TYPE
value: "LogAppendTime"
- name: KAFKA_ZOOKEEPER_CONNECT
value: "zookeeper:2181"
ports:
- name: port9092
containerPort: 9092
---
apiVersion: v1
kind: Service
metadata:
namespace: casb-deployment
name: kafkaservice
labels:
app: kafkaservice
spec:
selector:
app: kafkaservice
ports:
- name: port9092
port: 9092
targetPort: 9092
protocol: TCP
【问题讨论】:
标签: docker apache-kafka kubernetes