我想要获取POD中主机的MAC地址,POD网络不使用主机网络。我发现节点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地址。
发布于 2019-09-20 02:16:18
您可以查看发布在here上的任何解决方案,以了解您可以在文件系统中的何处找到MAC地址。然后,您只需使用hostpath volume将该文件挂载到您的容器中,并从那里读取信息。
发布于 2021-11-20 05:08:39
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 eth0https://stackoverflow.com/questions/58008729
复制相似问题