Failed to resolve publish address - error in eck on-premise deployment with kubeadm kubernetes

Hi All,

I have setup a kubernetes cluster with kubeadm where I am trying to deploy the eck , I am trying with the simple deployment mentioned below.

apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: quickstart
  namespace: observability
spec:
  version: 8.2.3
  nodeSets:
    - name: default
      count: 1
      config:
        node.store.allow_mmap: false
      volumeClaimTemplates:
        - metadata:
            name: elasticsearch-data # Do not change this name unless you set up a volume mount for the data path.
          spec:
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: 5Gi
            storageClassName: local-storage

The issue I am facing is the elasticsearch pod is not able to start , it is throwing the following error:

org.elasticsearch.transport.BindTransportException: Failed to resolve publish address
Likely root cause: java.net.UnknownHostException: quickstart-es-default-0.quickstart-es-default.observability.svc
        at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:948)
        at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1628)
        at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1494)
        at org.elasticsearch.common.network.NetworkService.resolveInternal(NetworkService.java:267)
        at org.elasticsearch.common.network.NetworkService.resolveInetAddresses(NetworkService.java:215)
        at org.elasticsearch.common.network.NetworkService.resolvePublishHostAddresses(NetworkService.java:167)
        at org.elasticsearch.http.AbstractHttpServerTransport.bindServer(AbstractHttpServerTransport.java:171)
        at org.elasticsearch.http.netty4.Netty4HttpServerTransport.doStart(Netty4HttpServerTransport.java:249)
        at org.elasticsearch.xpack.security.transport.netty4.SecurityNetty4HttpServerTransport.doStart(SecurityNetty4HttpServerTransport.java:78)
        at org.elasticsearch.common.component.AbstractLifecycleComponent.start(AbstractLifecycleComponent.java:48)
        at org.elasticsearch.node.Node.start(Node.java:1246)
        at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:272)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:367)
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:169)
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:160)
        at org.elasticsearch.common.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:81)
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)
        at org.elasticsearch.cli.Command.main(Command.java:77)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:125)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80)

I have plan to setup the full observability with eck in on premise. But I got stuck with this issue. This was not happening with minikube though ( though there were some other issue ). Any help in this regard is much appreciated.

Hi,

I would first try to understand if the issue is related to the Kubernetes cluster itself (for example a problem with CoreDNS). Is Pod/Service name resolution working correctly from other Pods running on the same K8S node where the Elasticsearch Pod is deployed?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.