Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 如何通过主机名获取节点的内部IP_Kubernetes - Fatal编程技术网

Kubernetes 如何通过主机名获取节点的内部IP

Kubernetes 如何通过主机名获取节点的内部IP,kubernetes,Kubernetes,情况是: 我正在尝试在Kubernetes上部署HDFS。我正在使用守护程序在一个节点上启动一个datanode,pod的网络模式是hostNetWork。在HDFS中,数据节点和名称节点通过主机名进行通信。但是现在,如果我向k8s集群添加一个新节点,现有节点无法通过新节点的主机名获取新节点的内部IP 也就是说,我想通过主机名获取节点的内部IP。kube dns现在可以这样做吗?或者使用其他方法来扩展k8s上HDFS集群的节点 非常感谢 参考文献 您可以获得节点名称,即部署pod的节点IP,如

情况是:

我正在尝试在Kubernetes上部署HDFS。我正在使用守护程序在一个节点上启动一个datanode,pod的网络模式是
hostNetWork
。在HDFS中,数据节点和名称节点通过主机名进行通信。但是现在,如果我向k8s集群添加一个新节点,现有节点无法通过新节点的主机名获取新节点的内部IP

也就是说,我想通过主机名获取节点的内部IP。kube dns现在可以这样做吗?或者使用其他方法来扩展k8s上HDFS集群的节点

非常感谢

参考文献

您可以获得节点名称,即部署pod的节点IP,如下所示

spec:
  containers:
    - name: hdfs-pod
      env:
        - name: MY_NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
        - name: MY_POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
        - name: MY_POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: MY_POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: MY_POD_SERVICE_ACCOUNT
          valueFrom:
            fieldRef:
              fieldPath: spec.serviceAccountName
与中一样,您可以使用pod IP或名称以及命名空间来查询K8S内部DNS

启用后,pod将以“pod ip address.my namespace.pod.cluster.local”的形式分配一个DNS a记录


状态集 考虑使用它怎么样?每个pod都有一个特定的名称,并基于该名称,能够分配一个特定的角色,例如名称节点

只需快速搜索并找到几篇关于使用K8S/StaveSet的HDFS的文章


谢谢。你给我一些选择,我可以试试。现在我可以将Pod的IP传递给hadoop的内部配置文件。我会在尝试后检查你的答案并给你反馈。非常感谢你,这是ip播客。那么我们如何获得节点ip呢?谢谢