由于各种错误,我需要持续禁用 Kubernetes 主机上的卸载。
我遵循了这里的指南:https://michael.mulqueen.me.uk/2018/08/disable-offloading-netplan-ubuntu/但脚本没有运行。我已将 echo 语句保存到磁盘,但脚本没有运行,所以我知道它没有运行。
我已将其放在 /usr/lib/networkd-dispatcher/routable.d 中名为 10-disable-offloading 的 shell 文件中,并且还尝试过:/etc/networkd-dispatcher/routable.d/,但无济于事。
该脚本是可执行的并由 root 拥有,我甚至给了它 777 只是为了测试,但仍然无法运行。
networkd-dispatcher 已安装。
我正在 19.10 上测试这个,但它也需要运行 18.04,因为这是我的服务器使用的。
答案1
我遇到了我认为是此设置的意外行为,但事实证明我只是没有正确考虑它。
我的 netplan 配置如下:
network:
ethernets:
eno1:
dhcp4: no
bridges:
br0:
accept-ra: true
addresses:
- 2001:db8:1:2::3/64
dhcp4: true
interfaces:
- eno1
ipv6-privacy: true
macaddress: de:ad:be:ef:ca:fe
我使用桥接 VLAN 过滤器将 VLAN 分配给接口,因此它们需要同时在物理网卡和桥接上运行。我的脚本/etc/networkd-dispatcher/routable.d/
在桥接接口上运行,而不是在物理网卡上运行。
但/etc/networkd-dispatcher/routable.d/
在这种情况下,这实际上是错误的地方,因为当 NIC 是桥接器的成员时,它不会获得 IP 地址,因此永远不会成为可路由接口。将脚本放入/etc/networkd-dispatcher/configured.d/
即可使我的脚本在两个接口上工作。
答案2
缺少的步骤是在启动时启用 networkd-dispatcher 服务:
# systemctl enable networkd-dispatcher.service
然后将执行下一个启动脚本。要验证它们是否在启动时执行,请使用以下命令检查日志:
# journalctl -b -u networkd-dispatcher