接口

CNI对用户可见的接口,主要涉及CNI网络配置和Pod配置中CNI网络相关的项。

  • CNI网络配置相关的接口,主要是isulad指定CNI网络配置文件所在路径、CNI网络插件二进制文件所在的路径以及使用的网络模式;表1 CNI网络配置接口
  • Pod配置中CNI网络相关的项,主要是设置Pod加入的附加CNI网络列表,默认情况Pod只会加入到default CNI网络平面中,可以通过该配置把Pod加入到多个CNI网络平面中。

表 1 CNI网络配置接口

  

命令行

配置文件

说明

设置CNI网络插件二进制文件所在路径

—cni-bin-dir

“cni-bin-dir”: “”,

默认为/opt/cni/bin

设置CNI网络配置文件所在路径

—cni-conf-dir

“cni-conf-dir”: “”,

系统会遍历目录下面所有后缀名为”.conf”、”.conflist”和 “.json”的文件。默认为/etc/cni/net.d

指定网络模式

—network-plugin

“network-plugin”: “”,

指定网络插件,默认为空字符,表示无网络配置,创建的sandbox只有loop网卡。支持cni和空字符,其他非法值会导致isulad启动失败。

附加CNI网络配置方式:

在Pod的配置文件的”annotations”中,增加一项”network.alpha.kubernetes.io/network”: “网络平面配置”;

网络平面配置为json格式,包含两项:

  • name:指定CNI网络平面的名字
  • interface:指定网络接口的名字

附件CNI网络配置方式示例如下:

  1. "annotations" : {
  2. "network.alpha.kubernetes.io/network": "{\"name\": \"mynet\", \"interface\": \"eth1\"}"
  3. }