<p>I deployed a single node kubernetes cluster with "kubeadm". This deployed Kubernetes 1.6. According to the instructions (<a href="https://kubernetes.io/docs/getting-started-guides/kubeadm/" rel="nofollow noreferrer">https://kubernetes.io/docs/getting-started-guides/kubeadm/</a>) I need to install a network layer for pod networking.</p>

<p>I decided to give "weave" a try, as this was easy to install according to the documentation (<a href="https://www.weave.works/weave-net-kubernetes-integration/" rel="nofollow noreferrer">https://www.weave.works/weave-net-kubernetes-integration/</a>) using a simple one-liner: </p>

<pre><code>kubectl apply -f https://git.io/weave-kube
</code></pre>

<p>When I check the machine, I see there is a weave adapter now:</p>

<pre><code>weave: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt;  mtu 1376
        inet 10.32.0.1  netmask 255.240.0.0  broadcast 0.0.0.0
        inet6 fe80::bca7:f5ff:fefb:c7a2  prefixlen 64  scopeid 0x20&lt;link&gt;
        ether be:a7:f5:fb:c7:a2  txqueuelen 1000  (Ethernet)
        RX packets 12  bytes 780 (780.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9  bytes 690 (690.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
</code></pre>

<p>I then deployed kube-dashboard with the provided yaml file:</p>

<pre><code>kubectl create -f https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml
</code></pre>

<p>This went well, but the pod got an ip assigned from the 172.17.0.0 range. This is the range defined in the docker configuration file, not the one used by "weave".</p>

<p>This doesn't seem right to me. Shouldn't it get an ip in the weave range?</p>

<p>I've been researching the whole cni stuff, but the more I read the more I get confused on how all the different components (docker, weave, kubernetes, cni) are supposed to work together.</p>

<p>What should happen is that Kubernetes should be installed with a flag to kubelet <code>--network-plugin=cni</code>, and then kubelet will look for a CNI config file in <code>/etc/cni/net.d</code>, and use the network config in that file to look for a CNI plugin (an executable) to call.</p>

<p>Installing Weave Net via <code>kubectl apply -f https://git.io/weave-kube</code> should create this config file (<code>/etc/cni/net.d/10-weave.conf</code>), and then after that pods should get an address in the Weave IP allocation range (by default 10.32.0.0/12)</p>

<p>Since you are seeing a pod with a Docker address, is it possible the <code>--network-plugin=cni</code> flag has gone missing?</p>
