附录
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 。
|