--- tags: kubernetes, devops --- # Flannel VXLAN and Kubernetes 1.16+ on CentOS/RHEL 7.x CentOS/RHEL 7.x kernel 3.10.x has problem with checksum offloading which can cause Flannel and Kubernetes 1.16+ not working correctly (node to nodeport, node to cluster ip). The service below workarounds this issue by turning off checksum offloading ## flannel-disable-tx-checksum-offload.service ```bash tee /etc/systemd/system/flannel-disable-tx-checksum-offload.service > /dev/null << EOF [Unit] Description=Turn off checksum offload on flannel.1 After=sys-devices-virtual-net-flannel.1.device [Install] WantedBy=sys-devices-virtual-net-flannel.1.device [Service] Type=oneshot ExecStart=/usr/sbin/ethtool -K flannel.1 tx-checksum-ip-generic off EOF systemctl enable flannel-disable-tx-checksum-offload systemctl start flannel-disable-tx-checksum-offload ``` ## References - https://t.du9l.com/2020/03/kubernetes-flannel-udp-packets-dropped-for-wrong-checksum-workaround/ - https://github.com/coreos/flannel/issues/1243 - https://github.com/rancher/k3s/issues/1638 - https://github.com/coreos/flannel/pull/1282