问题:
can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
问题现象
部分软件(例如 Docker、Calico等)会依赖 iptables 的功能。但是在启动时,可能会遇到这个报错。
问题原因
因部分模块丢失或禁用,导致无法启动 iptables
。
修复方法1 (适用 Docker 的不推荐)
该方式是直接修改启动项/lib/systemd/system/docker.service
:
找到 [Service]
中的:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
追加
--iptables=false
Docker
可以支持在没有 iptables
的环境下直接运行的。
但是这样做 Docker
会跳过创建 0桥,这会导致容器内网络与宿主机、其他容器不通。如果在这个环境下,创建 Kubernetes
会存在一定难度ÿ