使用 systemd 请求并启动 podman 网络接口



我有一个由systemd管理的主机服务,它侦听Podman默认网络接口(cni-podman0(,以便容器可以与之通信。

我遇到的问题是,Podman 仅在第一个容器启动时创建网络接口。这意味着当容器所依赖的主机服务启动时,网络接口不会启动,并且服务无法侦听它。

所以依赖链是: Podman 容器 -需要>主机服务 -需要> CNI 网络接口

但目前我知道的启动接口的唯一方法是启动容器。

如何让 systemd 告诉 Podman/CNI 启动默认的桥接网络接口,以便我可以在主机服务单元中依赖它?

是否有命令可以显式调出接口,我可以放入一个单元文件?

除非我误解了这个问题,否则可以在 systemd 服务文件中使用AfterWants参数。

打开您的服务文件,例如vim /etc/systemd/system/my_custom_daemon.service并确保您具有以下各项:

[Unit]
After=network.target
Wants=network.target

如果不是您需要满足的主机网络作为先决条件,则需要创建自定义 systemd 目标并在After/Wants中引用它。

我现在通过在主机服务依赖项中添加一个一次性 systemd 服务单元来解决它,该单元使用 Podman 运行一个立即退出的高山容器。这"欺骗"Podman调出桥接网络接口。

不那么黑客的解决方案仍然非常受欢迎。

相关内容

  • 没有找到相关文章

最新更新