<p>So I have a Kubernetes cluster, and I am using Flannel for an overlay network.  It has been working fine (for almost a year actually) then I modified a service to have 2 ports and all of a sudden I get this about a completely different service, one that was working previously and I did not edit:</p>

<pre><code>&lt;Timestamp&gt; &lt;host&gt; flanneld[873]: I0407 18:36:51.705743 00873 vxlan.go:345] L3 miss: &lt;Service's IP&gt;
&lt;Timestamp&gt; &lt;host&gt; flanneld[873]: I0407 18:36:51.705865 00873 vxlan.go:349] Route for &lt;Service's IP&gt; not found 
</code></pre>

<p>Is there a common cause to this?  I am using Kubernetes 1.0.X and Flannel 0.5.5 and I should mention only one node is having this issue, the rest of the nodes are fine.  The bad node's kube-proxy is also saying it can't find the service's endpoint.</p>

<p>Sometime flannel will change it's subnet configuration... you can tell this if the IP and MTU from <code>cat /run/flannel/subnet.env</code> doesn't match <code>ps aux | grep docker</code> (or <code>cat /etc/default/docker</code>)... in which case you will need to reconfigure docker to use the new flannel config.</p>

<p>First you have to delete the docker network interface</p>

<pre><code>sudo ip link set dev docker0 down
sudo brctl delbr docker0
</code></pre>

<p>Next you have to reconfigure docker to use the new flannel config.<br>
<em>Note: sometimes this step has to be done manually (i.e. read the contents of /run/flannel/subnet.env and then alter <code>/etc/default/docker</code>)</em></p>

<pre><code>source /run/flannel/subnet.env

echo DOCKER_OPTS=\"-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU}\" &gt; /etc/default/docker
</code></pre>

<p>Finally, restart docker</p>

<pre><code>sudo service docker restart
</code></pre>
