1

我有机会在 CentOS 虚拟机上安装 k8s 集群。在大多数情况下,我使用法兰绒作为覆盖。不过,在其他一些情况下,我注意到 kube-system 命名空间中有 flannel pod。恕我直言,我们不需要同时拥有 flanneld 和 flannel pod 来让底层 CNI 与 kubernetes 一起正常运行。

阅读了大量关于 flannel overlay 如何融入 kubernetes 生态系统的文档。但是,我还没有找到一些问题的答案。希望有人可以提供指点。

  1. 选择法兰绒或法兰绒吊舱的依据是什么?
  2. flanneld 和 flannel pod 在功能上有什么区别吗?
  3. 法兰绒吊舱如何提供 CNI 功能?我的理解是 pod 使用 IP 地址 k/v 对填充 etcd,但这些信息是如何真正使用的?
  4. 大多数 CNI 插件是否可以在作为守护进程或 pod 运行之间进行选择?
4

1 回答 1

1

你是对的,你不需要他们两个,因为他们做同样的工作。它们之间没有区别,只是守护程序在系统、隔离容器或系统中作为常规守护程序运行。所有 CNI 插件都基于 CNI 库并路由流量。Flannel 使用系统 ETCD 作为键值存储。如果您在 kubernetes 集群中有 ETCD,它将使用它,如果在外部,它将使用外部 ETCD。只有您选择自己喜欢的,例如,如果您运行外部 ETCD,通常人们将 flannel 作为系统中的守护进程运行。

于 2018-11-29T14:37:15.740 回答