代码之家  ›  专栏  ›  技术社区  ›  lanoxx

使用法兰绒时Kubernetes CNI的步骤

  •  0
  • lanoxx  · 技术社区  · 6 年前

    我用kubeadm建立了Kubernets,我用法兰绒建立了pod网络。安装程序基本上运行正常,但我遇到了各种问题(和错误),现在我试图更好地了解网络安装过程中涉及的不同步骤(如CNI和flannel)。

    从最终用户/管理员的角度来看,我只是通过 --pod-network-cidr 用一些网络参数 kubeadm 然后我使用 kubectl . 然后Kubernetes会在我的每个节点上启动一个法兰绒吊舱。假设一切正常,法兰绒应该使用Kubernetes的容器网络接口(CNI)来建立pod网络。

    作为这个过程的结果,我应该得到一个pod网络,其中包括以下内容:

    1. 一个 cni0 桥。
    2. 一个 flannel.x 接口。
    3. 在主机和pod网络之间路由的iptables条目。

    安装程序中似乎涉及以下文件和二进制文件:

    1. 库贝克特 读取CNI配置,如 /etc/cni/net.d/10-flannel.conflist 并调用配置文件中描述的CNI插件。
    2. 不知怎的一个文件夹 /var/lib/cni 正在创建,其中似乎包含网络设置的配置文件。
    3. CNI插件,如 /opt/cni/bin/flannel 是跑,我还不明白它是干什么的。

    我在这个列表中遗漏了什么,以及(2)如何适应这些步骤。怎样做 /变量/lib/cni 创建并由哪个程序负责?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Nick Rak    6 年前

    我从代码中看到 CNI:

    var  (
       CacheDir  =  "/var/lib/cni"
    )
    

    这个文件夹用作CNI的缓存目录,看起来像是由CNI插件创建的。

    Here 你可以找到有关CNI的详细文档。

    什么是CNI?

    CNI公司( ),一个 Cloud Native Computing Foundation project包含一个规范和库,用于编写插件以在Linux容器中配置网络接口,以及许多受支持的插件。CNI只关注容器的网络连接,并在删除容器时删除分配的资源。由于这一点,CNI具有广泛的支持,而且规范易于实现。

    所有像印花布、法兰绒这样的项目都以CNI为基础。所以他们叫CNI插件

    Here 您可以找到关于kubernetes如何与CNI交互的文档。

    推荐文章