Reference documentation and code samples for the Google Cloud Container V1 Client class NodeKubeletConfig.
Node kubelet configs.
Generated from protobuf message google.container.v1.NodeKubeletConfig
Namespace
Google \ Cloud \ Container \ V1Methods
__construct
Constructor.
data
array
Optional. Data for populating the Message object.
↳ cpu_manager_policy
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.
↳ topology_manager
TopologyManager
Optional. Controls Topology Manager configuration on the node. For more information, see: https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/
↳ memory_manager
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
Google\Protobuf\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
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.
↳ pod_pids_limit
int|string
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.
↳ insecure_kubelet_readonly_port_enabled
bool
Enable or disable Kubelet read only port.
↳ image_gc_low_threshold_percent
int
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 image_gc_high_threshold_percent. The default value is 80 if unspecified.
↳ image_gc_high_threshold_percent
int
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 image_gc_low_threshold_percent. The default value is 85 if unspecified.
↳ image_minimum_gc_age
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.
↳ image_maximum_gc_age
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 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
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 (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
int
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.
↳ allowed_unsafe_sysctls
array
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.
↳ eviction_soft
EvictionSignals
Optional. eviction_soft 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.
↳ eviction_soft_grace_period
EvictionGracePeriod
Optional. eviction_soft_grace_period 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.
↳ eviction_minimum_reclaim
EvictionMinimumReclaim
Optional. eviction_minimum_reclaim 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.
↳ eviction_max_pod_grace_period_seconds
int
Optional. eviction_max_pod_grace_period_seconds 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].
↳ max_parallel_image_pulls
int
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.
↳ single_process_oom_kill
bool
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.
getCpuManagerPolicy
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.
string
setCpuManagerPolicy
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.
var
string
$this
getTopologyManager
Optional. Controls Topology Manager configuration on the node.
For more information, see: https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/
hasTopologyManager
clearTopologyManager
setTopologyManager
Optional. Controls Topology Manager configuration on the node.
For more information, see: https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/
$this
getMemoryManager
Optional. Controls NUMA-aware Memory Manager configuration on the node. For more information, see: https://kubernetes.io/docs/tasks/administer-cluster/memory-manager/
hasMemoryManager
clearMemoryManager
setMemoryManager
Optional. Controls NUMA-aware Memory Manager configuration on the node. For more information, see: https://kubernetes.io/docs/tasks/administer-cluster/memory-manager/
$this
getCpuCfsQuota
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.
hasCpuCfsQuota
clearCpuCfsQuota
getCpuCfsQuotaUnwrapped
Returns the unboxed value from getCpuCfsQuota()
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.
bool|null
setCpuCfsQuota
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.
$this
setCpuCfsQuotaUnwrapped
Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.
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.
var
bool|null
$this
getCpuCfsQuotaPeriod
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.
string
setCpuCfsQuotaPeriod
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.
var
string
$this
getPodPidsLimit
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.
int|string
setPodPidsLimit
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.
var
int|string
$this
getInsecureKubeletReadonlyPortEnabled
Enable or disable Kubelet read only port.
bool
hasInsecureKubeletReadonlyPortEnabled
clearInsecureKubeletReadonlyPortEnabled
setInsecureKubeletReadonlyPortEnabled
Enable or disable Kubelet read only port.
var
bool
$this
getImageGcLowThresholdPercent
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 image_gc_high_threshold_percent. The default value is 80 if unspecified.
int
setImageGcLowThresholdPercent
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 image_gc_high_threshold_percent. The default value is 80 if unspecified.
var
int
$this
getImageGcHighThresholdPercent
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 image_gc_low_threshold_percent. The default value is 85 if unspecified.
int
setImageGcHighThresholdPercent
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 image_gc_low_threshold_percent. The default value is 85 if unspecified.
var
int
$this
getImageMinimumGcAge
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.
string
setImageMinimumGcAge
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.
var
string
$this
getImageMaximumGcAge
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 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.
string
setImageMaximumGcAge
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 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.
var
string
$this
getContainerLogMaxSize
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 (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.
string
setContainerLogMaxSize
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 (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.
var
string
$this
getContainerLogMaxFiles
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.
int
setContainerLogMaxFiles
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.
var
int
$this
getAllowedUnsafeSysctls
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.
setAllowedUnsafeSysctls
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.
var
string[]
$this
getEvictionSoft
Optional. eviction_soft 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.
hasEvictionSoft
clearEvictionSoft
setEvictionSoft
Optional. eviction_soft 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.
$this
getEvictionSoftGracePeriod
Optional. eviction_soft_grace_period 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.
hasEvictionSoftGracePeriod
clearEvictionSoftGracePeriod
setEvictionSoftGracePeriod
Optional. eviction_soft_grace_period 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.
$this
getEvictionMinimumReclaim
Optional. eviction_minimum_reclaim 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.
hasEvictionMinimumReclaim
clearEvictionMinimumReclaim
setEvictionMinimumReclaim
Optional. eviction_minimum_reclaim 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.
$this
getEvictionMaxPodGracePeriodSeconds
Optional. eviction_max_pod_grace_period_seconds 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].
int
setEvictionMaxPodGracePeriodSeconds
Optional. eviction_max_pod_grace_period_seconds 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].
var
int
$this
getMaxParallelImagePulls
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.
int
setMaxParallelImagePulls
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.
var
int
$this
getSingleProcessOomKill
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.
bool
hasSingleProcessOomKill
clearSingleProcessOomKill
setSingleProcessOomKill
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.
var
bool
$this