Class: Google::Apis::ContainerV1::EvictionSignals

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/container_v1/classes.rb,
lib/google/apis/container_v1/representations.rb,
lib/google/apis/container_v1/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ EvictionSignals

Returns a new instance of EvictionSignals.



3207
3208
3209
# File 'lib/google/apis/container_v1/classes.rb', line 3207

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#imagefs_availableString

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 Corresponds to the JSON property imagefsAvailable

Returns:

  • (String)


3156
3157
3158
# File 'lib/google/apis/container_v1/classes.rb', line 3156

def imagefs_available
  @imagefs_available
end

#imagefs_inodes_freeString

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 Corresponds to the JSON property imagefsInodesFree

Returns:

  • (String)


3166
3167
3168
# File 'lib/google/apis/container_v1/classes.rb', line 3166

def imagefs_inodes_free
  @imagefs_inodes_free
end

#memory_availableString

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 Corresponds to the JSON property memoryAvailable

Returns:

  • (String)


3176
3177
3178
# File 'lib/google/apis/container_v1/classes.rb', line 3176

def memory_available
  @memory_available
end

#nodefs_availableString

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

Corresponds to the JSON property nodefsAvailable

Returns:

  • (String)


3186
3187
3188
# File 'lib/google/apis/container_v1/classes.rb', line 3186

def nodefs_available
  @nodefs_available
end

#nodefs_inodes_freeString

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 Corresponds to the JSON property nodefsInodesFree

Returns:

  • (String)


3196
3197
3198
# File 'lib/google/apis/container_v1/classes.rb', line 3196

def nodefs_inodes_free
  @nodefs_inodes_free
end

#pid_availableString

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 Corresponds to the JSON property pidAvailable

Returns:

  • (String)


3205
3206
3207
# File 'lib/google/apis/container_v1/classes.rb', line 3205

def pid_available
  @pid_available
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3212
3213
3214
3215
3216
3217
3218
3219
# File 'lib/google/apis/container_v1/classes.rb', line 3212

def update!(**args)
  @imagefs_available = args[:imagefs_available] if args.key?(:imagefs_available)
  @imagefs_inodes_free = args[:imagefs_inodes_free] if args.key?(:imagefs_inodes_free)
  @memory_available = args[:memory_available] if args.key?(:memory_available)
  @nodefs_available = args[:nodefs_available] if args.key?(:nodefs_available)
  @nodefs_inodes_free = args[:nodefs_inodes_free] if args.key?(:nodefs_inodes_free)
  @pid_available = args[:pid_available] if args.key?(:pid_available)
end