CNI配置参数

表 1 CNI单网络配置参数

参数

类型

是否可选

说明

cniVersion

string

必选

CNI版本号,当前只支持0.3.0,0.3.1。

name

string

必选

网络名称,由用户自定义,需保证唯一。

type

string

必选

网络类型。目前支持的网络类型:

underlay_ipvlan

overlay_l2

underlay_l2

vpc-router

dpdk-direct

phy-direct

ipmasp

bool

可选

设置IP masquerade

ipam

结构体

可选

详细定义参考IPAM参数定义

ipam.type

string

可选

IPAM类型,目前支持的类型:

(1)underlay_l2、overlay_l2、vpc-router组网默认值distributed_l2,且只支持distributed_l2。

(2)underlay_ipvlan组网,默认distributed_l2。CCN场景只支持null、fixed;CCE和FST 5G core场景只支持null、distributed_l2。

(3)phy-direct、dpdk-direct组网,默认l2,可选null、distributed_l2。FST 5G core场景只支持null、distributed_l2。

说明:

超出选择范围(比如host-local),Canal会自动设置为默认,不会返回错误。

null:不使用canal管理ip。

fixed:固定ip,CCN场景使用。

l2:目前没有场景使用。

distributed_l2:使用分布式小子网管理ip。

ipam.subnet

string

可选

子网信息。Canal支持的subnet mask范围为[8,29],并且要求IP地址不能为Multicast地址(如224.0.0.0/4),保留地址(240.0.0.0/4),本地link地址(169.254.0.0/16)以及本地loop地址(127.0.0.0/8)。

ipam.gateway

string

可选

网关IP

ipam.range-start

string

可选

可用的起始IP地址

ipam.range-end

string

可选

可用的结束IP地址

ipam.routes

结构体

可选

subnet列表,每个元素都是一个route字典。参考route定义.

ipam.routes.dst

string

可选

表示目的网络

ipam.routes.gw

string

可选

表示网关地址

dns

结构体

可选

包含一些DNS的特殊值。

dns.nameservers

[]string

可选

nameservers

dns.domain

string

可选

domain

dns.search

[]string

可选

search

dns.options

[]string

可选

选项

multi_entry

int

可选

表示一个vnic需要的ip数量,范围0~16。对于物理直通,单个网卡最多可申请128个IP。

backup_mode

bool

可选

表示主备模式,仅用于phy-direct和dpdk-direct组网。

vlanID

int

可选

0~4095,允许PaaS直接指定。

vlan_inside

bool

可选

true表示vlan功能由Node内部实现,false表示vlan在外部实现。

vxlanID

int

可选

0~16777215,允许PaaS直接指定。

vxlan_inside

bool

可选

true表示vlan功能由Node内部实现,false表示vlan在外部实现。

action

string

可选

该参数只能和特殊containerID “000000000000”一起使用。

Create表示创建网络。

Delete表示删除网络。

args

map[string]interface{}

可选

主要描述键值对类型。表2

runtimeConfig

结构体

可选

capabilities

结构体

可选

表 2 CNI args参数表

参数

类型

是否可选

说明

K8S_POD_NAME

string

可选

申请固定IP(runtimeConfig.ican_caps.fixed_ip为true)时需要设置K8S_POD_NAME

K8S_POD_NAMESPACE

string

可选

申请固定IP(runtimeConfig.ican_caps.fixed_ip为true)时需要设置K8S_POD_NAMESPACE

SECURE_CONTAINER

string

可选

安全容器标志

multi_port

int

可选

默认值为1,取值范围1-8。只支持phy-direct和dpdk-direct两种类型网络,指定直通网卡数量

phy-direct

string

可选

用于在创建硬直通容器网络时指定接入的网卡

dpdk-direct

string

可选

用于在创建dpdk直通容器网络时指定接入的网卡

tenant_id

string

可选

租户的ID。

只支持vpc-router类型网络。

vpc_id

string

可选

VPC的ID。

只支持vpc-router类型网络。

secret_name

string

可选

表示k8s apiserver中保存有ak sk的对象名。

只支持vpc-router类型网络

参考配置VPC-Router逻辑网络

IP

string

可选

用户指定ip地址,格式“192.168.0.10”

K8S_POD_NETWORK_ARGS

string

可选

指定ip地址,格式“192.168.0.10”。若args中IP和K8S_POD_NETWORK_ARGS都不为空,以K8S_POD_NETWORK_ARGS为准。

INSTANCE_NAME

string

可选

INSTANCE ID。

参考支持容器固定IP

dist_gateway_disable

bool

可选

true表示不创建gateway,false表示创建gateway。

phynet

string或[]string

可选

所需加入的的物理平面信息,为预先定义好的物理网络名称,与SNC体系中的呼应,输入两个平面名时,支持主备平面。例如:”phy_net1” 或 [“phy_net2”,”phy_net3”]

endpoint_policies

struct

可选

“endpoint_policies”: [

{

“Type”: “”,

“ExceptionList”: [

“”

],

“NeedEncap”: true,

“DestinationPrefix”: “”

}

]

port_map

struct

可选

NAT类型网络中,支持容器端口发布至主机端口。

“port_map”: [

{

“local_port”: number,

“host_port”: number,

“protocol”: [string…]

}…

]

表 3 CNI多网络配置参数

参数

类型

是否可选

说明

cniVersion

string

必选

CNI版本号,当前只支持0.3.0,0.3.1。

name

string

必选

网络名称,由用户自定义,需保证唯一。

plugins

struct

必选

具体配置请参见表1 CNI单网络配置参数