#kubernetes #dns
#kubernetes #dns
Вопрос:
Здравствуйте, у меня проблема с подключением напрямую к выбранному модулю из другого пространства имен. Я проверил nslookup и dns для своего модуля kafka-0.kafka-headless-svc.message-broker.svc.cluster.local
, и когда я выполняю пинг с того же ns, все в порядке, проблема в том, что я пытаюсь сделать то же самое на других ns. Когда я пытаюсь сделать что-то подобное kafka.message-broker.svc.cluster.local
, все в порядке, но я хочу подключиться к определенному модулю, а не к тому, который выбирается балансировщиком. Мои конфигурации:
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: kafka
name: kafka
namespace: message-broker
spec:
replicas: 1
template:
metadata:
labels:
app: kafka
spec:
containers:
- env:
- name: KAFKA_ZOOKEEPER_CONNECT
value: zookeeper.message-broker.svc.cluster.local
- name: KAFKA_LISTENERS
value: PLAINTEXT://kafka-0:9092
- name: KAFKA_ADVERTISED_LISTENERS
value: PLAINTEXT://kafka-0:9092
image: wurstmeister/kafka
imagePullPolicy: IfNotPresent
name: kafka
ports:
- containerPort: 9092
name: kafka
serviceName: "kafka-headless-svc"
selector:
matchLabels:
app: kafka
apiVersion: v1
kind: Service
metadata:
labels:
app: kafka
name: kafka
namespace: message-broker
spec:
clusterIP: None
selector:
app: kafka
ports:
- port: 9092
targetPort: 9092
protocol: TCP
Я делаю все на мини-кубе, так что, возможно, есть какая-то проблема с networkpolicy (я ее не устанавливал)
Комментарии:
1. В чем именно проблема, с которой вы сталкиваетесь? Это разрешение имен или доступ к сети?
2. Также, пожалуйста, отправьте неудачные команды и
resolv.conf
из вызывающего модуля.
Ответ №1:
Проблема решена. Мне пришлось установить serviceName
из StatefulSet (в моем примере «kafka-headless-svc») то же, metadata.name
что и из моего служебного файла