附录
configuration-toml配置说明
说明:
configuration.toml配置文件中各个字段的取值以kata-containers-.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 。 |