Я пытаюсь выдать брокеру кафки, который работает внутри контейнера, запущенного kubernetes. Я играю с KAFKA_ADVERTISED_LISTENERES
и KAFKA_LISTERNERS
.
Я попытался установить эти две переменные env KAFKA_ADVERTISED_LISTENERES
= PLAINTEXT://<host-ip>:9092
и KAFKA_LISTERNERS
= PLAINTEXT://0.0.0.0:9092
и запустил, используя docker-compose. И я смог создать приложение из хост-машины.
Но, установив эти две env-переменные в файле Kubernetes.yml, я получаю No broker list available
исключение.
Что мне здесь не хватает?
Обновление:
Кафка-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