#[non_exhaustive]pub struct NodeKubeletConfig {Show 14 fields
pub cpu_manager_policy: String,
pub topology_manager: Option<TopologyManager>,
pub memory_manager: Option<MemoryManager>,
pub cpu_cfs_quota: Option<BoolValue>,
pub cpu_cfs_quota_period: String,
pub pod_pids_limit: i64,
pub insecure_kubelet_readonly_port_enabled: Option<bool>,
pub image_gc_low_threshold_percent: i32,
pub image_gc_high_threshold_percent: i32,
pub image_minimum_gc_age: String,
pub image_maximum_gc_age: String,
pub container_log_max_size: String,
pub container_log_max_files: i32,
pub allowed_unsafe_sysctls: Vec<String>,
/* private fields */
}Expand description
Node kubelet configs.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.cpu_manager_policy: StringControl the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
The following values are allowed.
- “none”: the default, which represents the existing scheduling behavior.
- “static”: allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is ‘none’ if unspecified.
topology_manager: Option<TopologyManager>Optional. Controls Topology Manager configuration on the node. For more information, see: https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/
memory_manager: Option<MemoryManager>Optional. Controls NUMA-aware Memory Manager configuration on the node. For more information, see: https://kubernetes.io/docs/tasks/administer-cluster/memory-manager/
cpu_cfs_quota: Option<BoolValue>Enable CPU CFS quota enforcement for containers that specify CPU limits.
This option is enabled by default which makes kubelet use CFS quota (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to enforce container CPU limits. Otherwise, CPU limits will not be enforced at all.
Disable this option to mitigate CPU throttling problems while still having your pods to be in Guaranteed QoS class by specifying the CPU limits.
The default value is ‘true’ if unspecified.
cpu_cfs_quota_period: StringSet the CPU CFS quota period value ‘cpu.cfs_period_us’.
The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as “300ms”. Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h”. The value must be a positive duration.
pod_pids_limit: i64Set the Pod PID limits. See https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits
Controls the maximum number of processes allowed to run in a pod. The value must be greater than or equal to 1024 and less than 4194304.
insecure_kubelet_readonly_port_enabled: Option<bool>Enable or disable Kubelet read only port.
image_gc_low_threshold_percent: i32Optional. Defines the percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to. The percent is calculated as this field value out of 100.
The value must be between 10 and 85, inclusive and smaller than image_gc_high_threshold_percent.
The default value is 80 if unspecified.
image_gc_high_threshold_percent: i32Optional. Defines the percent of disk usage after which image garbage collection is always run. The percent is calculated as this field value out of 100.
The value must be between 10 and 85, inclusive and greater than image_gc_low_threshold_percent.
The default value is 85 if unspecified.
image_minimum_gc_age: StringOptional. Defines the minimum age for an unused image before it is garbage collected.
The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as “300s”, “1.5h”, and “2h45m”. Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h”.
The value must be a positive duration less than or equal to 2 minutes.
The default value is “2m0s” if unspecified.
image_maximum_gc_age: StringOptional. Defines the maximum age an image can be unused before it is garbage collected. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as “300s”, “1.5h”, and “2h45m”. Valid time units are “ns”, “us” (or “µs”), “ms”, “s”, “m”, “h”.
The value must be a positive duration greater than image_minimum_gc_age or “0s”.
The default value is “0s” if unspecified, which disables this field, meaning images won’t be garbage collected based on being unused for too long.
container_log_max_size: StringOptional. Defines the maximum size of the container log file before it is rotated. See https://kubernetes.io/docs/concepts/cluster-administration/logging/#log-rotation
Valid format is positive number + unit, e.g. 100Ki, 10Mi. Valid units are Ki, Mi, Gi. The value must be between 10Mi and 500Mi, inclusive.
Note that the total container log size (container_log_max_size * container_log_max_files) cannot exceed 1% of the total storage of the node, to avoid disk pressure caused by log files.
The default value is 10Mi if unspecified.
container_log_max_files: i32Optional. Defines the maximum number of container log files that can be present for a container. See https://kubernetes.io/docs/concepts/cluster-administration/logging/#log-rotation
The value must be an integer between 2 and 10, inclusive. The default value is 5 if unspecified.
allowed_unsafe_sysctls: Vec<String>Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl
patterns (ending in *).
The unsafe namespaced sysctl groups are kernel.shm*, kernel.msg*,
kernel.sem, fs.mqueue.*, and net.*. Leaving this allowlist empty
means they cannot be set on Pods.
To allow certain sysctls or sysctl patterns to be set on Pods, list them
separated by commas.
For example: kernel.msg*,net.ipv4.route.min_pmtu.
See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for more details.
Implementations§
Source§impl NodeKubeletConfig
impl NodeKubeletConfig
pub fn new() -> Self
Sourcepub fn set_cpu_manager_policy<T: Into<String>>(self, v: T) -> Self
pub fn set_cpu_manager_policy<T: Into<String>>(self, v: T) -> Self
Sets the value of cpu_manager_policy.
Sourcepub fn set_topology_manager<T>(self, v: T) -> Selfwhere
T: Into<TopologyManager>,
pub fn set_topology_manager<T>(self, v: T) -> Selfwhere
T: Into<TopologyManager>,
Sets the value of topology_manager.
Sourcepub fn set_or_clear_topology_manager<T>(self, v: Option<T>) -> Selfwhere
T: Into<TopologyManager>,
pub fn set_or_clear_topology_manager<T>(self, v: Option<T>) -> Selfwhere
T: Into<TopologyManager>,
Sets or clears the value of topology_manager.
Sourcepub fn set_memory_manager<T>(self, v: T) -> Selfwhere
T: Into<MemoryManager>,
pub fn set_memory_manager<T>(self, v: T) -> Selfwhere
T: Into<MemoryManager>,
Sets the value of memory_manager.
Sourcepub fn set_or_clear_memory_manager<T>(self, v: Option<T>) -> Selfwhere
T: Into<MemoryManager>,
pub fn set_or_clear_memory_manager<T>(self, v: Option<T>) -> Selfwhere
T: Into<MemoryManager>,
Sets or clears the value of memory_manager.
Sourcepub fn set_cpu_cfs_quota<T>(self, v: T) -> Self
pub fn set_cpu_cfs_quota<T>(self, v: T) -> Self
Sets the value of cpu_cfs_quota.
Sourcepub fn set_or_clear_cpu_cfs_quota<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_cpu_cfs_quota<T>(self, v: Option<T>) -> Self
Sets or clears the value of cpu_cfs_quota.
Sourcepub fn set_cpu_cfs_quota_period<T: Into<String>>(self, v: T) -> Self
pub fn set_cpu_cfs_quota_period<T: Into<String>>(self, v: T) -> Self
Sets the value of cpu_cfs_quota_period.
Sourcepub fn set_pod_pids_limit<T: Into<i64>>(self, v: T) -> Self
pub fn set_pod_pids_limit<T: Into<i64>>(self, v: T) -> Self
Sets the value of pod_pids_limit.
Sourcepub fn set_insecure_kubelet_readonly_port_enabled<T>(self, v: T) -> Self
pub fn set_insecure_kubelet_readonly_port_enabled<T>(self, v: T) -> Self
Sets the value of insecure_kubelet_readonly_port_enabled.
Sourcepub fn set_or_clear_insecure_kubelet_readonly_port_enabled<T>(
self,
v: Option<T>,
) -> Self
pub fn set_or_clear_insecure_kubelet_readonly_port_enabled<T>( self, v: Option<T>, ) -> Self
Sets or clears the value of insecure_kubelet_readonly_port_enabled.
Sourcepub fn set_image_gc_low_threshold_percent<T: Into<i32>>(self, v: T) -> Self
pub fn set_image_gc_low_threshold_percent<T: Into<i32>>(self, v: T) -> Self
Sets the value of image_gc_low_threshold_percent.
Sourcepub fn set_image_gc_high_threshold_percent<T: Into<i32>>(self, v: T) -> Self
pub fn set_image_gc_high_threshold_percent<T: Into<i32>>(self, v: T) -> Self
Sets the value of image_gc_high_threshold_percent.
Sourcepub fn set_image_minimum_gc_age<T: Into<String>>(self, v: T) -> Self
pub fn set_image_minimum_gc_age<T: Into<String>>(self, v: T) -> Self
Sets the value of image_minimum_gc_age.
Sourcepub fn set_image_maximum_gc_age<T: Into<String>>(self, v: T) -> Self
pub fn set_image_maximum_gc_age<T: Into<String>>(self, v: T) -> Self
Sets the value of image_maximum_gc_age.
Sourcepub fn set_container_log_max_size<T: Into<String>>(self, v: T) -> Self
pub fn set_container_log_max_size<T: Into<String>>(self, v: T) -> Self
Sets the value of container_log_max_size.
Sourcepub fn set_container_log_max_files<T: Into<i32>>(self, v: T) -> Self
pub fn set_container_log_max_files<T: Into<i32>>(self, v: T) -> Self
Sets the value of container_log_max_files.
Sourcepub fn set_allowed_unsafe_sysctls<T, V>(self, v: T) -> Self
pub fn set_allowed_unsafe_sysctls<T, V>(self, v: T) -> Self
Sets the value of allowed_unsafe_sysctls.
Trait Implementations§
Source§impl Clone for NodeKubeletConfig
impl Clone for NodeKubeletConfig
Source§fn clone(&self) -> NodeKubeletConfig
fn clone(&self) -> NodeKubeletConfig
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source. Read more