ComputeClass
cloud.google.com / v1
apiVersion: cloud.google.com/v1
kind: ComputeClass
metadata:
name: example
apiVersion
string
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
object
spec object required
Specification of the ComputeClass object.
More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
activeMigration object
ActiveMigration describes settings related to active reconciliation of
a given ComputeClass.
ensureAllDaemonSetPodsRunning
boolean
EnsureAllDaemonSetPodsRunning defines whether node pools should be migrated
to larger ones to ensure that all daemon sets are schedulable.
optimizeRulePriority
boolean required
OptimizeRulePriority defines whether workloads affected by given
ComputeClass should be migrated to nodepool defined by higher priority rule, if possible.
autopilot object
Autopilot describes the autopilot settings for a given ComputeClass.
enabled
boolean required
Enabled indicates whether nodes created for this compute class should be Autopilot managed.
autoscalingPolicy object
AutoscalingPolicy describes settings related to active reconciliation of
a given ComputeClass.
consolidationDelayMinutes
integer
ConsolidationDelayMinutes determines how long a node should be unneeded before it is eligible for scale down.
Minimum duration is 1 minute, maximum is 24 hours or 1440 minutes
minimum:
1maximum:
1440
consolidationThreshold
integer
ConsolidationThreshold determines resource utilization threshold below which a node can be considered for scale down.
minimum:
0maximum:
100
gpuConsolidationThreshold
integer
GPUConsolidationThreshold determines GPU resource utilization threshold below which a node can be considered for scale down.
Utilization calculation only cares about GPU resource for accelerator node, CPU and memory utilization will be ignored.
minimum:
0maximum:
100
description
string
Description is an arbitrary string that usually provides guidelines on
when this compute class should be used.
nodePoolAutoCreation object
NodePoolAutoCreation describes the auto provisioning settings for a given
ComputeClass.
enabled
boolean required
Enabled indicates whether NodePoolAutoCreation is enabled for a given ComputeClass.
nodePoolConfig object
NodePoolConfig defines required node pool configuration. Existing node pools will be matched with the ComputeClass
only if their configuration match this field. Auto-provisioned node pools will be created with this configuration.
autoRepair
boolean
AutoRepair if set to true specifies that a node pool should have auto repair enabled, disabled in case of being set to false.
autoUpgrade
boolean
AutoUpgrade if set to true specifies that a node pool should have auto upgrade enabled, disabled in case of being set to false.
confidentialNodeType
string
ConfidentialNodeType: Defines the type of technology used by the
confidential node.
Possible values:
"CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED" - No type specified. Do not use
this value.
"SEV" - AMD Secure Encrypted Virtualization.
"SEV_SNP" - AMD Secure Encrypted Virtualization - Secure Nested Paging.
"TDX" - Intel Trust Domain eXtension.
enum:
CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED, SEV, SEV_SNP, TDXgvnic object
Gvnic contains Google Virtual NIC settings.
enabled
boolean required
Enabled indicates whether gVNIC is enabled on the node pool.
imageStreaming object
ImageStreaming contains image streaming settings.
enabled
boolean required
Enabled enables container image` streaming.
imageType
string
Image type used by nodes in the node pool.
enum:
cos_containerd, ubuntu_containerd
nodeLabels
object
NodeLabels is used to add user defined Kubernetes labels to all nodes in the new node pool.
These labels are applied to the Kubernetes API node object and can be used in nodeSelectors for pod scheduling.
Note: Node labels are distinct from GKE labels.
More info: https://cloud.google.com/sdk/gcloud/reference/container/node-pools/create#--node-labels
resourceManagerTags []object
ResourceManagerTags defines what existing GCE resource manager tag key/value pairs
with purpose GCE_FIREWALL to attach to all node pools.
Referenced Tags must be created beforehand via Resource Manager API.
maxItems:
5
key
string required
value
string required
serviceAccount
string
ServiceAccount used by the node pool.
taints []object
Taints is used to add user defined Kubernetes taints to all nodes in the new node pool.
These taints are applied to the Kubernetes API node object and can be used in tolerations for pod scheduling.
maxItems:
100
effect
string required
It defines the taint's effect on pods that does not have the necessary toleration.
The following values are supported: NoSchedule, PreferNoSchedule, and NoExecute.
enum:
NoSchedule, PreferNoSchedule, NoExecute
key
string required
Node taint key. The key must conform to syntax described in https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set.
maxLength:
320
value
string
The value that matches the specified taint key.
pattern:
^([a-z0-9][-A-Za-z0-9_.]{1,61})?[A-Za-z0-9]$maxLength:
63
workloadType
string
WorkloadType defines Collection or Goodput SLO for the workload. Currently
supported values:
* HIGH_AVAILABILITY - for Collection SLO
* HIGH_THROUGHPUT - for Goodput SLO
HIGH_AVAILABILITY is desired for running serving workloads which require
most of the infrastructure (slices) running all the time to achieve high
availability.
HIGH_THROUGHPUT is desired for running batch/training jobs
which require all underlying infrastructure (slices) running for most of
the time to make progress. HIGH_THROUGHPUT can be only set for a multi-host
scenario, that is, when NodePoolGroup is set.
enum:
HIGH_AVAILABILITY, HIGH_THROUGHPUTnodePoolGroup object
NodePoolGroup defines required node pool configurations that are shared between a group of node pools.
Existing node pools will be matched with the ComputeClass only if their configuration matches this field.
Auto-provisioned node pools will be created with this configuration.
name
string required
Name defines the name of the node pool group, e.g. MultiMIG
minLength:
1priorities []object
Priorities is a description of user preferences to be
used by a given ComputeClass.
minItems:
0maxItems:
1000
capacityCheckWaitTimeSeconds
integer
CapacityCheckWaitTimeSeconds defines for how long will this priority be attempted to scale up before moving on to the next priority.
minimum:
1maximum:
86400flexStart object
FlexStart defines Flex Start provisioning model.
enabled
boolean required
Enabled indicates whether Flex Start provisioning model is enabled.
nodeRecycling object
NodeRecycling defines node recycling config.
leadTimeSeconds
integer required
LeadTimeSeconds defines how much time before node termination timestamp CA should start looking for a replacement node.
minimum:
1maximum:
604800gpu object
Gpu defines preferred GPU config for a node.
count
integer
Count describes preferred count of GPUs for a node.
format:
int64minimum:
0
driverVersion
string
DriverVersion describes version of GPU driver for a node.
enum:
default, latest
type
string
Type describes preferred GPU accelerator type for a node.
location object
Location describes CCC zonal preferences config.
locationPolicy
string
LocationPolicy specifies the strategy for selecting zones when scaling up a node
pool managed by this Compute Class. This setting controls the distribution of new
nodes across zones in the node pool's region and corresponds to the node pool
setting of the same name.
More info: https://cloud.google.com/sdk/gcloud/reference/container/node-pools/create#--location-policy
enum:
ANY, BALANCED
zones
[]string
Zones lists zones considered for node autoprovisioning.
minItems:
1
machineFamily
string
Machine family describes preferred instance family for a node. If none is specified,
the default autoprovisioning machine family is used.
maxLength:
10
machineType
string
MachineType defines preferred machine type for a node.
maxLength:
100
maxPodsPerNode
integer
MaxPodsPerNode describes the maximum number of pods a node can accommodate.
minimum:
8maximum:
256
maxRunDurationSeconds
integer
MaxRunDurationSeconds defines the maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely.
minCores
integer
MinCores describes a minimum number of CPU cores of a node.
minimum:
0
minCpuPlatform
string
MinCpuPlatform defines the minimum CPU platform for a node.
enum:
enum: Intel Sandy Bridge, Intel Ivy Bridge, Intel Haswell, Intel Broadwell, Intel Skylake, Intel Cascade Lake, Intel Ice Lake,...
Intel Sandy Bridge, Intel Ivy Bridge, Intel Haswell, Intel Broadwell, Intel Skylake, Intel Cascade Lake, Intel Ice Lake, Intel Sapphire Rapids, Intel Emerald Rapids, Intel Granite Rapids, AMD Rome, AMD Milan, AMD Genoa, AMD Turin, Ampere Altra, Google Axion, Nvidia Grace
minMemoryGb
integer
MinMemoryGb describes a minimum GBs of memory of a node.
minimum:
0
nodeLabels
object
NodeLabels is used to add user defined Kubernetes labels to all nodes in the new node pool.
These labels are applied to the Kubernetes API node object and can be used in nodeSelectors for pod scheduling.
Note: Node labels are distinct from GKE labels.
More info: https://cloud.google.com/sdk/gcloud/reference/container/node-pools/create#--node-labels
nodeSystemConfig object
NodeSystemConfig defines node system config for a node.
kubeletConfig object
KubeletConfig defines kubelet config for a node.
allowedUnsafeSysctls
[]string
This setting 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.
maxItems:
100
containerLogMaxFiles
integer
This setting sets the maximum number of container log files that can be present for a
container. Default is 5 in OSS if unspecified.
format:
int64minimum:
2maximum:
10
containerLogMaxSize
string
This setting sets the maximum size of the container log file before it is rotated.
Format: positive number + unit, Eg. 100Ki, 10Mi, 5Gi. Valid units are Ki,
Mi, Gi. The value must be between 10Mi and 500Mi. And the total
container log size (container_log_max_size * container_log_max_files)
cannot exceed 1% of the total storage of the node.
Default is 10Mi in OSS if unspecified.
pattern:
^([0-9]+([.][0-9]+)?(Ki|Mi|Gi))+$
cpuCfsQuota
boolean
This setting enforces the Pod's CPU limit. Setting this value to false means that the CPU limits for Pods are ignored.
Ignoring CPU limits might be desirable in certain scenarios where Pods are sensitive to CPU limits.
The risk of disabling cpuCFSQuota is that a rogue Pod can consume more CPU resources than intended.
cpuCfsQuotaPeriod
string
This setting sets the CPU CFS quota period value, cpu.cfs_period_us, which specifies the period of how often a cgroup's access to CPU resources should be reallocated.
This option lets you tune the CPU throttling behavior. Value must be 1ms <= period <= 1s.
pattern:
^([1-9][0-9]*)m?s$
cpuManagerPolicy
string
This setting controls the kubelet's CPU Manager Policy. The default value is none which is the default CPU affinity scheme, providing no affinity beyond what the OS scheduler does automatically.
Setting this value to static allows Pods in the Guaranteed QoS class with integer CPU requests to be assigned exclusive use of CPUs.
enum:
none, static
evictionMaxPodGracePeriodSeconds
integer
EvictionMaxPodGracePeriodSeconds is the maximum allowed grace period
(in seconds) to use when terminating pods in response to a soft eviction
threshold being met.
format:
int64minimum:
0maximum:
300evictionMinimumReclaim object
EvictionMinimumReclaim defines minimum reclaims.
imagefsAvailable
string
ImagefsAvailable is the minimum reclaim for imagefs.available.
The value must be a percentage, e.g., "5%".
The value must be positive and less than 10%.
pattern:
^[0-9]+(\.[0-9]+)?%$
imagefsInodesFree
string
ImagefsInodesFree is the minimum reclaim for imagefs.inodesFree.
The value must be a percentage, e.g., "5%".
The value must be positive and less than 10%.
pattern:
^[0-9]+(\.[0-9]+)?%$
memoryAvailable
string
MemoryAvailable is the minimum reclaim for memory.available.
The value must be a percentage, e.g., "5%".
The value must be positive and less than 10%.
pattern:
^[0-9]+(\.[0-9]+)?%$
nodefsAvailable
string
NodefsAvailable is the minimum reclaim for nodefs.available.
The value must be a percentage, e.g., "5%".
The value must be positive and less than 10%.
pattern:
^[0-9]+(\.[0-9]+)?%$
nodefsInodesFree
string
NodefsInodesFree is the minimum reclaim for nodefs.inodesFree.
The value must be a percentage, e.g., "5%".
The value must be positive and less than 10%.
pattern:
^[0-9]+(\.[0-9]+)?%$
pidAvailable
string
PidAvailable is the minimum reclaim for pid.available.
The value must be a percentage, e.g., "5%".
The value must be positive and less than 10%.
pattern:
^[0-9]+(\.[0-9]+)?%$evictionSoft object
EvictionSoft defines soft eviction thresholds.
imagefsAvailable
string
ImagefsAvailable is the soft eviction threshold for imagefs.available.
The value must be a percentage. Eg. "10%".
The value must be between 15% and 50% inclusive.
pattern:
^[0-9]+(\.[0-9]+)?%$
imagefsInodesFree
string
ImagefsInodesFree is the soft eviction threshold for imagefs.inodesFree.
The value must be a percentage. Eg. "5%".
The value must be between 5% and 50% inclusive.
pattern:
^[0-9]+(\.[0-9]+)?%$
memoryAvailable
string
MemoryAvailable is the soft eviction threshold for memory.available.
The value must be a quantity, e.g., "100Mi".
The value must be greater than the GKE default hard eviction threshold of 100Mi and less than 50% of machine memory.
pattern:
^[0-9]+(\.[0-9]+)?(Ki|Mi|Gi)$
nodefsAvailable
string
NodefsAvailable is the soft eviction threshold for nodefs.available.
The value must be a percentage, e.g., "20%".
The value must be between 10% and 50% inclusive.
pattern:
^[0-9]+(\.[0-9]+)?%$
nodefsInodesFree
string
NodefsInodesFree is the soft eviction threshold for nodefs.inodesFree.
The value must be a percentage. Eg. "5%".
The value must be between 5% and 50% inclusive.
pattern:
^[0-9]+(\.[0-9]+)?%$
pidAvailable
string
PidAvailable is the soft eviction threshold for pid.available.
The value must be a percentage. Eg. "10%".
The value must be between 10% and 50% inclusive.
pattern:
^[0-9]+(\.[0-9]+)?%$evictionSoftGracePeriod object
EvictionSoftGracePeriod defines grace periods for soft eviction thresholds.
imagefsAvailable
string
ImagefsAvailable is the grace period for the imagefs.available soft eviction threshold.
The value must be a duration string. Eg. "30s", "1m30s".
The value must be positive and less than '5m'.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
imagefsInodesFree
string
ImagefsInodesFree is the grace period for the imagefs.inodesFree soft eviction threshold.
The value must be a duration string. Eg. "30s", "1m30s".
The value must be positive and less than '5m'.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
memoryAvailable
string
MemoryAvailable is the grace period for the memory.available soft eviction threshold.
The value must be a duration string. Eg. "30s", "1m30s".
The value must be positive and less than '5m'.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
nodefsAvailable
string
NodefsAvailable is the grace period for the nodefs.available soft eviction threshold.
The value must be a duration string. Eg. "30s", "1m30s".
The value must be positive and less than '5m'.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
nodefsInodesFree
string
NodefsInodesFree is the grace period for the nodefs.inodesFree soft eviction threshold.
The value must be a duration string. Eg. "30s", "1m30s".
The value must be positive and less than '5m'.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
pidAvailable
string
PidAvailable is the grace period for the pid.available soft eviction threshold.
The value must be a duration string. Eg. "30s", "1m30s".
The value must be positive and less than '5m'.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
imageGcHighThresholdPercent
integer
This setting sets the percent of disk usage after which image garbage collection is always
run. The percent is calculated as this field value out of 100. Default is 85 if unspecified.
format:
int64minimum:
11maximum:
85
imageGcLowThresholdPercent
integer
This setting sets 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. Default is 80 if unspecified.
format:
int64minimum:
10maximum:
84
imageMaximumGcAge
string
This setting sets the maximum age an image can be unused before it is garbage collected.
The string must be a decimal number with 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.
Default is "0s" if unspecified, which disables the field.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
imageMinimumGcAge
string
This setting sets the minimum age for an unused image before it is garbage collected.
The string must be a decimal number with 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 and less than or equal to 2 minutes.
Default is "2m" if unspecified.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
maxParallelImagePulls
integer
This setting sets the maximum number of image pulls in parallel. Default is 2 or 3 depending on boot disk type.
format:
int64minimum:
2maximum:
5
podPidsLimit
integer
This setting sets the maximum number of process IDs (PIDs) that each Pod can use.
format:
int64minimum:
1024maximum:
4.194304e+06
singleProcessOOMKill
boolean
This setting sets whether to enable single process OOM killer.
If set to true, the processes in a container will be OOM killed individually instead of as a group.
linuxNodeConfig object
LinuxNodeConfig defines linux node config for a node.
hugepageConfig object
HugepagesConfig defines hugepages config for a node.
hugepage_size1g
integer
Number of 1-gigabyte-sized huge pages to allocate.
format:
int64minimum:
1
hugepage_size2m
integer
Number of 2-megabyte-sized huge pages to allocate.
format:
int64minimum:
1sysctls object
SysctlsConfig defines sysctls config for a node.
fs.aio-max-nr
integer
The maximum system-wide number of asynchronous io requests.
format:
int64minimum:
65536maximum:
4.194304e+06
fs.file-max
integer
Maximum number of file-handles that the Linux kernel will allocate.
format:
int64minimum:
104857maximum:
6.7108864e+07
fs.inotify.max_user_instances
integer
The maximum number of inotify instances that a user can create.
format:
int64minimum:
8192maximum:
1.048576e+06
fs.inotify.max_user_watches
integer
The maximum number of inotify watches that a user can create.
format:
int64minimum:
8192maximum:
1.048576e+06
fs.nr_open
integer
The maximum number of file descriptors that can be opened by a process.
format:
int64minimum:
1.048576e+06maximum:
2.147483584e+09
kernel.shmall
string
The maximum size (in bytes) of a single shared memory segment allowed by the kernel.
Note that the actual range should be integer between 0 and 18446744073692774399, while kubebuilder would lose some precision on uint64 during the internal representation and parsing.
pattern:
^([0-9]+)$minLength:
1maxLength:
20
kernel.shmmax
string
The total amount of shared memory pages that can be used on the system at one time.
Note that the actual range should be integer between 0 and 18446744073692774399, while kubebuilder would lose some precision on uint64 during the internal representation and parsing.
pattern:
^([0-9]+)$minLength:
1maxLength:
20
kernel.shmmni
integer
The system-wide maximum number of shared memory segments.
format:
int64minimum:
4096maximum:
32768
net.core.busy_poll
integer
Low latency busy poll timeout for poll and select. (needs CONFIG_NET_RX_BUSY_POLL) Approximate time in us to busy loop waiting for events.
format:
int64minimum:
0maximum:
2.147483647e+09
net.core.busy_read
integer
Low latency busy poll timeout for socket reads. (needs CONFIG_NET_RX_BUSY_POLL) Approximate time in us to busy loop waiting for packets on the device queue.
format:
int64minimum:
0maximum:
2.147483647e+09
net.core.netdev_max_backlog
integer
Maximum number of packets, queued on the INPUT side, when the interface receives packets faster than kernel can process them.
format:
int64minimum:
1maximum:
2.147483647e+09
net.core.optmem_max
integer
Maximum ancillary buffer size allowed per socket. Ancillary data is a sequence of struct cmsghdr structures with appended data.
format:
int64minimum:
1maximum:
2.147483647e+09
net.core.rmem_default
integer
The default receive socket buffer size in bytes.
format:
int64minimum:
2304maximum:
2.147483647e+09
net.core.rmem_max
integer
The maximum receive socket buffer size in bytes.
format:
int64minimum:
2304maximum:
2.147483647e+09
net.core.somaxconn
integer
Limit of socket listen() backlog, known in userspace as SOMAXCONN. Defaults to 128. See also tcp_max_syn_backlog for additional tuning for TCP sockets.
format:
int64minimum:
128maximum:
2.147483647e+09
net.core.wmem_default
integer
The default setting (in bytes) of the socket send buffer.
format:
int64minimum:
4608maximum:
2.147483647e+09
net.core.wmem_max
integer
The maximum send socket buffer size in bytes.
format:
int64minimum:
4608maximum:
2.147483647e+09
net.ipv4.tcp_max_orphans
integer
format:
int64minimum:
16384maximum:
262144
net.ipv4.tcp_rmem
string
Minimal size of receive buffer used by UDP sockets in moderation. Each UDP socket is able to use the size for receiving data, even if total pages of UDP sockets exceed udp_mem pressure. The unit is byte. Default: 1 page. The three values are: min, default, max. Eg. '4096 87380 6291456'.
net.ipv4.tcp_tw_reuse
integer
Allow to reuse TIME-WAIT sockets for new connections when it is safe from protocol viewpoint. It should not be changed without advice/request of technical experts.
format:
int64minimum:
0maximum:
2
net.ipv4.tcp_wmem
string
Minimal size of send buffer used by UDP sockets in moderation. Each UDP socket is able to use the size for sending data, even if total pages of UDP sockets exceed udp_mem pressure. The unit is byte. Default: 1 page. The three values are: min, default, max. Eg. '4096 87380 6291456'.
net.ipv6.conf.all.disable_ipv6
boolean
Changing this value is same as changing conf/default/disable_ipv6 setting and also all per-interface disable_ipv6 settings to the same value.
net.ipv6.conf.default.disable_ipv6
boolean
Disable IPv6 operation.
net.netfilter.nf_conntrack_acct
boolean
Whether to enable connection tracking flow accounting.
net.netfilter.nf_conntrack_buckets
integer
The size of hash table for connection tracking.
format:
int64minimum:
65536maximum:
524288
net.netfilter.nf_conntrack_max
integer
The size of connection tracking table.
format:
int64minimum:
65536maximum:
4.194304e+06
net.netfilter.nf_conntrack_tcp_timeout_close_wait
integer
The period for which the TCP connections can remain in the CLOSE_WAIT state, and stay in the table.
format:
int64minimum:
60maximum:
3600
net.netfilter.nf_conntrack_tcp_timeout_established
integer
The duration of dead connections before deleted automatically from connection tracking table.
format:
int64minimum:
600maximum:
86400
net.netfilter.nf_conntrack_tcp_timeout_time_wait
integer
The period for which the TCP connections can remain in the TIME_WAIT state, and stay in the table.
format:
int64minimum:
1maximum:
600
vm.dirty_background_ratio
integer
Percentage of system memory that can be filled with dirty pages (modified but not yet written to disk) before background kernel flusher threads begin writeback.
This value should be less than 'vm.dirty_ratio'.
format:
int64minimum:
1maximum:
100
vm.dirty_expire_centisecs
integer
Maximum age (in hundredths of a second) that dirty data can remain in memory before kernel flusher threads write it to disk.
Lower values result in faster, more frequent writebacks.
format:
int64minimum:
0maximum:
6000
vm.dirty_ratio
integer
Percentage of system memory that can be filled with dirty pages before processes performing writes are forced to block and write out dirty data synchronously.
This value should be greater than 'vm.dirty_background_ratio'.
format:
int64minimum:
1maximum:
100
vm.dirty_writeback_centisecs
integer
Interval (in hundredths of a second) at which kernel flusher threads wake up to write 'old' dirty data to disk.
format:
int64minimum:
0maximum:
1000
vm.max_map_count
integer
Maximum number of memory map areas a process may have.
format:
int64minimum:
65536maximum:
2.147483647e+09
vm.min_free_kbytes
integer
format:
int64minimum:
67584maximum:
1.048576e+06
vm.overcommit_memory
integer
Determines the kernel's memory overcommit handling strategy.
Supported values:
0: Rejects allocations that are obviously too large.
1: Allows overcommit until memory is exhausted.
2 (strict): Prevents overcommit beyond swap space plus a percentage of RAM defined by 'vm.overcommit_ratio'.
enum:
0, 1, 2format:
int64
vm.overcommit_ratio
integer
Specifies the percentage of physical RAM allowed for overcommit when 'vm.overcommit_memory' is set to 2.
The total committed address space cannot exceed swap plus this RAM percentage.
format:
int64minimum:
0maximum:
100
vm.swappiness
integer
format:
int64minimum:
0maximum:
200
vm.vfs_cache_pressure
integer
Adjusts the kernel's preference for reclaiming memory used for dentry (directory) and inode caches.
format:
int64minimum:
0maximum:
100
vm.watermark_scale_factor
integer
format:
int64minimum:
10maximum:
3000
transparentHugepageDefrag
string
Defines the transparent hugepage defrag configuration on the node. Currently supported values:
* TRANSPARENT_HUGEPAGE_DEFRAG_ALWAYS: An application requesting THP will stall on allocation failure and directly reclaim pages and compact memory in an effort to allocate a THP immediately.
* TRANSPARENT_HUGEPAGE_DEFRAG_DEFER: An application will wake kswapd in the background to reclaim pages and wake kcompactd to compact memory so that THP is available in the near future. It is the responsibility of khugepaged to then install the THP pages later.
* TRANSPARENT_HUGEPAGE_DEFRAG_DEFER_WITH_MADVISE: An application will enter direct reclaim and compaction like always, but only for regions that have used madvise(MADV_HUGEPAGE); all other regions will wake kswapd in the background to reclaim pages and wake kcompactd to compact memory so that THP is available in the near future.
* TRANSPARENT_HUGEPAGE_DEFRAG_MADVISE: An application will enter direct reclaim and compaction like always, but only for regions that have used madvise(MADV_HUGEPAGE); all other regions will wake kswapd in the background to reclaim pages and wake kcompactd to compact memory so that THP is available in the near future.
* TRANSPARENT_HUGEPAGE_DEFRAG_NEVER: An application will never enter direct reclaim or compaction.
* TRANSPARENT_HUGEPAGE_DEFRAG_UNSPECIFIED: Default value. GKE will not modify the kernel configuration.
enum:
enum: TRANSPARENT_HUGEPAGE_DEFRAG_ALWAYS, TRANSPARENT_HUGEPAGE_DEFRAG_DEFER, TRANSPARENT_HUGEPAGE_DEFRAG_DEFER_WITH_MADVISE, T...
TRANSPARENT_HUGEPAGE_DEFRAG_ALWAYS, TRANSPARENT_HUGEPAGE_DEFRAG_DEFER, TRANSPARENT_HUGEPAGE_DEFRAG_DEFER_WITH_MADVISE, TRANSPARENT_HUGEPAGE_DEFRAG_MADVISE, TRANSPARENT_HUGEPAGE_DEFRAG_NEVER, TRANSPARENT_HUGEPAGE_DEFRAG_UNSPECIFIED
transparentHugepageEnabled
string
Controls transparent hugepage support for anonymous memory. Currently supported values:
* TRANSPARENT_HUGEPAGE_ENABLED_ALWAYS: Transparent hugepage is enabled system wide.
* TRANSPARENT_HUGEPAGE_ENABLED_MADVISE: Transparent hugepage is enabled inside MADV_HUGEPAGE regions. This is the default kernel configuration.
* TRANSPARENT_HUGEPAGE_ENABLED_NEVER: Transparent hugepage is disabled.
* TRANSPARENT_HUGEPAGE_ENABLED_UNSPECIFIED: Default value. GKE will not modify the kernel configuration.
enum:
TRANSPARENT_HUGEPAGE_ENABLED_ALWAYS, TRANSPARENT_HUGEPAGE_ENABLED_MADVISE, TRANSPARENT_HUGEPAGE_ENABLED_NEVER, TRANSPARENT_HUGEPAGE_ENABLED_UNSPECIFIED
nodepools
[]string
Nodepools describes preference of specific, preexisting nodepools.
placement object
Placement defines resource policy used for BYOPP and BYOWP
policyName
string required
PolicyName defines the name of the resource policy, e.g. my-resource-policy
minLength:
1
podFamily
string
PodFamily represents pod-based provisioning and billing config.
enum:
general-purposereservations object
Reservations defines reservations config for a node.
affinity
string required
ReservationAffinity affects reservations considered and the way how they are consumed.
"Specific" means that only specific reservations are considered with no fallback possible.
"AnyBestEffort" affinity would consider any non-specific reservation available
to be claimed with a fallback to on-demand nodes in case of none claimable.
"None" affinity would prevent reservations from being used
enum:
Specific, AnyBestEffort, Nonespecific []object
Specific is a non prioritized list of specific reservations to be considered by the priority rule.
minItems:
0
name
string required
Name of the reservation to be used.
project
string
Project is the project where the specific reservation lives.
reservationBlock object
ReservationBlock is the block of the reservation.
name
string required
Name is the name of the block.
reservationSubBlock object
ReservationSubBlock is the subBlock of the reservation block.
name
string required
Name is the name of the subBlock.
zones
[]string
Zones is a list of GCE zones where reservations are to be consumed.
minItems:
1
spot
boolean
Spot if set to true specifies that a node should be a spot instance, on-demand otherwise.
storage object
Storage describes storage config of a node.
bootDiskKMSKey
string
BootDiskKMSKey defines a key used to encrypt the boot disk attached.
pattern:
projects/[^/]+/locations/[^/]+/keyRings/[^/]+/cryptoKeys/[^/]+
bootDiskSize
integer
BootDiskSize defines the size of a disk attached to node, specified in GB.
minimum:
10
bootDiskType
string
BootDiskType defines type of the disk attached to the node.
Note that available boot disk types depend on the machine family / machine type selected.
Currently supported types:
* pd-balanced
* pd-standard
* pd-ssd
* hyperdisk-balanced
enum:
pd-balanced, pd-standard, pd-ssd, hyperdisk-balanced
localSSDCount
integer
LocalSSDCount defines a number of local SSDs attached to node.
minimum:
1secondaryBootDisks []object
SecondaryBootDisks represent persistent disks attached to a node with special configurations based on their modes.
diskImageName
string required
The name of the disk image.
mode
string
Currently supported modes:
* MODE_UNSPECIFIED - MODE_UNSPECIFIED is when mode is not set.
* CONTAINER_IMAGE_CACHE - it is for using the secondary boot disk as a container image cache.
enum:
MODE_UNSPECIFIED, CONTAINER_IMAGE_CACHE
project
string
The name of the project that the disk image belongs to.
taints []object
Taints is used to add user defined Kubernetes taints to all nodes in the new node pool.
These taints are applied to the Kubernetes API node object and can be used in tolerations for pod scheduling.
maxItems:
100
effect
string required
It defines the taint's effect on pods that does not have the necessary toleration.
The following values are supported: NoSchedule, PreferNoSchedule, and NoExecute.
enum:
NoSchedule, PreferNoSchedule, NoExecute
key
string required
Node taint key. The key must conform to syntax described in https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set.
maxLength:
320
value
string
The value that matches the specified taint key.
pattern:
^([a-z0-9][-A-Za-z0-9_.]{1,61})?[A-Za-z0-9]$maxLength:
63tpu object
Tpu defines preferred TPU config for a node.
count
integer
Count describes preferred count of TPU chips for a node.
format:
int64
topology
string
Topology describes preferred TPU topology of a node.
type
string
Type describes preferred TPU type for a node.
priorityDefaults object
PriorityDefaults define the default rules for all priorities if the rule doesn't exist in some priority.
Note: PriorityDefaults doesn't apply to priorities with only Nodepools.
location object
Location describes CCC zonal preferences config.
locationPolicy
string
LocationPolicy specifies the strategy for selecting zones when scaling up a node
pool managed by this Compute Class. This setting controls the distribution of new
nodes across zones in the node pool's region and corresponds to the node pool
setting of the same name.
More info: https://cloud.google.com/sdk/gcloud/reference/container/node-pools/create#--location-policy
enum:
ANY, BALANCED
zones
[]string
Zones lists zones considered for node autoprovisioning.
minItems:
1nodeSystemConfig object
NodeSystemConfig defines node system config for a node.
kubeletConfig object
KubeletConfig defines kubelet config for a node.
allowedUnsafeSysctls
[]string
This setting 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.
maxItems:
100
containerLogMaxFiles
integer
This setting sets the maximum number of container log files that can be present for a
container. Default is 5 in OSS if unspecified.
format:
int64minimum:
2maximum:
10
containerLogMaxSize
string
This setting sets the maximum size of the container log file before it is rotated.
Format: positive number + unit, Eg. 100Ki, 10Mi, 5Gi. Valid units are Ki,
Mi, Gi. The value must be between 10Mi and 500Mi. And the total
container log size (container_log_max_size * container_log_max_files)
cannot exceed 1% of the total storage of the node.
Default is 10Mi in OSS if unspecified.
pattern:
^([0-9]+([.][0-9]+)?(Ki|Mi|Gi))+$
cpuCfsQuota
boolean
This setting enforces the Pod's CPU limit. Setting this value to false means that the CPU limits for Pods are ignored.
Ignoring CPU limits might be desirable in certain scenarios where Pods are sensitive to CPU limits.
The risk of disabling cpuCFSQuota is that a rogue Pod can consume more CPU resources than intended.
cpuCfsQuotaPeriod
string
This setting sets the CPU CFS quota period value, cpu.cfs_period_us, which specifies the period of how often a cgroup's access to CPU resources should be reallocated.
This option lets you tune the CPU throttling behavior. Value must be 1ms <= period <= 1s.
pattern:
^([1-9][0-9]*)m?s$
cpuManagerPolicy
string
This setting controls the kubelet's CPU Manager Policy. The default value is none which is the default CPU affinity scheme, providing no affinity beyond what the OS scheduler does automatically.
Setting this value to static allows Pods in the Guaranteed QoS class with integer CPU requests to be assigned exclusive use of CPUs.
enum:
none, static
evictionMaxPodGracePeriodSeconds
integer
EvictionMaxPodGracePeriodSeconds is the maximum allowed grace period
(in seconds) to use when terminating pods in response to a soft eviction
threshold being met.
format:
int64minimum:
0maximum:
300evictionMinimumReclaim object
EvictionMinimumReclaim defines minimum reclaims.
imagefsAvailable
string
ImagefsAvailable is the minimum reclaim for imagefs.available.
The value must be a percentage, e.g., "5%".
The value must be positive and less than 10%.
pattern:
^[0-9]+(\.[0-9]+)?%$
imagefsInodesFree
string
ImagefsInodesFree is the minimum reclaim for imagefs.inodesFree.
The value must be a percentage, e.g., "5%".
The value must be positive and less than 10%.
pattern:
^[0-9]+(\.[0-9]+)?%$
memoryAvailable
string
MemoryAvailable is the minimum reclaim for memory.available.
The value must be a percentage, e.g., "5%".
The value must be positive and less than 10%.
pattern:
^[0-9]+(\.[0-9]+)?%$
nodefsAvailable
string
NodefsAvailable is the minimum reclaim for nodefs.available.
The value must be a percentage, e.g., "5%".
The value must be positive and less than 10%.
pattern:
^[0-9]+(\.[0-9]+)?%$
nodefsInodesFree
string
NodefsInodesFree is the minimum reclaim for nodefs.inodesFree.
The value must be a percentage, e.g., "5%".
The value must be positive and less than 10%.
pattern:
^[0-9]+(\.[0-9]+)?%$
pidAvailable
string
PidAvailable is the minimum reclaim for pid.available.
The value must be a percentage, e.g., "5%".
The value must be positive and less than 10%.
pattern:
^[0-9]+(\.[0-9]+)?%$evictionSoft object
EvictionSoft defines soft eviction thresholds.
imagefsAvailable
string
ImagefsAvailable is the soft eviction threshold for imagefs.available.
The value must be a percentage. Eg. "10%".
The value must be between 15% and 50% inclusive.
pattern:
^[0-9]+(\.[0-9]+)?%$
imagefsInodesFree
string
ImagefsInodesFree is the soft eviction threshold for imagefs.inodesFree.
The value must be a percentage. Eg. "5%".
The value must be between 5% and 50% inclusive.
pattern:
^[0-9]+(\.[0-9]+)?%$
memoryAvailable
string
MemoryAvailable is the soft eviction threshold for memory.available.
The value must be a quantity, e.g., "100Mi".
The value must be greater than the GKE default hard eviction threshold of 100Mi and less than 50% of machine memory.
pattern:
^[0-9]+(\.[0-9]+)?(Ki|Mi|Gi)$
nodefsAvailable
string
NodefsAvailable is the soft eviction threshold for nodefs.available.
The value must be a percentage, e.g., "20%".
The value must be between 10% and 50% inclusive.
pattern:
^[0-9]+(\.[0-9]+)?%$
nodefsInodesFree
string
NodefsInodesFree is the soft eviction threshold for nodefs.inodesFree.
The value must be a percentage. Eg. "5%".
The value must be between 5% and 50% inclusive.
pattern:
^[0-9]+(\.[0-9]+)?%$
pidAvailable
string
PidAvailable is the soft eviction threshold for pid.available.
The value must be a percentage. Eg. "10%".
The value must be between 10% and 50% inclusive.
pattern:
^[0-9]+(\.[0-9]+)?%$evictionSoftGracePeriod object
EvictionSoftGracePeriod defines grace periods for soft eviction thresholds.
imagefsAvailable
string
ImagefsAvailable is the grace period for the imagefs.available soft eviction threshold.
The value must be a duration string. Eg. "30s", "1m30s".
The value must be positive and less than '5m'.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
imagefsInodesFree
string
ImagefsInodesFree is the grace period for the imagefs.inodesFree soft eviction threshold.
The value must be a duration string. Eg. "30s", "1m30s".
The value must be positive and less than '5m'.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
memoryAvailable
string
MemoryAvailable is the grace period for the memory.available soft eviction threshold.
The value must be a duration string. Eg. "30s", "1m30s".
The value must be positive and less than '5m'.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
nodefsAvailable
string
NodefsAvailable is the grace period for the nodefs.available soft eviction threshold.
The value must be a duration string. Eg. "30s", "1m30s".
The value must be positive and less than '5m'.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
nodefsInodesFree
string
NodefsInodesFree is the grace period for the nodefs.inodesFree soft eviction threshold.
The value must be a duration string. Eg. "30s", "1m30s".
The value must be positive and less than '5m'.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
pidAvailable
string
PidAvailable is the grace period for the pid.available soft eviction threshold.
The value must be a duration string. Eg. "30s", "1m30s".
The value must be positive and less than '5m'.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
imageGcHighThresholdPercent
integer
This setting sets the percent of disk usage after which image garbage collection is always
run. The percent is calculated as this field value out of 100. Default is 85 if unspecified.
format:
int64minimum:
11maximum:
85
imageGcLowThresholdPercent
integer
This setting sets 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. Default is 80 if unspecified.
format:
int64minimum:
10maximum:
84
imageMaximumGcAge
string
This setting sets the maximum age an image can be unused before it is garbage collected.
The string must be a decimal number with 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.
Default is "0s" if unspecified, which disables the field.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
imageMinimumGcAge
string
This setting sets the minimum age for an unused image before it is garbage collected.
The string must be a decimal number with 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 and less than or equal to 2 minutes.
Default is "2m" if unspecified.
pattern:
^([0-9]+([.][0-9]+)?(ns|us|µs|ms|s|m|h))+$
maxParallelImagePulls
integer
This setting sets the maximum number of image pulls in parallel. Default is 2 or 3 depending on boot disk type.
format:
int64minimum:
2maximum:
5
podPidsLimit
integer
This setting sets the maximum number of process IDs (PIDs) that each Pod can use.
format:
int64minimum:
1024maximum:
4.194304e+06
singleProcessOOMKill
boolean
This setting sets whether to enable single process OOM killer.
If set to true, the processes in a container will be OOM killed individually instead of as a group.
linuxNodeConfig object
LinuxNodeConfig defines linux node config for a node.
hugepageConfig object
HugepagesConfig defines hugepages config for a node.
hugepage_size1g
integer
Number of 1-gigabyte-sized huge pages to allocate.
format:
int64minimum:
1
hugepage_size2m
integer
Number of 2-megabyte-sized huge pages to allocate.
format:
int64minimum:
1sysctls object
SysctlsConfig defines sysctls config for a node.
fs.aio-max-nr
integer
The maximum system-wide number of asynchronous io requests.
format:
int64minimum:
65536maximum:
4.194304e+06
fs.file-max
integer
Maximum number of file-handles that the Linux kernel will allocate.
format:
int64minimum:
104857maximum:
6.7108864e+07
fs.inotify.max_user_instances
integer
The maximum number of inotify instances that a user can create.
format:
int64minimum:
8192maximum:
1.048576e+06
fs.inotify.max_user_watches
integer
The maximum number of inotify watches that a user can create.
format:
int64minimum:
8192maximum:
1.048576e+06
fs.nr_open
integer
The maximum number of file descriptors that can be opened by a process.
format:
int64minimum:
1.048576e+06maximum:
2.147483584e+09
kernel.shmall
string
The maximum size (in bytes) of a single shared memory segment allowed by the kernel.
Note that the actual range should be integer between 0 and 18446744073692774399, while kubebuilder would lose some precision on uint64 during the internal representation and parsing.
pattern:
^([0-9]+)$minLength:
1maxLength:
20
kernel.shmmax
string
The total amount of shared memory pages that can be used on the system at one time.
Note that the actual range should be integer between 0 and 18446744073692774399, while kubebuilder would lose some precision on uint64 during the internal representation and parsing.
pattern:
^([0-9]+)$minLength:
1maxLength:
20
kernel.shmmni
integer
The system-wide maximum number of shared memory segments.
format:
int64minimum:
4096maximum:
32768
net.core.busy_poll
integer
Low latency busy poll timeout for poll and select. (needs CONFIG_NET_RX_BUSY_POLL) Approximate time in us to busy loop waiting for events.
format:
int64minimum:
0maximum:
2.147483647e+09
net.core.busy_read
integer
Low latency busy poll timeout for socket reads. (needs CONFIG_NET_RX_BUSY_POLL) Approximate time in us to busy loop waiting for packets on the device queue.
format:
int64minimum:
0maximum:
2.147483647e+09
net.core.netdev_max_backlog
integer
Maximum number of packets, queued on the INPUT side, when the interface receives packets faster than kernel can process them.
format:
int64minimum:
1maximum:
2.147483647e+09
net.core.optmem_max
integer
Maximum ancillary buffer size allowed per socket. Ancillary data is a sequence of struct cmsghdr structures with appended data.
format:
int64minimum:
1maximum:
2.147483647e+09
net.core.rmem_default
integer
The default receive socket buffer size in bytes.
format:
int64minimum:
2304maximum:
2.147483647e+09
net.core.rmem_max
integer
The maximum receive socket buffer size in bytes.
format:
int64minimum:
2304maximum:
2.147483647e+09
net.core.somaxconn
integer
Limit of socket listen() backlog, known in userspace as SOMAXCONN. Defaults to 128. See also tcp_max_syn_backlog for additional tuning for TCP sockets.
format:
int64minimum:
128maximum:
2.147483647e+09
net.core.wmem_default
integer
The default setting (in bytes) of the socket send buffer.
format:
int64minimum:
4608maximum:
2.147483647e+09
net.core.wmem_max
integer
The maximum send socket buffer size in bytes.
format:
int64minimum:
4608maximum:
2.147483647e+09
net.ipv4.tcp_max_orphans
integer
format:
int64minimum:
16384maximum:
262144
net.ipv4.tcp_rmem
string
Minimal size of receive buffer used by UDP sockets in moderation. Each UDP socket is able to use the size for receiving data, even if total pages of UDP sockets exceed udp_mem pressure. The unit is byte. Default: 1 page. The three values are: min, default, max. Eg. '4096 87380 6291456'.
net.ipv4.tcp_tw_reuse
integer
Allow to reuse TIME-WAIT sockets for new connections when it is safe from protocol viewpoint. It should not be changed without advice/request of technical experts.
format:
int64minimum:
0maximum:
2
net.ipv4.tcp_wmem
string
Minimal size of send buffer used by UDP sockets in moderation. Each UDP socket is able to use the size for sending data, even if total pages of UDP sockets exceed udp_mem pressure. The unit is byte. Default: 1 page. The three values are: min, default, max. Eg. '4096 87380 6291456'.
net.ipv6.conf.all.disable_ipv6
boolean
Changing this value is same as changing conf/default/disable_ipv6 setting and also all per-interface disable_ipv6 settings to the same value.
net.ipv6.conf.default.disable_ipv6
boolean
Disable IPv6 operation.
net.netfilter.nf_conntrack_acct
boolean
Whether to enable connection tracking flow accounting.
net.netfilter.nf_conntrack_buckets
integer
The size of hash table for connection tracking.
format:
int64minimum:
65536maximum:
524288
net.netfilter.nf_conntrack_max
integer
The size of connection tracking table.
format:
int64minimum:
65536maximum:
4.194304e+06
net.netfilter.nf_conntrack_tcp_timeout_close_wait
integer
The period for which the TCP connections can remain in the CLOSE_WAIT state, and stay in the table.
format:
int64minimum:
60maximum:
3600
net.netfilter.nf_conntrack_tcp_timeout_established
integer
The duration of dead connections before deleted automatically from connection tracking table.
format:
int64minimum:
600maximum:
86400
net.netfilter.nf_conntrack_tcp_timeout_time_wait
integer
The period for which the TCP connections can remain in the TIME_WAIT state, and stay in the table.
format:
int64minimum:
1maximum:
600
vm.dirty_background_ratio
integer
Percentage of system memory that can be filled with dirty pages (modified but not yet written to disk) before background kernel flusher threads begin writeback.
This value should be less than 'vm.dirty_ratio'.
format:
int64minimum:
1maximum:
100
vm.dirty_expire_centisecs
integer
Maximum age (in hundredths of a second) that dirty data can remain in memory before kernel flusher threads write it to disk.
Lower values result in faster, more frequent writebacks.
format:
int64minimum:
0maximum:
6000
vm.dirty_ratio
integer
Percentage of system memory that can be filled with dirty pages before processes performing writes are forced to block and write out dirty data synchronously.
This value should be greater than 'vm.dirty_background_ratio'.
format:
int64minimum:
1maximum:
100
vm.dirty_writeback_centisecs
integer
Interval (in hundredths of a second) at which kernel flusher threads wake up to write 'old' dirty data to disk.
format:
int64minimum:
0maximum:
1000
vm.max_map_count
integer
Maximum number of memory map areas a process may have.
format:
int64minimum:
65536maximum:
2.147483647e+09
vm.min_free_kbytes
integer
format:
int64minimum:
67584maximum:
1.048576e+06
vm.overcommit_memory
integer
Determines the kernel's memory overcommit handling strategy.
Supported values:
0: Rejects allocations that are obviously too large.
1: Allows overcommit until memory is exhausted.
2 (strict): Prevents overcommit beyond swap space plus a percentage of RAM defined by 'vm.overcommit_ratio'.
enum:
0, 1, 2format:
int64
vm.overcommit_ratio
integer
Specifies the percentage of physical RAM allowed for overcommit when 'vm.overcommit_memory' is set to 2.
The total committed address space cannot exceed swap plus this RAM percentage.
format:
int64minimum:
0maximum:
100
vm.swappiness
integer
format:
int64minimum:
0maximum:
200
vm.vfs_cache_pressure
integer
Adjusts the kernel's preference for reclaiming memory used for dentry (directory) and inode caches.
format:
int64minimum:
0maximum:
100
vm.watermark_scale_factor
integer
format:
int64minimum:
10maximum:
3000
transparentHugepageDefrag
string
Defines the transparent hugepage defrag configuration on the node. Currently supported values:
* TRANSPARENT_HUGEPAGE_DEFRAG_ALWAYS: An application requesting THP will stall on allocation failure and directly reclaim pages and compact memory in an effort to allocate a THP immediately.
* TRANSPARENT_HUGEPAGE_DEFRAG_DEFER: An application will wake kswapd in the background to reclaim pages and wake kcompactd to compact memory so that THP is available in the near future. It is the responsibility of khugepaged to then install the THP pages later.
* TRANSPARENT_HUGEPAGE_DEFRAG_DEFER_WITH_MADVISE: An application will enter direct reclaim and compaction like always, but only for regions that have used madvise(MADV_HUGEPAGE); all other regions will wake kswapd in the background to reclaim pages and wake kcompactd to compact memory so that THP is available in the near future.
* TRANSPARENT_HUGEPAGE_DEFRAG_MADVISE: An application will enter direct reclaim and compaction like always, but only for regions that have used madvise(MADV_HUGEPAGE); all other regions will wake kswapd in the background to reclaim pages and wake kcompactd to compact memory so that THP is available in the near future.
* TRANSPARENT_HUGEPAGE_DEFRAG_NEVER: An application will never enter direct reclaim or compaction.
* TRANSPARENT_HUGEPAGE_DEFRAG_UNSPECIFIED: Default value. GKE will not modify the kernel configuration.
enum:
enum: TRANSPARENT_HUGEPAGE_DEFRAG_ALWAYS, TRANSPARENT_HUGEPAGE_DEFRAG_DEFER, TRANSPARENT_HUGEPAGE_DEFRAG_DEFER_WITH_MADVISE, T...
TRANSPARENT_HUGEPAGE_DEFRAG_ALWAYS, TRANSPARENT_HUGEPAGE_DEFRAG_DEFER, TRANSPARENT_HUGEPAGE_DEFRAG_DEFER_WITH_MADVISE, TRANSPARENT_HUGEPAGE_DEFRAG_MADVISE, TRANSPARENT_HUGEPAGE_DEFRAG_NEVER, TRANSPARENT_HUGEPAGE_DEFRAG_UNSPECIFIED
transparentHugepageEnabled
string
Controls transparent hugepage support for anonymous memory. Currently supported values:
* TRANSPARENT_HUGEPAGE_ENABLED_ALWAYS: Transparent hugepage is enabled system wide.
* TRANSPARENT_HUGEPAGE_ENABLED_MADVISE: Transparent hugepage is enabled inside MADV_HUGEPAGE regions. This is the default kernel configuration.
* TRANSPARENT_HUGEPAGE_ENABLED_NEVER: Transparent hugepage is disabled.
* TRANSPARENT_HUGEPAGE_ENABLED_UNSPECIFIED: Default value. GKE will not modify the kernel configuration.
enum:
TRANSPARENT_HUGEPAGE_ENABLED_ALWAYS, TRANSPARENT_HUGEPAGE_ENABLED_MADVISE, TRANSPARENT_HUGEPAGE_ENABLED_NEVER, TRANSPARENT_HUGEPAGE_ENABLED_UNSPECIFIED
whenUnsatisfiable
string required
WhenUnsatisfiable describes autoscaler behaviour in case none
of the provided priorities is satisfiable.
Currently supported values:
* ScaleUpAnyway
* DoNotScaleUp
enum:
ScaleUpAnyway, DoNotScaleUpstatus object
Status of the ComputeClass.
conditions []object
Conditions represent the observations of a ComputeClass's current state.
lastTransitionTime
string required
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format:
date-time
message
string required
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength:
32768
observedGeneration
integer
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format:
int64minimum:
0
reason
string required
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$minLength:
1maxLength:
1024
status
string required
status of the condition, one of True, False, Unknown.
enum:
True, False, Unknown
type
string required
type of condition in CamelCase or in foo.example.com/CamelCase.
pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$maxLength:
316No matches. Try .spec.activeMigration for an exact path