MicRun 配置参考手册
概述
MicRun 当前的运行时配置解析分成两步:
先决定读取哪份运行时配置
再把 annotations 作为最终 overlay 叠加到解析结果上
以 internal/adapters/config/runtimeconfig/resolver.go 为准,当前实际顺序如下:
调用方已传入
current *RuntimeConfig时,直接复用注解里指定的 sandbox config path
CRI runtime options 中的
ConfigPath环境变量
MICRUN_CONF_FILE自动发现配置文件集合
MICRUN_CONF_DIR/etc/mica/micrun/conf.d/*.conf|*.toml/etc/mica/micrun/micrun.conf
最后统一叠加 annotations
这里要特别注意:环境变量主要用于选择配置文件来源,不是直接承载 workload 参数值。
配置文件
配置文件位置
优先级 |
配置来源 |
|---|---|
1 |
注解指定的 config path |
2 |
CRI runtime options 中的 |
3 |
|
4 |
|
5 |
|
6 |
|
补充说明:
当
MICRUN_CONF_FILE指向的文件解析失败时,当前实现会记录告警并回退默认配置栈。当注解或 CRI options 指定的配置文件解析失败时,当前创建链路会直接报错返回。
无论配置文件从哪里来,annotations 都会在最后一步覆盖最终值。
配置文件格式
支持两种格式:
格式 |
扩展名 |
说明 |
|---|---|---|
INI |
|
传统 INI 格式 |
TOML |
|
TOML 格式 |
INI 配置示例
[Mica]
# 调试模式
debug = false
# 最大客户端数量
max_client_number = 8
# 默认固件路径
firmware_path = /usr/local/share/mica/firmware.elf
[Resource]
# 容器最大 vCPU 数
max_container_vcpu = 4
# 容器最大内存 (MiB)
container_maxmem = 512
# 容器最小内存 (MiB)
container_minmem = 32
# 静态资源管理
static_resource = false
# 共享 CPU 池(Xen平台)
shared_cpu_pool = false
# HugePage 支持
hugepage_enable = false
[Xen]
# Sandbox 最小 vCPU 数
sandbox_minimum_vcpu = 1
# Dom0 CPU 独占
exclusive_dom0_cpu = false
# Xen 镜像路径
image_path = /usr/local/share/mica/xen-image.bin
# 辅助文件路径
aux_file_path = /usr/local/share/mica/xen-aux.bin
# 启用主机容器
enable_host_container = false
TOML 配置示例
[mica]
debug = false
max_client_number = 8
firmware_path = "/usr/local/share/mica/firmware.elf"
[resource]
max_container_vcpu = 4
container_maxmem = 512
container_minmem = 32
static_resource = false
shared_cpu_pool = false
hugepage_enable = false
[xen]
sandbox_minimum_vcpu = 1
exclusive_dom0_cpu = false
image_path = "/usr/local/share/mica/xen-image.bin"
aux_file_path = "/usr/local/share/mica/xen-aux.bin"
环境变量
环境变量 |
说明 |
默认值 |
|---|---|---|
|
指定单个运行时配置文件路径 |
|
|
指定运行时配置目录路径 |
|
|
指定日志配置文件路径(覆盖 |
|
|
指定日志文件路径(仅 debug 版本) |
|
|
指定 containerd 日志输出路径(默认 shim 工作目录下 |
|
|
容器命名空间 |
|
说明:
MICRUN_CONF_FILE与MICRUN_CONF_DIR影响的是”加载哪份运行时配置”。workload 级细项(如固件、pedestal、资源限制覆盖)仍以 annotations 和 OCI spec 为主。
配置项详解
Mica 节配置
配置项 |
类型 |
默认值 |
说明 |
|---|---|---|---|
|
布尔 |
|
启用调试模式 |
|
整数 |
|
最大客户端数量(0表示无限制) |
|
字符串 |
默认固件路径 |
|
|
布尔 |
|
启用主机容器 |
Resource 节配置
配置项 |
类型 |
默认值 |
说明 |
|---|---|---|---|
|
整数 |
|
容器最大 vCPU 数(配置为0时使用默认值8) |
|
整数 |
系统相关 |
容器最大内存 (MiB),默认使用系统内存高阈值 |
|
整数 |
|
容器最小内存预留 (MiB) |
|
布尔 |
平台相关 |
静态资源管理(禁止动态更新),Baremetal平台默认为true,其他平台为false |
|
布尔 |
|
共享 CPU 池模式(Xen cpupool管理) |
|
布尔 |
|
启用 HugePage 支持(仅 Xen) |
Static Resource Management
启用后:
UpdateContainerAPI 将被忽略资源在容器创建时固定
适用于资源固定的生产环境
Xen 节配置
配置项 |
类型 |
默认值 |
说明 |
|---|---|---|---|
|
整数 |
|
Sandbox 最小 vCPU 数量 |
|
布尔 |
|
Dom0 CPU 独占 |
|
字符串 |
Xen 镜像路径 |
|
|
字符串 |
Xen 辅助文件路径 |
配置优先级示例
示例 1:注解覆盖最终配置值
# Pod 注解
metadata:
annotations:
org.openeuler.micrun.container.min_memory_mb: "64" # 覆盖配置文件
优先级:注解最终 overlay > 已解析出的 RuntimeConfig > 默认值
示例 2:环境变量选择配置文件
# 使用自定义配置文件
export MICRUN_CONF_FILE=/etc/mica/micrun/custom.conf
优先级:注解 config path > runtime options ConfigPath > $MICRUN_CONF_FILE > $MICRUN_CONF_DIR > /etc/mica/micrun/conf.d/ > /etc/mica/micrun/micrun.conf
示例 3:当前解析顺序
current RuntimeConfig
-> annotation config path
-> CRI options ConfigPath
-> MICRUN_CONF_FILE
-> MICRUN_CONF_DIR / conf.d / default file
-> annotations overlay
Drop-in 目录
Drop-in 目录允许将配置拆分为多个文件:
/etc/mica/micrun/conf.d/
|-- 00-base.conf # base config
|-- 10-resource.conf # resource config
`-- 99-local.conf # local overrides
加载顺序:按文件名字母序加载,后加载的配置覆盖先加载的配置。
配置验证
检查当前配置
# 查看使用的配置文件
journalctl -u containerd | grep "micrun config"
# 查看 shim 进程的环境变量
cat /proc/$(pgrep containerd-shim-mica-v2)/environ | tr '\0' '\n' | grep MICRUN
常见配置错误
错误 |
原因 |
解决方案 |
|---|---|---|
|
配置文件路径错误 |
检查 |
|
配置文件格式错误 |
检查 INI/TOML 语法 |
|
配置值超出有效范围 |
检查数值是否合理 |
生产环境配置示例
高性能配置
[Mica]
debug = false
max_client_number = 16
firmware_path = /usr/local/share/mica/firmware.elf
[Resource]
max_container_vcpu = 8
container_maxmem = 2048
container_minmem = 64
static_resource = true
shared_cpu_pool = false
hugepage_enable = true
[Xen]
sandbox_minimum_vcpu = 2
exclusive_dom0_cpu = true
image_path = /usr/local/share/mica/xen-image.bin
低资源配置
[Mica]
debug = false
max_client_number = 4
firmware_path = /usr/local/share/mica/firmware.elf
[Resource]
max_container_vcpu = 2
container_maxmem = 256
container_minmem = 16
static_resource = false
shared_cpu_pool = true
hugepage_enable = false
[Xen]
sandbox_minimum_vcpu = 1
exclusive_dom0_cpu = false
image_path = /usr/local/share/mica/xen-image.bin
开发调试配置
[Mica]
debug = true
max_client_number = 4
firmware_path = /usr/local/share/mica/firmware.elf
[Resource]
max_container_vcpu = 2
container_maxmem = 256
container_minmem = 16
static_resource = false
shared_cpu_pool = false
hugepage_enable = false
[Xen]
sandbox_minimum_vcpu = 1
exclusive_dom0_cpu = false
image_path = /usr/local/share/mica/xen-image.bin
日志配置
日志配置位于 /etc/mica/micrun/config.json,由 logger 包读取。
配置结构:
{
"Log": {
"level": "info",
"file": "/var/log/mica/mica-runtime.log",
"color": false,
"caller": true
}
}
配置项 |
类型 |
默认值 |
说明 |
|---|---|---|---|
|
字符串 |
|
日志级别 (debug, info, warn, error) |
|
字符串 |
|
日志文件路径 |
|
布尔 |
|
是否启用颜色输出 |
|
布尔 |
|
是否显示调用位置 |
相关文档
MicRun 注解参考 - 注解配置
MicRun 资源映射参考 - 资源限制规则
MicRun 故障排查指南 - 配置问题排查