Class: Google::Apis::ContainerV1beta1::NodeKubeletConfig

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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_sysctlsArray<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

Returns:

  • (Array<String>)


7202
7203
7204
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7202

def allowed_unsafe_sysctls
  @allowed_unsafe_sysctls
end

#container_log_max_filesFixnum

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

Returns:

  • (Fixnum)


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_sizeString

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

Returns:

  • (String)


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_quotaBoolean 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

Returns:

  • (Boolean)


7233
7234
7235
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7233

def cpu_cfs_quota
  @cpu_cfs_quota
end

#cpu_cfs_quota_periodString

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

Returns:

  • (String)


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_policyString

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

Returns:

  • (String)


7252
7253
7254
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7252

def cpu_manager_policy
  @cpu_manager_policy
end

#crash_loop_back_offGoogle::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_secondsFixnum

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

Returns:

  • (Fixnum)


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_reclaimGoogle::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_softGoogle::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_periodGoogle::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_percentFixnum

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

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

Returns:

  • (Fixnum)


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_percentFixnum

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

Returns:

  • (Fixnum)


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_ageString

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

Returns:

  • (String)


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_ageString

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

Returns:

  • (String)


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_enabledBoolean Also known as: insecure_kubelet_readonly_port_enabled?

Enable or disable Kubelet read only port. Corresponds to the JSON property insecureKubeletReadonlyPortEnabled

Returns:

  • (Boolean)


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_pullsFixnum

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

Returns:

  • (Fixnum)


7337
7338
7339
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7337

def max_parallel_image_pulls
  @max_parallel_image_pulls
end

#memory_managerGoogle::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_limitFixnum

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

Returns:

  • (Fixnum)


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_secondsFixnum

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

Returns:

  • (Fixnum)


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_secondsFixnum

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

Returns:

  • (Fixnum)


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_killBoolean 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

Returns:

  • (Boolean)


7380
7381
7382
# File 'lib/google/apis/container_v1beta1/classes.rb', line 7380

def single_process_oom_kill
  @single_process_oom_kill
end

#topology_managerGoogle::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