improvements to the br_netfilter documentation for kubeadm (#19610)
This commit is contained in:
@@ -344,10 +344,6 @@ Please refer to this installation guide: [Contiv-VPP Manual Installation](https:
|
|||||||
|
|
||||||
For `flannel` to work correctly, you must pass `--pod-network-cidr=10.244.0.0/16` to `kubeadm init`.
|
For `flannel` to work correctly, you must pass `--pod-network-cidr=10.244.0.0/16` to `kubeadm init`.
|
||||||
|
|
||||||
Set `/proc/sys/net/bridge/bridge-nf-call-iptables` to `1` by running `sysctl net.bridge.bridge-nf-call-iptables=1`
|
|
||||||
to pass bridged IPv4 traffic to iptables' chains. This is a requirement for some CNI plugins to work, for more information
|
|
||||||
please see [Network Plugin Requirements](/docs/concepts/cluster-administration/network-plugins/#network-plugin-requirements).
|
|
||||||
|
|
||||||
Make sure that your firewall rules allow UDP ports 8285 and 8472 traffic for all hosts participating in the overlay network. The [Firewall](https://coreos.com/flannel/docs/latest/troubleshooting.html#firewalls) section of Flannel's troubleshooting guide explains about this in more detail.
|
Make sure that your firewall rules allow UDP ports 8285 and 8472 traffic for all hosts participating in the overlay network. The [Firewall](https://coreos.com/flannel/docs/latest/troubleshooting.html#firewalls) section of Flannel's troubleshooting guide explains about this in more detail.
|
||||||
|
|
||||||
Flannel works on `amd64`, `arm`, `arm64`, `ppc64le` and `s390x` architectures under Linux.
|
Flannel works on `amd64`, `arm`, `arm64`, `ppc64le` and `s390x` architectures under Linux.
|
||||||
@@ -362,9 +358,6 @@ For more information about `flannel`, see [the CoreOS flannel repository on GitH
|
|||||||
{{% /tab %}}
|
{{% /tab %}}
|
||||||
|
|
||||||
{{% tab name="Kube-router" %}}
|
{{% tab name="Kube-router" %}}
|
||||||
Set `/proc/sys/net/bridge/bridge-nf-call-iptables` to `1` by running `sysctl net.bridge.bridge-nf-call-iptables=1`
|
|
||||||
to pass bridged IPv4 traffic to iptables' chains. This is a requirement for some CNI plugins to work, for more information
|
|
||||||
please see [Network Plugin Requirements](/docs/concepts/cluster-administration/network-plugins/#network-plugin-requirements).
|
|
||||||
|
|
||||||
Kube-router relies on kube-controller-manager to allocate Pod CIDR for the nodes. Therefore, use `kubeadm init` with the `--pod-network-cidr` flag.
|
Kube-router relies on kube-controller-manager to allocate Pod CIDR for the nodes. Therefore, use `kubeadm init` with the `--pod-network-cidr` flag.
|
||||||
|
|
||||||
@@ -374,9 +367,6 @@ For information on using the `kubeadm` tool to set up a Kubernetes cluster with
|
|||||||
{{% /tab %}}
|
{{% /tab %}}
|
||||||
|
|
||||||
{{% tab name="Weave Net" %}}
|
{{% tab name="Weave Net" %}}
|
||||||
Set `/proc/sys/net/bridge/bridge-nf-call-iptables` to `1` by running `sysctl net.bridge.bridge-nf-call-iptables=1`
|
|
||||||
to pass bridged IPv4 traffic to iptables' chains. This is a requirement for some CNI plugins to work, for more information
|
|
||||||
please see [Network Plugin Requirements](/docs/concepts/cluster-administration/network-plugins/#network-plugin-requirements).
|
|
||||||
|
|
||||||
For more information on setting up your Kubernetes cluster with Weave Net, please see [Integrating Kubernetes via the Addon]((https://www.weave.works/docs/net/latest/kube-addon/).
|
For more information on setting up your Kubernetes cluster with Weave Net, please see [Integrating Kubernetes via the Addon]((https://www.weave.works/docs/net/latest/kube-addon/).
|
||||||
|
|
||||||
|
|||||||
@@ -51,6 +51,23 @@ may [fail](https://github.com/kubernetes/kubeadm/issues/31).
|
|||||||
If you have more than one network adapter, and your Kubernetes components are not reachable on the default
|
If you have more than one network adapter, and your Kubernetes components are not reachable on the default
|
||||||
route, we recommend you add IP route(s) so Kubernetes cluster addresses go via the appropriate adapter.
|
route, we recommend you add IP route(s) so Kubernetes cluster addresses go via the appropriate adapter.
|
||||||
|
|
||||||
|
## Letting iptables see bridged traffic
|
||||||
|
|
||||||
|
As a requirement for your Linux Node's iptables to correctly see bridged traffic, you should ensure `net.bridge.bridge-nf-call-iptables` is set to 1 in your `sysctl` config, e.g.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat <<EOF > /etc/sysctl.d/k8s.conf
|
||||||
|
net.bridge.bridge-nf-call-ip6tables = 1
|
||||||
|
net.bridge.bridge-nf-call-iptables = 1
|
||||||
|
EOF
|
||||||
|
sysctl --system
|
||||||
|
```
|
||||||
|
|
||||||
|
Make sure that the `br_netfilter` module is loaded before this step. This can be done by running `lsmod | grep br_netfilter`. To load it explicitly call `modprobe br_netfilter`.
|
||||||
|
|
||||||
|
For more details please see the [Network Plugin Requirements](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#network-plugin-requirements) page.
|
||||||
|
|
||||||
|
|
||||||
## Ensure iptables tooling does not use the nftables backend
|
## Ensure iptables tooling does not use the nftables backend
|
||||||
|
|
||||||
In Linux, nftables is available as a modern replacement for the kernel's iptables subsystem. The
|
In Linux, nftables is available as a modern replacement for the kernel's iptables subsystem. The
|
||||||
@@ -230,17 +247,7 @@ systemctl enable --now kubelet
|
|||||||
- Setting SELinux in permissive mode by running `setenforce 0` and `sed ...` effectively disables it.
|
- Setting SELinux in permissive mode by running `setenforce 0` and `sed ...` effectively disables it.
|
||||||
This is required to allow containers to access the host filesystem, which is needed by pod networks for example.
|
This is required to allow containers to access the host filesystem, which is needed by pod networks for example.
|
||||||
You have to do this until SELinux support is improved in the kubelet.
|
You have to do this until SELinux support is improved in the kubelet.
|
||||||
- Some users on RHEL/CentOS 7 have reported issues with traffic being routed incorrectly due to iptables being bypassed. You should ensure
|
|
||||||
`net.bridge.bridge-nf-call-iptables` is set to 1 in your `sysctl` config, e.g.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cat <<EOF > /etc/sysctl.d/k8s.conf
|
|
||||||
net.bridge.bridge-nf-call-ip6tables = 1
|
|
||||||
net.bridge.bridge-nf-call-iptables = 1
|
|
||||||
EOF
|
|
||||||
sysctl --system
|
|
||||||
```
|
|
||||||
- Make sure that the `br_netfilter` module is loaded before this step. This can be done by running `lsmod | grep br_netfilter`. To load it explicitly call `modprobe br_netfilter`.
|
|
||||||
{{% /tab %}}
|
{{% /tab %}}
|
||||||
{{% tab name="Container Linux" %}}
|
{{% tab name="Container Linux" %}}
|
||||||
Install CNI plugins (required for most pod network):
|
Install CNI plugins (required for most pod network):
|
||||||
|
|||||||
Reference in New Issue
Block a user