0

使用 kueadm 命令我已经配置了 3 个节点的 Kubernetes 集群。与早期版本 1.6.2 不同,kubeadm 命令会自动配置所有 Kubernetes 进程。对于法兰绒,我使用了这个 yml 文件 kube-flannel.yml。我对 Kubernetes 的理解是它将创建容器并在容器内运行进程,但我看到 flannel 进程在节点本身上运行,但 /opt/bin/flannel 二进制文件不在我的节点中。Kubernetes 如何运行 flannel?

Kubernetes 如何处理这个问题?是否有正确的文件解释了这个概念?

  1. flannel pod 在主节点本身中运行。
 [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. 我看法兰绒工艺

    [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 设置 -e -x; cp -f /etc/kube-flannel/cni-conf.json /etc/cni/net.d/10-flannel.conf;虽然是真的;睡3600;完毕

  2. 但是flanneld不在主节点

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

谢谢

4

1 回答 1

0

在阅读了更多内容后,发现答案 flanneld 在大陆内部运行。

这是运行细节。

https://github.com/opencontainers/runc

我们可以像下面这样提取法兰绒 docker 图像。

> 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
于 2017-05-16T02:45:05.450 回答