我正在运行 Ubuntu 18.04.1 LTS
我已经创建了一个cni0.netdev
和cni0.network
文件来/etc/systemd/network
创建一个用于本地 Kubernetes 集群/节点的虚拟桥。
我已启用systemd-networkd-wait-online.service
我有以下内容docker.service
[Unit]
:
After=network-online.target docker.socket firewalld.service
Wants=network-online.target
Requires=docker.socket
然而,当我启动时,dockerd
抱怨cni0
尚未启动,但当我登录时,桥就在那里。如果我重新启动,dockerd
它就会拿起桥并使用它。
我无法添加After=
forcni0.netdev
因为netdev
文件是配置文件,systemd-networkd
而不是它们自己的“单元”。
看起来就像systemd-networkd-wait-online.service
只是等待“任何”界面上线,这将是常规eth0
界面。
dockerd
在启动之前如何等待该网桥启动并配置完毕?
答案1
你也许可以尝试添加一个After/Wants=sys-devices-virtual-net-cni0.device
您可以使用以下命令检查设备的确切名称systemctl