我观察到一个问题,在执行修补后,Ubuntu 20 OS 上的网络接口名称从 ens192 更新为 eth0。
由于网络接口名称的变化,在相应节点上运行的 docker 容器会引发以下错误 -
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
在执行修补之前,“ip a”命令的输出如下所示 -
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
inet x.x.x.x/22 brd x.x.x.x scope global ens192
执行修补后,docker 容器会抛出如上所述的错误。并且执行节点重启会导致无法通过 ping 和 SSH 访问节点。
通过 VMWare 控制台检查时,我们可以看到网络接口名称已更新为 eth0,这是意料之外的。我们在 /etc/netplan/99-netcfg-vmware.yaml 中定义了 ens192 接口名称,如下所示 -
# Generated by VMWare customization engine.
network:
version: 2
renderer: networkd
ethernets:
ens192:
dhcp4: no
dhcp6: no
addresses:
- x.x.x.x/22
gateway4: x.x.x.x
节点上的 netplan 配置需要一个名为 ens192 的接口,但节点突然使用 eth0 名称。
作为一种解决方法,我们使用以下命令将 eth0 接口重命名回 ens192。
sudo ip link set eth0 down
sudo ip link set eth0 name ens192
sudo ip link set ens192 up
执行上述命令后,节点通过 ping 和 SSH 做出响应。但这些更改不是持久的。重新启动节点后,网络接口名称再次从 ens192 更新为 eth0。