kubernetesflanneld

Kubernetes 1.6.2 flannel configuration in centos 7


Using kueadm command I have configured 3 nodes Kubernetes cluster. Unlike earlier version 1.6.2 kubeadm command configures all the Kubernetes process automatically. For flannel I used this yml file kube-flannel.yml. my understanding with Kubernetes is it will create the container and run the process inside the container but I see flannel process running on node itself but /opt/bin/flannel binary not in my node. How Kubernetes running the flannel?

How Kubernetes handles this? Is there right document explains this concepts?

  1. flannel pod running in master node itself.
 [root@master01 ~]# kubectl get pods -o wide --namespace=kube-system -l app=flannel
    NAME                    READY     STATUS    RESTARTS   AGE       IP               NODE
    kube-flannel-ds-3694s   2/2       Running   37         3d        192.168.15.101   master01
    kube-flannel-ds-mbh9b   2/2       Running   10         3d        192.168.15.102   node-01
    kube-flannel-ds-vlm20   2/2       Running   12         3d        192.168.15.103   node-02
  1. I see flanneld process

    [root@master01 ~]# ps -fed |grep flan root 5447 5415 0 May10 ? 00:00:08 /opt/bin/flanneld --ip-masq --kube-subnet-mgr root 5604 5582 0 May10 ? 00:00:00 /bin/sh -c set -e -x; cp -f /etc/kube-flannel/cni-conf.json /etc/cni/net.d/10-flannel.conf; while true; do sleep 3600; done

  2. but flanneld is not in the master node

    > [root@master01 ~]# ls -ld /opt/bin/flanneld
    >         ls: cannot access /opt/bin/flanneld: No such file or directory
    

Thanks SR


Solution

  • After some more reading found the answer flanneld run inside the continerd.

    here is the run details.

    https://github.com/opencontainers/runc

    we can extract the flannel docker images like below.

    > docker save -o flannel-v0.7.1-amd64.tar 
    > quay.io/coreos/flannel:v0.7.1-amd64 tar tvf flannel-v0.7.1-amd64.tar