我正在遵循使用 kubeadm 安装 kubernetes 的指南,作为安装过程的一部分,我需要在以下位置设置以下内核参数sysctl.d/99-kuvernetes-cni.conf
:
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
我知道这些属于该br_netfilter
模块,因为我只能sysctl -a
在加载该模块后才能看到它们。
但它们到底是关于什么的呢?它们对于运行 Kubernetes 真的有必要吗?
答案1
这些参数决定穿过网桥的数据包是否被发送到iptables
处理。大多数 Kubernetes CNI 依赖于iptables
,因此这对于 Kubernetes 通常是必需的。
内核中的默认设置是启用这些设置,但许多发行版禁用它们(有关详细信息,请参阅前面的链接)。
答案2
Nftables 似乎不再使用这些参数:https://netdevconf.info/1.1/proceedings/papers/Bridge-filter-with-nftables.pdf