# 附录

# configuration-toml配置说明

说明:
configuration.toml配置文件中各个字段的取值以kata-containers-<version>.rpm包中的configuration.toml文件为准,不支持用户对配置文件中的字段任意取值。

[hypervisor.qemu]
path :指定虚拟化qemu执行路径
kernel :指定guest kernel执行路径
initrd :指定guest initrd执行路径
image :指定guest image执行路径(不适用) 
machine_type :指定模拟芯片类型,ARM架构为virt,x86架构为pc
kernel_params :指定guest内核运行参数
firmware :指定固件路径,设空则使用默认固件
machine_accelerators :指定加速器
default_vcpus :指定每个SB/VM的默认vCPU数量
default_maxvcpus :指定每个SB/VM的默认最大vCPU数量
default_root_ports :指定每个SB/VM的默认Root Ports数量
default_bridges :指定每个SB/VM的默认bridges数量
default_memory :指定每个SB/VM的默认内存大小,默认为1024 MiB
memory_slots :指定每个SB/VM的内存插槽数量,默认为10
memory_offset :指定内存偏移量,默认为0
disable_block_device_use :禁止将块设备用于容器的rootfs
shared_fs :指定共享文件系统类型,默认为virtio-9p
virtio_fs_daemon :指定vhost-user-fs守护进程路径
virtio_fs_cache_size :指定DAX缓存的默认大小
virtio_fs_cache :指定缓存模式
block_device_driver :指定块设备驱动
block_device_cache_set :指定块设备是否设置缓存相关选项,默认false
block_device_cache_direct :指定是否使能O_DIRECT,默认false
block_device_cache_noflush :指定是否忽略设备刷新请求,默认false
enable_iothreads :使能iothreads
enable_mem_prealloc :使能VM RAM预分配,默认false
enable_hugepages :使能大页,默认false
enable_swap :使能swap,默认false
enable_debug :使能qemu debug,默认false
disable_nesting_checks :关闭嵌套检查
msize_9p = 8192 :指定每个9p包传输的字节数
use_vsock :使用vsocks与agent直接通信(前提支持vsocks),默认false
hotplug_vfio_on_root_bus :使能vfio设备在root bus热插拔,默认false
disable_vhost_net :关闭vhost_net,默认false
entropy_source :指定默认熵源
guest_hook_path :指定guest hook二进制路径

[factory]
enable_template :使能VM模板,默认false
template_path :指定模板路径
vm_cache_number :指定VMCache的缓存数量,默认0
vm_cache_endpoint :指定VMCache使用的Unix socket的地址,默认/var/run/kata-containers/cache.sock

[proxy.kata]
path :指定kata-proxy运行路径
enable_debug :使能proxy debug,默认false

[shim.kata]
path :指定kata-shim运行路径
enable_debug :使能shim debug,默认false
enable_tracing :使能shim opentracing

[agent.kata]
enable_debug :使能agent debug,默认false
enable_tracing :使能agent tracing
trace_mode :指定trace模式
trace_type :指定trace类型
enable_blk_mount :开启block设备guest挂载

[netmon]
enable_netmon :使能网络监控,默认false
path :指定kata-netmon运行路径
enable_debug :使能netmon debug,默认false

[runtime]
enable_debug :使能runtime debug,默认false
enable_cpu_memory_hotplug :使能cpu和内存热插拔,默认false
internetworking_model :指定VM和容器网络互联模式
disable_guest_seccomp :关闭在guest应用seccemp安全机制,默认true
enable_tracing :使能runtime opentracing,默认false
disable_new_netns :不为shim和hypervisor进程创建网络命名空间,默认false
experimental :开启实验特性,不支持用户自定义配置

# 接口列表

表 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 。

上一篇

下一篇