Google Kubernetes Engine v1 API - Class NodeKubeletConfig (3.35.0)

public sealed class NodeKubeletConfig : IMessage<NodeKubeletConfig>, IEquatable<NodeKubeletConfig>, IDeepCloneable<NodeKubeletConfig>, IBufferMessage, IMessage

Reference documentation and code samples for the Google Kubernetes Engine v1 API class NodeKubeletConfig.

Node kubelet configs.

Inheritance

object > NodeKubeletConfig

Namespace

Google.Cloud.Container.V1

Assembly

Google.Cloud.Container.V1.dll

Constructors

NodeKubeletConfig()

public NodeKubeletConfig()

NodeKubeletConfig(NodeKubeletConfig)

public NodeKubeletConfig(NodeKubeletConfig other)
Parameter
Name Description
other NodeKubeletConfig

Properties

AllowedUnsafeSysctls

public RepeatedField<string> AllowedUnsafeSysctls { get; }

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.

Property Value
Type Description
RepeatedFieldstring

ContainerLogMaxFiles

public int ContainerLogMaxFiles { get; set; }

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.

Property Value
Type Description
int

ContainerLogMaxSize

public string ContainerLogMaxSize { get; set; }

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.

Property Value
Type Description
string

CpuCfsQuota

public bool? CpuCfsQuota { get; set; }

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.

Property Value
Type Description
bool

CpuCfsQuotaPeriod

public string CpuCfsQuotaPeriod { get; set; }

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.

Property Value
Type Description
string

CpuManagerPolicy

public string CpuManagerPolicy { get; set; }

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.
Property Value
Type Description
string

EvictionMaxPodGracePeriodSeconds

public int EvictionMaxPodGracePeriodSeconds { get; set; }

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

Property Value
Type Description
int

EvictionMinimumReclaim

public EvictionMinimumReclaim EvictionMinimumReclaim { get; set; }

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.

Property Value
Type Description
EvictionMinimumReclaim

EvictionSoft

public EvictionSignals EvictionSoft { get; set; }

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.

Property Value
Type Description
EvictionSignals

EvictionSoftGracePeriod

public EvictionGracePeriod EvictionSoftGracePeriod { get; set; }

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.

Property Value
Type Description
EvictionGracePeriod

HasInsecureKubeletReadonlyPortEnabled

public bool HasInsecureKubeletReadonlyPortEnabled { get; }

Gets whether the "insecure_kubelet_readonly_port_enabled" field is set

Property Value
Type Description
bool

HasSingleProcessOomKill

public bool HasSingleProcessOomKill { get; }

Gets whether the "single_process_oom_kill" field is set

Property Value
Type Description
bool

ImageGcHighThresholdPercent

public int ImageGcHighThresholdPercent { get; set; }

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.

Property Value
Type Description
int

ImageGcLowThresholdPercent

public int ImageGcLowThresholdPercent { get; set; }

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.

Property Value
Type Description
int

ImageMaximumGcAge

public string ImageMaximumGcAge { get; set; }

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.

Property Value
Type Description
string

ImageMinimumGcAge

public string ImageMinimumGcAge { get; set; }

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.

Property Value
Type Description
string

InsecureKubeletReadonlyPortEnabled

public bool InsecureKubeletReadonlyPortEnabled { get; set; }

Enable or disable Kubelet read only port.

Property Value
Type Description
bool

MaxParallelImagePulls

public int MaxParallelImagePulls { get; set; }

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.

Property Value
Type Description
int

MemoryManager

public MemoryManager MemoryManager { get; set; }

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

Property Value
Type Description
MemoryManager

PodPidsLimit

public long PodPidsLimit { get; set; }

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.

Property Value
Type Description
long

SingleProcessOomKill

public bool SingleProcessOomKill { get; set; }

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.

Property Value
Type Description
bool

TopologyManager

public TopologyManager TopologyManager { get; set; }

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

Property Value
Type Description
TopologyManager