Lukasz
Lukasz

Reputation: 73

How ping to headless pod from other namespace

Hello I have problem with connect directly to choosen pod from other namespace. I checked nslookup and dns for my pod is kafka-0.kafka-headless-svc.message-broker.svc.cluster.local and when I ping from same ns everything is ok, problem is when I try same on other ns. When I try something like this kafka.message-broker.svc.cluster.local everything is fine, but I want to connect to specific pod, not that choosen by balancer. My configs:

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

I doing everything on minikube so maybe there is some problem with networkpolicy (I didn't set any)

Upvotes: 0

Views: 504

Answers (1)

Lukasz
Lukasz

Reputation: 73

Problem resolved. I had to set serviceName from StatefulSet (in my example "kafka-headless-svc") same as metadata.name from my Service file

Upvotes: 1

Related Questions