centos8部署kubernetes集群时节点的iptables的FOWORD总为DROP

centos8部署kubernetes集群时节点的iptables的FOWARD总为DROP

引言

在部署k8s+docker集群时,发现coredns容器总是pending状态,经过查阅资料发现是由于docker的iptables策略导致的容器间无法通讯,即使修改好了iptables的FORWORD策略为ACCEPT,但是重启后docker还是会将iptables的FORWORD修改为DROP,本文主要解决docker的iptables策略问题

查看coredns状态

kubectl get pods -n kube-system

coredns处于错误状态或者pending状态

查看iptables的策略

iptables -nL

iptables -nL
如果FORWORD 策略为DROP说明你需要修改这个问题

修改docker配置文件

我的docker版本是18.03.01.ce,在机器重启时docker会自动设置FORWORD策略为DROP,我尝试使用修改/etc/rc.local配置文件执行 iptables -P FORWORD ACCEPT 命令发现机器重启后iptables的FORWORD还是DROP,后来查阅资料得知需要修改以下文件

vim /lib/systemd/system/docker.service

在[Service]标签下加入如下参数

ExecStartPost=/sbin/iptables -P FORWARD ACCEPT

使配置生效

systemctl daemon-reload
systemctl restart docker

如果没问题的话重启就会ok

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值