In my kubernetes cluster I have a flannel overlay configured. the iptables
on the master node and the minions are not the same. I understand that this is by design but it creates the problem that pods can't run on the master node: on the master, external IP addresses (for a service) are not resolved.
On the minions there is a KUBE-PORTALS-CONTAINER
and KUBE-PORTALS-HOST
chain which redirects service cluster and external IP addresses. Static routes redirect this traffic to the master which actually resolves the addresses. On the master there isn't the 2 chains mentioned above but instead there is a KUBE-SERVICES
chain which resolves services IPs to pod IP addresses.
Is there a way to configure the master node to have the chains that the nodes have as well as the service resolution chain too?
Pods are running on Kubernetes nodes (formerly called minions) but not on masters, see Kubernetes architecture. You may also find the debugging Service doc helpful.