Class: Google::Apis::ContainerV1beta1::LinuxNodeConfig

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

Parameters that can be configured on Linux nodes.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ LinuxNodeConfig

Returns a new instance of LinuxNodeConfig.



5609
5610
5611
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5609

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

Instance Attribute Details

#accurate_time_configGoogle::Apis::ContainerV1beta1::AccurateTimeConfig

AccurateTimeConfig contains configuration for the accurate time synchronization feature. Corresponds to the JSON property accurateTimeConfig



5529
5530
5531
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5529

def accurate_time_config
  @accurate_time_config
end

#cgroup_modeString

cgroup_mode specifies the cgroup mode to be used on the node. Corresponds to the JSON property cgroupMode

Returns:

  • (String)


5534
5535
5536
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5534

def cgroup_mode
  @cgroup_mode
end

#custom_node_initGoogle::Apis::ContainerV1beta1::CustomNodeInit

Support for running custom init code while bootstrapping nodes. Corresponds to the JSON property customNodeInit



5539
5540
5541
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5539

def custom_node_init
  @custom_node_init
end

#disk_io_schedulerGoogle::Apis::ContainerV1beta1::DiskIoScheduler

DiskIoScheduler contains the configuration for the disk IO scheduler. Corresponds to the JSON property diskIoScheduler



5544
5545
5546
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5544

def disk_io_scheduler
  @disk_io_scheduler
end

#hugepagesGoogle::Apis::ContainerV1beta1::HugepagesConfig

Hugepages amount in both 2m and 1g size Corresponds to the JSON property hugepages



5549
5550
5551
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5549

def hugepages
  @hugepages
end

#node_kernel_module_loadingGoogle::Apis::ContainerV1beta1::NodeKernelModuleLoading

Configuration for kernel module loading on nodes. Corresponds to the JSON property nodeKernelModuleLoading



5554
5555
5556
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5554

def node_kernel_module_loading
  @node_kernel_module_loading
end

#node_vfio_configGoogle::Apis::ContainerV1beta1::NodeVfioConfig

Configuration settings for VFIO (Virtual Function I/O) on a node. VFIO allows safe, unprivileged, userspace drivers to access I/O devices. Corresponds to the JSON property nodeVfioConfig



5560
5561
5562
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5560

def node_vfio_config
  @node_vfio_config
end

#swap_configGoogle::Apis::ContainerV1beta1::SwapConfig

Configuration for swap memory on a node pool. Corresponds to the JSON property swapConfig



5565
5566
5567
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5565

def swap_config
  @swap_config
end

#sysctlsHash<String,String>

The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core. busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4. neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4. tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4. tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4. tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter. nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net. netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter. nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel. keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.core_pattern kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel. dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify. max_user_instances fs.inotify.max_user_watches fs.nr_open vm. dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm. dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm. overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm. watermark_scale_factor vm.min_free_kbytes Corresponds to the JSON property sysctls

Returns:

  • (Hash<String,String>)


5590
5591
5592
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5590

def sysctls
  @sysctls
end

#transparent_hugepage_defragString

Optional. Defines the transparent hugepage defrag configuration on the node. VM hugepage allocation can be managed by either limiting defragmentation for delayed allocation or skipping it entirely for immediate allocation only. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. Corresponds to the JSON property transparentHugepageDefrag

Returns:

  • (String)


5598
5599
5600
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5598

def transparent_hugepage_defrag
  @transparent_hugepage_defrag
end

#transparent_hugepage_enabledString

Optional. Transparent hugepage support for anonymous memory can be entirely disabled (mostly for debugging purposes) or only enabled inside MADV_HUGEPAGE regions (to avoid the risk of consuming more memory resources) or enabled system wide. See https://docs.kernel.org/admin-guide/mm/transhuge.html for more details. Corresponds to the JSON property transparentHugepageEnabled

Returns:

  • (String)


5607
5608
5609
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5607

def transparent_hugepage_enabled
  @transparent_hugepage_enabled
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
# File 'lib/google/apis/container_v1beta1/classes.rb', line 5614

def update!(**args)
  @accurate_time_config = args[:accurate_time_config] if args.key?(:accurate_time_config)
  @cgroup_mode = args[:cgroup_mode] if args.key?(:cgroup_mode)
  @custom_node_init = args[:custom_node_init] if args.key?(:custom_node_init)
  @disk_io_scheduler = args[:disk_io_scheduler] if args.key?(:disk_io_scheduler)
  @hugepages = args[:hugepages] if args.key?(:hugepages)
  @node_kernel_module_loading = args[:node_kernel_module_loading] if args.key?(:node_kernel_module_loading)
  @node_vfio_config = args[:node_vfio_config] if args.key?(:node_vfio_config)
  @swap_config = args[:swap_config] if args.key?(:swap_config)
  @sysctls = args[:sysctls] if args.key?(:sysctls)
  @transparent_hugepage_defrag = args[:transparent_hugepage_defrag] if args.key?(:transparent_hugepage_defrag)
  @transparent_hugepage_enabled = args[:transparent_hugepage_enabled] if args.key?(:transparent_hugepage_enabled)
end