接口列表

表 1 kata-runtime网络相关的命令行接口

命令

子命令

文件示例

字段

含义

备注

kata-network

说明:
  • kata-network命令需成组使用。不经过kata-runtime kata-network添加的网络设备,无法使用kata-runtime kata-network删除或者列出。反之亦然。
  • kata-runtime kata-network通过文件或stdin传入配置参数。

add-iface

说明:
  • 一个interface只能添加到1个容器中。
  • 执行结果以返回值为准(非零返回值)。

{

“device”:”tap1”,

“name”:”eth1”,

“IPAddresses”:[{“address”:”172.17.1.10”,”mask”:”24”}],

“mtu”:1300,

“hwAddr”:”02:42:20:6f:a2:80”

“vhostUserSocket”:”/usr/local/var/run/openvswitch/vhost-user1”

}

device

设置网卡的主机端名称

必选。支持字母、数字、下划线“”、“-” 以及“.”字符,必须以字母开头,且长度不超过15。需要确保同一个宿主机上device不能重复。

name

设置网卡的容器内名称

必选。支持字母、数字、下划线“”、“-” 以及“.”字符,必须以字母开头,且长度不超过15。需要确保同一个Sandbox内name不能重复。

IPAddresses

设置网卡的IP地址

可选。

暂时支持一张网卡配置一个IP,如果不配置IP,则不会在容器内部配置IP。

mtu

设置网卡的mtu值

必选。

有效范围46~9600。

hwAddr

设置网卡的mac值

必选。

vhostUserSocket

设置dpdk轮循socket路径

可选。

路径最大长度128字节,命名规则支持数字、字母、“-”。必须以字母开头。

del-iface

{

“name”:”eth1”

}

删除容器内的一个网卡

说明:

删除网卡时,仅根据网卡容器内名称(name字段)来删除。即便填写其他字段,kata也不会使用。

list-ifaces

查询容器内的网卡列表

add-route

{

“dest”:”172.17.10.10/24”,

“gateway”:””,

“device”:”eth1”

}

dest

设置路由对应的网段

格式为<ip>/<mask>,<ip>必选。

分三种情况:

1. 配置<ip>/<mask>;

2. 只配置<ip>,则默认掩码为32;

3. 配置”dest”:”default”,默认无dest,需传入gateway。

gateway

设置路由的下一跳网关

设置”dest”:”default”时,gateway必选;其他情况可选。

device

设置路由对应的网卡名称

必选。

最长支持15字符。

del-route

{

“dest”:”172.17.10.10/24”

}

删除容器的路由规则

dest为必选,device/gateway均为可选。

说明:

kata根据不同字段进行模糊匹配,删除对应的路由规则。

list-routes

查询容器内的路由列表

表 2 kata-ipvs命令行接口

命令

子命令

字段

参数

子参数

含义

备注

kata-ipvs

ipvsadm

—parameters

-A, —add-service

-t, —tcp-service

-u, —udp-service

虚拟服务类型

必选项。—tcp-service、—udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

举例:

  1. kata-runtime kata-ipvs ipvsadm parameters “—add-service tcp-service 172.17.0.7:80 scheduler rr persistent 3000 <container-id>

-s, —scheduler

负载均衡调度算法

必选项。取值范围:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq。

-p, —persistent

持续服务时间

必选项。取值范围[1, 2678400],单位s。

-E, —edit-service

-t, —tcp-service

-u, —udp-service

虚拟服务类型

必选项。—tcp-service、—udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

-s, —scheduler

负载均衡调度算法

必选项。取值范围:rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq

-p, —persistent

持续服务时间

必选项。取值范围[1, 2678400],单位s。

-D, —delete-service

-t, —tcp-service

-u, —udp-service

虚拟服务类型

必选项。—tcp-service、—udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

-a, —add-server

-t, —tcp-service

-u, —udp-service

虚拟服务类型

必选项。—tcp-service、—udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

举例:

  1. kata-runtime kata-ipvs ipvsadm parameters “—add-server tcp-service 172.17.0.7:80 real-server 172.17.0.4:80 weight 100 <container-id>

-r, —real-server

真实服务器地址

必选项。格式为“ip:port”,port取值[1,65535]。

-w, —weight

权重

可选项,取值[0,65535]。

-e, —edit-server

-t, —tcp-service

-u, —udp-service

虚拟服务类型

必选项。—tcp-service、—udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

-r, —real-server

真实服务器地址

必选项。格式为“ip:port”,port取值[1,65535]。

-w, —weight

权重

可选项,取值[0,65535]。

-d, —delete-server

-t, —tcp-service

-u, —udp-service

虚拟服务类型

必选项。—tcp-service、—udp-service,两个参数只能选择其一。格式为“ip:port”,port取值[1,65535]。

-r, —real-server

真实服务器地址

必选项。格式为“ip:port”,port取值[1,65535]。

-L, —list

-t, —tcp-service

-u, —udp-service

指定查询虚拟服务信息

可选项。

举例:

  1. kata-runtime kata-ipvs ipvsadm parameters “—list tcp-service ip:port <container-id>

—set

—tcp

tcp超时

必选项,取值[0, 1296000]。

举例:

  1. kata-runtime kata-ipvs ipvsadm parameters “—set 100 100 200 <container-id>

—tcpfin

tcpfin超时

必选项,取值[0, 1296000]。

—udp

udp超时

必选项,取值[0, 1296000]。

—restore

-

标准输入批量导入

可指定规则文件

举例:

  1. kata-runtime kata-ipvs ipvsadm restore - < <规则文件路径> <container-id>
说明:

单条添加时默认使用NAT模式,批量导入时添加真实服务器需手动添加-m参数使用NAT模式。

规则文件内容示例:

-A -t 10.10.11.12:100 -s rr -p 3000

-a -t 10.10.11.12:100 -r 172.16.0.1:80 -m

-a -t 10.10.11.12:100 -r 172.16.0.1:81 -m

-a -t 10.10.11.12:100 -r 172.16.0.1:82 -m

cleanup

—parameters

-d, —orig-dst

ip信息

必选项。

举例:

  1. kata-runtime kata-ipvs cleanup parameters “—orig-dst 172.17.0.4 protonum tcp <container-id>

-p, —protonum

协议类型

必选项,取值为tcp|udp 。