Как выполнить пинг для безголового модуля из другого пространства имен

#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 что и из моего служебного файла