接口列表
表 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]。 举例: 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]。 举例: 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 | 指定查询虚拟服务信息 | 可选项。 举例: kata-runtime kata-ipvs ipvsadm --parameters "--list --tcp-service ip:port" <container-id> |
--set | --tcp | tcp超时 | 必选项,取值[0, 1296000]。 举例: kata-runtime kata-ipvs ipvsadm --parameters "--set 100 100 200" <container-id> |
--tcpfin | tcpfin超时 | 必选项,取值[0, 1296000]。 |
--udp | udp超时 | 必选项,取值[0, 1296000]。 |
--restore | - | 标准输入批量导入 可指定规则文件 | 举例: 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信息 | 必选项。 举例: kata-runtime kata-ipvs cleanup --parameters "--orig-dst 172.17.0.4 --protonum tcp" <container-id> |
-p, --protonum | 协议类型 | 必选项,取值为tcp|udp 。 |