【问题标题】:I want to get the host MAC address in kubernetes pod where that pod runing on我想在运行该 pod 的 kubernetes pod 中获取主机 MAC 地址
【发布时间】:2021-11-20 13:08:39
【问题描述】:

我想获取 POD 中主机的 MAC 地址,POD 网络不使用 hostnetwork。我发现节点UID的后缀是主机的MAC地址,我想找到这个UID值的来源?

uid(525400a9edd3)的后缀是那个主机的MAC地址(ether 52:54:00:a9:ed:d3)?

kubectl get nodes node1 -o yaml
apiVersion: v1
kind: Node
metadata:
...
  uid: 96557f0f-fea6-11e8-b826-525400a9edd3
...
ifconfig eth0
        eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.68.1  netmask 255.255.0.0  broadcast 172.16.255.255
        inet6 fe80::5054:ff:fea9:edd3  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:a9:ed:d3  txqueuelen 1000  (Ethernet)

您能帮我找出如何在源代码中创建节点 uid 吗?

我想知道运行该 pod 的 Kubernetes pod 中的主机 MAC 地址。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    您可以查看here 发布的任何解决方案,以了解可以从文件系统中找到 MAC 地址的位置。然后,您只需使用 hostpath volume 将该文件挂载到您的容器中,然后从那里读取信息。

    【讨论】:

    • @Frank Hopkins您正在将属于该节点的路径挂载到容器上,因此您看到的信息是节点信息。
    • 啊,我是个白痴,忽略了“hostpath volume”引用,只是阅读“mount into your container”。感谢您的回答,对于时间被盗感到抱歉;)
    【解决方案2】:

    Pod 很可能在一个节点内运行。

    要获取节点 MAC 地址,请在控制平面节点上运行 arp NodeName:

    首先获取节点列表及其名称

    kubectl get nodes -owide
    
    root@controlplane:~# k get nodes -owide
    NAME           STATUS   ROLES                  AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION   CONTAINER-RUNTIME
    controlplane   Ready    control-plane,master   35m   v1.20.0   10.4.57.3     <none>        Ubuntu 18.04.5 LTS   5.4.0-1057-gcp   docker://19.3.0
    node01         Ready    <none>                 35m   v1.20.0   10.4.57.6     <none>        Ubuntu 18.04.5 LTS   5.4.0-1057-gcp   docker://19.3.0
    

    运行 arp NODENAME(在控制平面上)以获取所需节点的 MAC 地址。在本例中,我们获取的是 node01 的 MAC 地址。

    arp node01
    

    输出

    root@controlplane:~# arp node01
    Address                  HWtype  HWaddress           Flags Mask            Iface
    10.4.57.5                ether   02:42:0a:04:39:04   C                     eth0
    

    【讨论】:

      猜你喜欢
      • 2021-07-23
      • 2016-08-03
      • 1970-01-01
      • 2019-10-27
      • 1970-01-01
      • 1970-01-01
      • 2022-08-23
      • 2023-03-16
      • 2017-05-24
      相关资源
      最近更新 更多