mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-29 04:04:45 +00:00
feat(runtime): make static resource management consistent with 2.0
* add doc in the configuration * make entry consistent with 2.0 Fixes: #6313 Signed-off-by: Ji-Xinyou <jerryji0414@outlook.com>
This commit is contained in:
parent
b7fe29f033
commit
919d19f415
@ -103,8 +103,9 @@ pub struct Runtime {
|
||||
pub enable_pprof: bool,
|
||||
|
||||
/// If enabled, static resource management will calculate the vcpu and memory for the sandbox/container
|
||||
/// And pod configured this will not be able to further update its CPU/Memory resource
|
||||
#[serde(default)]
|
||||
pub static_resource_mgmt: bool,
|
||||
pub static_sandbox_resource_mgmt: bool,
|
||||
|
||||
/// Determines whether container seccomp profiles are passed to the virtual machine and
|
||||
/// applied by the kata agent. If set to true, seccomp is not applied within the guest.
|
||||
|
@ -293,5 +293,12 @@ experimental=@DEFAULTEXPFEATURES@
|
||||
# (default: false)
|
||||
# enable_pprof = true
|
||||
|
||||
static_resource_mgmt=@DEFSTATICRESOURCEMGMT_DB@
|
||||
# If enabled, the runtime will attempt to determine appropriate sandbox size (memory, CPU) before booting the virtual machine. In
|
||||
# this case, the runtime will not dynamically update the amount of memory and CPU in the virtual machine. This is generally helpful
|
||||
# when a hardware architecture or hypervisor solutions is utilized which does not support CPU and/or memory hotplug.
|
||||
# Compatibility for determining appropriate sandbox (VM) size:
|
||||
# - When running with pods, sandbox sizing information will only be available if using Kubernetes >= 1.23 and containerd >= 1.6. CRI-O
|
||||
# does not yet support sandbox sizing annotations.
|
||||
# - When running single containers using a tool like ctr, container sizing information will be available.
|
||||
static_sandbox_resource_mgmt=@DEFSTATICRESOURCEMGMT_DB@
|
||||
|
||||
|
@ -374,7 +374,7 @@ fn load_config(spec: &oci::Spec, option: &Option<Vec<u8>>) -> Result<TomlConfig>
|
||||
// 2. If this is not a sandbox infrastructure container, but instead a standalone single container (analogous to "docker run..."),
|
||||
// then the container spec itself will contain appropriate sizing information for the entire sandbox (since it is
|
||||
// a single container.
|
||||
if toml_config.runtime.static_resource_mgmt {
|
||||
if toml_config.runtime.static_sandbox_resource_mgmt {
|
||||
info!(sl!(), "static resource management enabled");
|
||||
let static_resource_manager = StaticResourceManager::new(spec)
|
||||
.context("failed to construct static resource manager")?;
|
||||
@ -382,6 +382,7 @@ fn load_config(spec: &oci::Spec, option: &Option<Vec<u8>>) -> Result<TomlConfig>
|
||||
.setup_config(&mut toml_config)
|
||||
.context("failed to setup static resource mgmt config")?;
|
||||
}
|
||||
|
||||
info!(sl!(), "get config content {:?}", &toml_config);
|
||||
Ok(toml_config)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user