NodeKubeletConfig

Node kubelet configs.

JSON representation
 { 
 "cpuManagerPolicy" 
 : 
 string 
 , 
 "topologyManager" 
 : 
 { 
 object (  TopologyManager 
 
) 
 } 
 , 
 "memoryManager" 
 : 
 { 
 object (  MemoryManager 
 
) 
 } 
 , 
 "cpuCfsQuota" 
 : 
 boolean 
 , 
 "cpuCfsQuotaPeriod" 
 : 
 string 
 , 
 "podPidsLimit" 
 : 
 string 
 , 
 "imageGcLowThresholdPercent" 
 : 
 integer 
 , 
 "imageGcHighThresholdPercent" 
 : 
 integer 
 , 
 "imageMinimumGcAge" 
 : 
 string 
 , 
 "imageMaximumGcAge" 
 : 
 string 
 , 
 "containerLogMaxSize" 
 : 
 string 
 , 
 "containerLogMaxFiles" 
 : 
 integer 
 , 
 "allowedUnsafeSysctls" 
 : 
 [ 
 string 
 ] 
 , 
 "evictionSoft" 
 : 
 { 
 object (  EvictionSignals 
 
) 
 } 
 , 
 "evictionSoftGracePeriod" 
 : 
 { 
 object (  EvictionGracePeriod 
 
) 
 } 
 , 
 "evictionMinimumReclaim" 
 : 
 { 
 object (  EvictionMinimumReclaim 
 
) 
 } 
 , 
 "evictionMaxPodGracePeriodSeconds" 
 : 
 integer 
 , 
 "maxParallelImagePulls" 
 : 
 integer 
 , 
 "insecureKubeletReadonlyPortEnabled" 
 : 
 boolean 
 , 
 "singleProcessOomKill" 
 : 
 boolean 
 } 
Fields
cpuManagerPolicy

string

Control 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.

topologyManager

object ( TopologyManager )

Optional. Controls Topology Manager configuration on the node. For more information, see: https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/

memoryManager

object ( MemoryManager )

Optional. Controls NUMA-aware Memory Manager configuration on the node. For more information, see: https://kubernetes.io/docs/tasks/administer-cluster/memory-manager/

cpuCfsQuota

boolean

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.

cpuCfsQuotaPeriod

string

Set 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.

podPidsLimit

string ( int64 format)

Set 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.

imageGcLowThresholdPercent

integer

Optional. 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 imageGcHighThresholdPercent.

The default value is 80 if unspecified.

imageGcHighThresholdPercent

integer

Optional. 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 imageGcLowThresholdPercent.

The default value is 85 if unspecified.

imageMinimumGcAge

string

Optional. 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.

imageMaximumGcAge

string

Optional. 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 imageMinimumGcAge 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.

containerLogMaxSize

string

Optional. 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 (containerLogMaxSize * containerLogMaxFiles) 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.

containerLogMaxFiles

integer

Optional. 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.

allowedUnsafeSysctls[]

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.

evictionSoft

object ( EvictionSignals )

Optional. evictionSoft is a map of signal names to quantities that defines soft eviction thresholds. Each signal is compared to its corresponding threshold to determine if a pod eviction should occur.

evictionSoftGracePeriod

object ( EvictionGracePeriod )

Optional. evictionSoftGracePeriod is a map of signal names to quantities that defines grace periods for each soft eviction signal. The grace period is the amount of time that a pod must be under pressure before an eviction occurs.

evictionMinimumReclaim

object ( EvictionMinimumReclaim )

Optional. evictionMinimumReclaim is a map of signal names to quantities that defines minimum reclaims, which describe the minimum amount of a given resource the kubelet will reclaim when performing a pod eviction while that resource is under pressure.

evictionMaxPodGracePeriodSeconds

integer

Optional. evictionMaxPodGracePeriodSeconds is the maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met. This value effectively caps the Pod's terminationGracePeriodSeconds value during soft evictions. Default: 0. Range: [0, 300].

maxParallelImagePulls

integer

Optional. Defines the maximum number of image pulls in parallel. The range is 2 to 5, inclusive. The default value is 2 or 3 depending on the disk type.

See https://kubernetes.io/docs/concepts/containers/images/#maximum-parallel-image-pulls for more details.

insecureKubeletReadonlyPortEnabled

boolean

Enable or disable Kubelet read only port.

singleProcessOomKill

boolean

Optional. Defines whether to enable single process OOM killer. If true, will prevent the memory.oom.group flag from being set for container cgroups in cgroups v2. This causes processes in the container to be OOM killed individually instead of as a group.

TopologyManager

TopologyManager defines the configuration options for Topology Manager feature. See https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/

JSON representation
 { 
 "policy" 
 : 
 string 
 , 
 "scope" 
 : 
 string 
 } 
Fields
policy

string

Configures the strategy for resource alignment. Allowed values are:

  • none: the default policy, and does not perform any topology alignment.
  • restricted: the topology manager stores the preferred NUMA node affinity for the container, and will reject the pod if the affinity if not preferred.
  • best-effort: the topology manager stores the preferred NUMA node affinity for the container. If the affinity is not preferred, the topology manager will admit the pod to the node anyway.
  • single-numa-node: the topology manager determines if the single NUMA node affinity is possible. If it is, Topology Manager will store this and the Hint Providers can then use this information when making the resource allocation decision. If, however, this is not possible then the Topology Manager will reject the pod from the node. This will result in a pod in a Terminated state with a pod admission failure.

The default policy value is 'none' if unspecified. Details about each strategy can be found here .

scope

string

The Topology Manager aligns resources in following scopes:

  • container
  • pod

The default scope is 'container' if unspecified. See https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/#topology-manager-scopes

MemoryManager

The option enables the Kubernetes NUMA-aware Memory Manager feature. Detailed description about the feature can be found here .

JSON representation
 { 
 "policy" 
 : 
 string 
 } 
Fields
policy

string

Controls the memory management policy on the Node. See https://kubernetes.io/docs/tasks/administer-cluster/memory-manager/#policies

The following values are allowed. * "none" * "static" The default value is 'none' if unspecified.

EvictionSignals

Eviction signals are the current state of a particular resource at a specific point in time. The kubelet uses eviction signals to make eviction decisions by comparing the signals to eviction thresholds, which are the minimum amount of the resource that should be available on the node.

JSON representation
 { 
 "memoryAvailable" 
 : 
 string 
 , 
 "nodefsAvailable" 
 : 
 string 
 , 
 "nodefsInodesFree" 
 : 
 string 
 , 
 "imagefsAvailable" 
 : 
 string 
 , 
 "imagefsInodesFree" 
 : 
 string 
 , 
 "pidAvailable" 
 : 
 string 
 } 
Fields
memoryAvailable

string

Optional. Memory available (i.e. capacity - workingSet), in bytes. Defines the amount of "memory.available" signal in kubelet. Default is unset, if not specified in the kubelet config. Format: positive number + unit, e.g. 100Ki, 10Mi, 5Gi. Valid units are Ki, Mi, Gi. Must be >= 100Mi and <= 50% of the node's memory. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

nodefsAvailable

string

Optional. Amount of storage available on filesystem that kubelet uses for volumes, daemon logs, etc. Defines the amount of "nodefs.available" signal in kubelet. Default is unset, if not specified in the kubelet config. It takses percentage value for now. Sample format: "30%". Must be >= 10% and <= 50%. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

nodefsInodesFree

string

Optional. Amount of inodes available on filesystem that kubelet uses for volumes, daemon logs, etc. Defines the amount of "nodefs.inodesFree" signal in kubelet. Default is unset, if not specified in the kubelet config. Linux only. It takses percentage value for now. Sample format: "30%". Must be >= 5% and <= 50%. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

imagefsAvailable

string

Optional. Amount of storage available on filesystem that container runtime uses for storing images layers. If the container filesystem and image filesystem are not separate, then imagefs can store both image layers and writeable layers. Defines the amount of "imagefs.available" signal in kubelet. Default is unset, if not specified in the kubelet config. It takses percentage value for now. Sample format: "30%". Must be >= 15% and <= 50%. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

imagefsInodesFree

string

Optional. Amount of inodes available on filesystem that container runtime uses for storing images layers. Defines the amount of "imagefs.inodesFree" signal in kubelet. Default is unset, if not specified in the kubelet config. Linux only. It takses percentage value for now. Sample format: "30%". Must be >= 5% and <= 50%. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

pidAvailable

string

Optional. Amount of PID available for pod allocation. Defines the amount of "pid.available" signal in kubelet. Default is unset, if not specified in the kubelet config. It takses percentage value for now. Sample format: "30%". Must be >= 10% and <= 50%. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

EvictionGracePeriod

Eviction grace periods are grace periods for each eviction signal.

JSON representation
 { 
 "memoryAvailable" 
 : 
 string 
 , 
 "nodefsAvailable" 
 : 
 string 
 , 
 "nodefsInodesFree" 
 : 
 string 
 , 
 "imagefsAvailable" 
 : 
 string 
 , 
 "imagefsInodesFree" 
 : 
 string 
 , 
 "pidAvailable" 
 : 
 string 
 } 
Fields
memoryAvailable

string

Optional. Grace period for eviction due to memory available signal. Sample format: "10s". Must be >= 0. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

nodefsAvailable

string

Optional. Grace period for eviction due to nodefs available signal. Sample format: "10s". Must be >= 0. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

nodefsInodesFree

string

Optional. Grace period for eviction due to nodefs inodes free signal. Sample format: "10s". Must be >= 0. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

imagefsAvailable

string

Optional. Grace period for eviction due to imagefs available signal. Sample format: "10s". Must be >= 0. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

imagefsInodesFree

string

Optional. Grace period for eviction due to imagefs inodes free signal. Sample format: "10s". Must be >= 0. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

pidAvailable

string

Optional. Grace period for eviction due to pid available signal. Sample format: "10s". Must be >= 0. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

EvictionMinimumReclaim

Eviction minimum reclaims are the resource amounts of minimum reclaims for each eviction signal.

JSON representation
 { 
 "memoryAvailable" 
 : 
 string 
 , 
 "nodefsAvailable" 
 : 
 string 
 , 
 "nodefsInodesFree" 
 : 
 string 
 , 
 "imagefsAvailable" 
 : 
 string 
 , 
 "imagefsInodesFree" 
 : 
 string 
 , 
 "pidAvailable" 
 : 
 string 
 } 
Fields
memoryAvailable

string

Optional. Minimum reclaim for eviction due to memory available signal. Only take percentage value for now. Sample format: "10%". Must be <=10%. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

nodefsAvailable

string

Optional. Minimum reclaim for eviction due to nodefs available signal. Only take percentage value for now. Sample format: "10%". Must be <=10%. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

nodefsInodesFree

string

Optional. Minimum reclaim for eviction due to nodefs inodes free signal. Only take percentage value for now. Sample format: "10%". Must be <=10%. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

imagefsAvailable

string

Optional. Minimum reclaim for eviction due to imagefs available signal. Only take percentage value for now. Sample format: "10%". Must be <=10%. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

imagefsInodesFree

string

Optional. Minimum reclaim for eviction due to imagefs inodes free signal. Only take percentage value for now. Sample format: "10%". Must be <=10%. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

pidAvailable

string

Optional. Minimum reclaim for eviction due to pid available signal. Only take percentage value for now. Sample format: "10%". Must be <=10%. See https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals

Create a Mobile Website
View Site in Mobile | Classic
Share by: