Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( IllegalQoSCheckIntervalMsg = "qosCheckInterval must be a positive number" IllegalOnlineBandwidthWatermarkPercentMsg = "onlineBandwidthWatermarkPercent must be a positive number between 1 and 1000" IllegalOfflineHighBandwidthPercentMsg = "offlineHighBandwidthPercent must be a positive number between 1 and 1000" IllegalOfflineLowBandwidthPercentMsg = "offlineLowBandwidthPercent must be a positive number between 1 and 1000" OfflineHighBandwidthPercentLessOfflineLowBandwidthPercentMsg = "offlineHighBandwidthPercent cannot be less than offlineLowBandwidthPercent" IllegalEvictingCPUHighWatermark = "evictingCPUHighWatermark must be a positive number" IllegalEvictingMemoryHighWatermark = "evictingMemoryHighWatermark must be a positive number" IllegalEvictingCPULowWatermark = "evictingCPULowWatermark must be a positive number" IllegalEvictingMemoryLowWatermark = "evictingMemoryLowWatermark must be a positive number" EvictingCPULowWatermarkHigherThanHighWatermark = "cpu evicting low watermark is higher than high watermark" EvictingMemoryLowWatermarkHigherThanHighWatermark = "memory evicting low watermark is higher than high watermark" IllegalOverSubscriptionTypes = "overSubscriptionType(%s) is not supported, only supports cpu/memory" )
Functions ¶
This section is empty.
Types ¶
type CPUBurst ¶
type CPUBurst struct { // Enable CPUBurst or not. Enable *bool `json:"enable,omitempty"` }
type CPUQos ¶
type CPUQos struct { // Enable CPUQos or not. Enable *bool `json:"enable,omitempty"` }
type ColocationConfig ¶
type ColocationConfig struct { // got from node labels NodeLabelConfig *NodeLabelConfig `json:"-"` // cpu qos related config. CPUQosConfig *CPUQos `json:"cpuQosConfig,omitempty" configKey:"CPUQoS"` // cpu burst related config. CPUBurstConfig *CPUBurst `json:"cpuBurstConfig,omitempty" configKey:"CPUBurst"` // memory qos related config. MemoryQosConfig *MemoryQos `json:"memoryQosConfig,omitempty" configKey:"MemoryQoS"` // network qos related config. NetworkQosConfig *NetworkQos `json:"networkQosConfig,omitempty" configKey:"NetworkQoS"` // overSubscription related config. OverSubscriptionConfig *OverSubscription `json:"overSubscriptionConfig,omitempty" configKey:"OverSubscription"` // Evicting related config. EvictingConfig *Evicting `json:"evictingConfig,omitempty" configKey:"Evicting"` }
func (*ColocationConfig) Validate ¶
func (c *ColocationConfig) Validate() []error
type Evicting ¶
type Evicting struct { // EvictingCPUHighWatermark defines the high watermark percent of cpu usage when evicting offline pods. EvictingCPUHighWatermark *int `json:"evictingCPUHighWatermark,omitempty"` // EvictingMemoryHighWatermark defines the high watermark percent of memory usage when evicting offline pods. EvictingMemoryHighWatermark *int `json:"evictingMemoryHighWatermark,omitempty"` // EvictingCPULowWatermark defines the low watermark percent of cpu usage when the node recover schedule pods. EvictingCPULowWatermark *int `json:"evictingCPULowWatermark,omitempty"` // EvictingMemoryLowWatermark defines the low watermark percent of memory usage when the node could recover schedule pods. EvictingMemoryLowWatermark *int `json:"evictingMemoryLowWatermark,omitempty"` }
type MemoryQos ¶
type MemoryQos struct { // Enable MemoryQos or not. Enable *bool `json:"enable,omitempty"` }
type NetworkQos ¶
type NetworkQos struct { // Enable NetworkQos or not. Enable *bool `json:"enable,omitempty"` // OnlineBandwidthWatermarkPercent presents the online bandwidth threshold percent. OnlineBandwidthWatermarkPercent *int `json:"onlineBandwidthWatermarkPercent,omitempty"` // OfflineLowBandwidthPercent presents the offline low bandwidth threshold percent. OfflineLowBandwidthPercent *int `json:"offlineLowBandwidthPercent,omitempty"` // OfflineHighBandwidthPercent presents the offline high bandwidth threshold percent. OfflineHighBandwidthPercent *int `json:"offlineHighBandwidthPercent,omitempty"` // QoSCheckInterval presents the network Qos checkout interval QoSCheckInterval *int `json:"qosCheckInterval,omitempty"` }
func (*NetworkQos) Validate ¶
func (n *NetworkQos) Validate() []error
type NodeLabelConfig ¶
type NodeLabelConfig struct { // NodeColocationEnable enables node colocation or not. NodeColocationEnable *bool // NodeColocationEnable enables node oversubscription or not. NodeOverSubscriptionEnable *bool }
NodeLabelConfig does not support getting from configmap
func (*NodeLabelConfig) Validate ¶
func (n *NodeLabelConfig) Validate() []error
type NodesConfig ¶
type NodesConfig struct { // nodes that match label selector will apply current configuration Selector *metav1.LabelSelector `json:"selector,omitempty"` ColocationConfig `json:",inline"` }
type OverSubscription ¶
type OverSubscription struct { // Enable OverSubscription or not. Enable *bool `json:"enable,omitempty"` // OverSubscriptionTypes defines over subscription types, such as cpu,memory. OverSubscriptionTypes *string `json:"overSubscriptionTypes,omitempty"` }
func (*OverSubscription) Validate ¶
func (o *OverSubscription) Validate() []error
type VolcanoAgentConfig ¶
type VolcanoAgentConfig struct { // GlobalConfig is a global config for all nodes. GlobalConfig *ColocationConfig `json:"globalConfig,omitempty"` // NodesConfig will overwrite GlobalConfig for selector matched nodes, which is usually nodePool level. NodesConfig []NodesConfig `json:"nodesConfig,omitempty"` }
VolcanoAgentConfig include global and node colocation config.
Click to show internal directories.
Click to hide internal directories.