Externally Access Hadoop HDFS deployed in Kubernetes
I would suggest you to try externalIP out.
suppose your datanode is listening at port 50000, you can create seperate service for every datanode and use the nodeip of the node it running on as the externalIP. something like this:
apiVersion: v1kind: Servicemetadata: name: datanode-1spec: externalIPs: - node1-ip ports: - name: datanode port: 50000 selector: app: datanode id: "1"---apiVersion: v1kind: Servicemetadata: name: datanode-2spec: externalIPs: - node2-ip ports: - name: datanode port: 50000 selector: app: datanode id: "2"---apiVersion: v1kind: Servicemetadata: name: datanode-3spec: externalIPs: - node3-ip ports: - name: datanode port: 50000 selector: app: datanode id: "3"
Then you can resolve those pod domainnames to node ip that it running on.