Class: Google::Apis::ContainerV1beta1::NodeKubeletConfig
- Inherits:
-
Object
- Object
- Google::Apis::ContainerV1beta1::NodeKubeletConfig
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/container_v1beta1/classes.rb,
lib/google/apis/container_v1beta1/representations.rb,
lib/google/apis/container_v1beta1/representations.rb
Overview
Node kubelet configs.
Instance Attribute Summary collapse
-
#allowed_unsafe_sysctls ⇒ Array<String>
Optional.
-
#container_log_max_files ⇒ Fixnum
Optional.
-
#container_log_max_size ⇒ String
Optional.
-
#cpu_cfs_quota ⇒ Boolean
(also: #cpu_cfs_quota?)
Enable CPU CFS quota enforcement for containers that specify CPU limits.
-
#cpu_cfs_quota_period ⇒ String
Set the CPU CFS quota period value 'cpu.cfs_period_us'.
-
#cpu_manager_policy ⇒ String
Control the CPU management policy on the node.
-
#crash_loop_back_off ⇒ Google::Apis::ContainerV1beta1::CrashLoopBackOffConfig
Contains config to modify node-level parameters for container restart behavior.
-
#eviction_max_pod_grace_period_seconds ⇒ Fixnum
Optional.
-
#eviction_minimum_reclaim ⇒ Google::Apis::ContainerV1beta1::EvictionMinimumReclaim
Eviction minimum reclaims are the resource amounts of minimum reclaims for each eviction signal.
-
#eviction_soft ⇒ Google::Apis::ContainerV1beta1::EvictionSignals
Eviction signals are the current state of a particular resource at a specific point in time.
-
#eviction_soft_grace_period ⇒ Google::Apis::ContainerV1beta1::EvictionGracePeriod
Eviction grace periods are grace periods for each eviction signal.
-
#image_gc_high_threshold_percent ⇒ Fixnum
Optional.
-
#image_gc_low_threshold_percent ⇒ Fixnum
Optional.
-
#image_maximum_gc_age ⇒ String
Optional.
-
#image_minimum_gc_age ⇒ String
Optional.
-
#insecure_kubelet_readonly_port_enabled ⇒ Boolean
(also: #insecure_kubelet_readonly_port_enabled?)
Enable or disable Kubelet read only port.
-
#max_parallel_image_pulls ⇒ Fixnum
Optional.
-
#memory_manager ⇒ Google::Apis::ContainerV1beta1::MemoryManager
The option enables the Kubernetes NUMA-aware Memory Manager feature.
-
#pod_pids_limit ⇒ Fixnum
Set the Pod PID limits.
-
#shutdown_grace_period_critical_pods_seconds ⇒ Fixnum
Optional.
-
#shutdown_grace_period_seconds ⇒ Fixnum
Optional.
-
#single_process_oom_kill ⇒ Boolean
(also: #single_process_oom_kill?)
Optional.
-
#topology_manager ⇒ Google::Apis::ContainerV1beta1::TopologyManager
TopologyManager defines the configuration options for the
kubeletTopology Manager component.
Instance Method Summary collapse
-
#initialize(**args) ⇒ NodeKubeletConfig
constructor
A new instance of NodeKubeletConfig.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ NodeKubeletConfig
Returns a new instance of NodeKubeletConfig.
7393 7394 7395 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7393 def initialize(**args) update!(**args) end |
Instance Attribute Details
#allowed_unsafe_sysctls ⇒ Array<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.
Corresponds to the JSON property allowedUnsafeSysctls
7202 7203 7204 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7202 def allowed_unsafe_sysctls @allowed_unsafe_sysctls end |
#container_log_max_files ⇒ Fixnum
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.
Corresponds to the JSON property containerLogMaxFiles
7210 7211 7212 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7210 def container_log_max_files @container_log_max_files end |
#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.
Corresponds to the JSON property containerLogMaxSize
7222 7223 7224 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7222 def container_log_max_size @container_log_max_size end |
#cpu_cfs_quota ⇒ Boolean Also known as: cpu_cfs_quota?
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.
Corresponds to the JSON property cpuCfsQuota
7233 7234 7235 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7233 def cpu_cfs_quota @cpu_cfs_quota end |
#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 between 1ms and 1 second, inclusive.
Corresponds to the JSON property cpuCfsQuotaPeriod
7242 7243 7244 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7242 def cpu_cfs_quota_period @cpu_cfs_quota_period end |
#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.
Corresponds to the JSON property cpuManagerPolicy
7252 7253 7254 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7252 def cpu_manager_policy @cpu_manager_policy end |
#crash_loop_back_off ⇒ Google::Apis::ContainerV1beta1::CrashLoopBackOffConfig
Contains config to modify node-level parameters for container restart behavior.
Corresponds to the JSON property crashLoopBackOff
7257 7258 7259 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7257 def crash_loop_back_off @crash_loop_back_off end |
#eviction_max_pod_grace_period_seconds ⇒ Fixnum
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].
Corresponds to the JSON property evictionMaxPodGracePeriodSeconds
7266 7267 7268 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7266 def eviction_max_pod_grace_period_seconds @eviction_max_pod_grace_period_seconds end |
#eviction_minimum_reclaim ⇒ Google::Apis::ContainerV1beta1::EvictionMinimumReclaim
Eviction minimum reclaims are the resource amounts of minimum reclaims for
each eviction signal.
Corresponds to the JSON property evictionMinimumReclaim
7272 7273 7274 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7272 def eviction_minimum_reclaim @eviction_minimum_reclaim end |
#eviction_soft ⇒ Google::Apis::ContainerV1beta1::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.
Corresponds to the JSON property evictionSoft
7280 7281 7282 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7280 def eviction_soft @eviction_soft end |
#eviction_soft_grace_period ⇒ Google::Apis::ContainerV1beta1::EvictionGracePeriod
Eviction grace periods are grace periods for each eviction signal.
Corresponds to the JSON property evictionSoftGracePeriod
7285 7286 7287 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7285 def eviction_soft_grace_period @eviction_soft_grace_period end |
#image_gc_high_threshold_percent ⇒ Fixnum
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
- The value must be between 10 and 85, inclusive and greater than
image_gc_low_threshold_percent. The default value is 85 if unspecified.
Corresponds to the JSON property
imageGcHighThresholdPercent
7293 7294 7295 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7293 def image_gc_high_threshold_percent @image_gc_high_threshold_percent end |
#image_gc_low_threshold_percent ⇒ Fixnum
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.
Corresponds to the JSON property imageGcLowThresholdPercent
7302 7303 7304 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7302 def image_gc_low_threshold_percent @image_gc_low_threshold_percent end |
#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.
Corresponds to the JSON property imageMaximumGcAge
7313 7314 7315 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7313 def image_maximum_gc_age @image_maximum_gc_age end |
#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.
Corresponds to the JSON property imageMinimumGcAge
7323 7324 7325 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7323 def image_minimum_gc_age @image_minimum_gc_age end |
#insecure_kubelet_readonly_port_enabled ⇒ Boolean Also known as: insecure_kubelet_readonly_port_enabled?
Enable or disable Kubelet read only port.
Corresponds to the JSON property insecureKubeletReadonlyPortEnabled
7328 7329 7330 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7328 def insecure_kubelet_readonly_port_enabled @insecure_kubelet_readonly_port_enabled end |
#max_parallel_image_pulls ⇒ Fixnum
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.
Corresponds to the JSON property maxParallelImagePulls
7337 7338 7339 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7337 def max_parallel_image_pulls @max_parallel_image_pulls end |
#memory_manager ⇒ Google::Apis::ContainerV1beta1::MemoryManager
The option enables the Kubernetes NUMA-aware Memory Manager feature. Detailed
description about the feature can be found here.
Corresponds to the JSON property memoryManager
7344 7345 7346 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7344 def memory_manager @memory_manager end |
#pod_pids_limit ⇒ Fixnum
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.
Corresponds to the JSON property podPidsLimit
7352 7353 7354 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7352 def pod_pids_limit @pod_pids_limit end |
#shutdown_grace_period_critical_pods_seconds ⇒ Fixnum
Optional. shutdown_grace_period_critical_pods_seconds is the maximum allowed
grace period (in seconds) used to terminate critical pods during a node
shutdown. This value should be <= shutdown_grace_period_seconds, and is only
valid if shutdown_grace_period_seconds is set. https://kubernetes.io/docs/
concepts/cluster-administration/node-shutdown/ Range: [0, 120].
Corresponds to the JSON property shutdownGracePeriodCriticalPodsSeconds
7361 7362 7363 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7361 def shutdown_grace_period_critical_pods_seconds @shutdown_grace_period_critical_pods_seconds end |
#shutdown_grace_period_seconds ⇒ Fixnum
Optional. shutdown_grace_period_seconds is the maximum allowed grace period (
in seconds) the total duration that the node should delay the shutdown during
a graceful shutdown. This is the total grace period for pod termination for
both regular and critical pods. https://kubernetes.io/docs/concepts/cluster-
administration/node-shutdown/ If set to 0, node will not enable the graceful
node shutdown functionality. This field is only valid for Spot VMs. Allowed
values: 0, 30, 120.
Corresponds to the JSON property shutdownGracePeriodSeconds
7372 7373 7374 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7372 def shutdown_grace_period_seconds @shutdown_grace_period_seconds end |
#single_process_oom_kill ⇒ Boolean Also known as: single_process_oom_kill?
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.
Corresponds to the JSON property singleProcessOomKill
7380 7381 7382 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7380 def single_process_oom_kill @single_process_oom_kill end |
#topology_manager ⇒ Google::Apis::ContainerV1beta1::TopologyManager
TopologyManager defines the configuration options for the kubelet Topology
Manager component. For more information about the supported machine types and
versions for the Topology Manager in GKE, see Customizing node system
configuration.
Corresponds to the JSON property topologyManager
7391 7392 7393 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7391 def topology_manager @topology_manager end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 |
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7398 def update!(**args) @allowed_unsafe_sysctls = args[:allowed_unsafe_sysctls] if args.key?(:allowed_unsafe_sysctls) @container_log_max_files = args[:container_log_max_files] if args.key?(:container_log_max_files) @container_log_max_size = args[:container_log_max_size] if args.key?(:container_log_max_size) @cpu_cfs_quota = args[:cpu_cfs_quota] if args.key?(:cpu_cfs_quota) @cpu_cfs_quota_period = args[:cpu_cfs_quota_period] if args.key?(:cpu_cfs_quota_period) @cpu_manager_policy = args[:cpu_manager_policy] if args.key?(:cpu_manager_policy) @crash_loop_back_off = args[:crash_loop_back_off] if args.key?(:crash_loop_back_off) @eviction_max_pod_grace_period_seconds = args[:eviction_max_pod_grace_period_seconds] if args.key?(:eviction_max_pod_grace_period_seconds) @eviction_minimum_reclaim = args[:eviction_minimum_reclaim] if args.key?(:eviction_minimum_reclaim) @eviction_soft = args[:eviction_soft] if args.key?(:eviction_soft) @eviction_soft_grace_period = args[:eviction_soft_grace_period] if args.key?(:eviction_soft_grace_period) @image_gc_high_threshold_percent = args[:image_gc_high_threshold_percent] if args.key?(:image_gc_high_threshold_percent) @image_gc_low_threshold_percent = args[:image_gc_low_threshold_percent] if args.key?(:image_gc_low_threshold_percent) @image_maximum_gc_age = args[:image_maximum_gc_age] if args.key?(:image_maximum_gc_age) @image_minimum_gc_age = args[:image_minimum_gc_age] if args.key?(:image_minimum_gc_age) @insecure_kubelet_readonly_port_enabled = args[:insecure_kubelet_readonly_port_enabled] if args.key?(:insecure_kubelet_readonly_port_enabled) @max_parallel_image_pulls = args[:max_parallel_image_pulls] if args.key?(:max_parallel_image_pulls) @memory_manager = args[:memory_manager] if args.key?(:memory_manager) @pod_pids_limit = args[:pod_pids_limit] if args.key?(:pod_pids_limit) @shutdown_grace_period_critical_pods_seconds = args[:shutdown_grace_period_critical_pods_seconds] if args.key?(:shutdown_grace_period_critical_pods_seconds) @shutdown_grace_period_seconds = args[:shutdown_grace_period_seconds] if args.key?(:shutdown_grace_period_seconds) @single_process_oom_kill = args[:single_process_oom_kill] if args.key?(:single_process_oom_kill) @topology_manager = args[:topology_manager] if args.key?(:topology_manager) end |