Merge pull request #2819 from weaveworks/issues/2726-modprobe

Ensure we have the right modules loaded for weave-npc

Fix #2726
This commit is contained in:
Martynas Pumputis authored and GitHub committed 2017-02-27 14:23:12 +00:00
commit 589ab4f01d
3 files changed
+17

No files matched your search

+6
View File
@@ -19,6 +19,9 @@ NetworkPolicy object updates from the k8s API server:
network policy, containing the IP addresses of all pods in the
namespace whose labels match that selector
IPsets are implemented by the kernel module `xt_set`, without which
weave-npc will not work.
ipset names are generated deterministically from a string
representation of the corresponding label selector. Because ipset
names are limited to 31 characters in length, this is done by taking a
@@ -94,6 +97,9 @@ The following traffic is NOT affected:
(e.g. kubelet health checks)
* Traffic routed from an application container to the internet
The above mechanism relies on the kernel module `br_netfilter` being
loaded and enabled via `/proc/sys/net/bridge/bridge-nf-call-iptables`.
See these resources for helpful context:
* http://ebtables.netfilter.org/br_fw_ia/br_fw_ia.html
+6
View File
@@ -15,6 +15,12 @@ CONN_LIMIT=${CONN_LIMIT:-30}
# Default for network policy
EXPECT_NPC=${EXPECT_NPC:-1}
# Ensure we have the required modules for NPC
if [ "${EXPECT_NPC}" != "0" ]; then
modprobe br_netfilter
modprobe xt_set
fi
# kube-proxy requires that bridged traffic passes through netfilter
if ! BRIDGE_NF_ENABLED=$(cat /proc/sys/net/bridge/bridge-nf-call-iptables); then
echo "Cannot detect bridge-nf support - network policy and iptables mode kubeproxy may not work reliably" >&2
+5
View File
@@ -46,6 +46,8 @@ spec:
mountPath: /host/etc
- name: dbus
mountPath: /host/var/lib/dbus
- name: lib-modules
mountPath: /lib/modules
resources:
requests:
cpu: 10m
@@ -73,3 +75,6 @@ spec:
- name: dbus
hostPath:
path: /var/lib/dbus
- name: lib-modules
hostPath:
path: /lib/modules