Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CPUDynamicPolicyConfig ¶ added in v0.3.0
type CPUDynamicPolicyConfig struct { // EnableCPUAdvisor indicates whether to enable sys-advisor module to calculate cpu resources EnableCPUAdvisor bool // EnableCPUPressureEviction indicates whether to enable cpu-pressure eviction, such as cpu load eviction or cpu // suppress eviction EnableCPUPressureEviction bool // EnableSyncingCPUIdle is set to sync specific cgroup path with EnableCPUIdle EnableSyncingCPUIdle bool // EnableCPUIdle indicates whether enabling cpu idle EnableCPUIdle bool }
type CPUNativePolicyConfig ¶ added in v0.3.0
type CPUNativePolicyConfig struct { // EnableFullPhysicalCPUsOnly is a flag to enable extra allocation restrictions to avoid // different containers to possibly end up on the same core. EnableFullPhysicalCPUsOnly bool // CPUAllocationOption is the allocation option of cpu (packed/distributed). CPUAllocationOption string }
type CPUQRMPluginConfig ¶
type CPUQRMPluginConfig struct { // PolicyName is used to switch between several strategies PolicyName string // ReservedCPUCores indicates reserved cpus number for system agents ReservedCPUCores int // SkipCPUStateCorruption is set to skip cpu state corruption, and it will be used after updating state properties SkipCPUStateCorruption bool CPUDynamicPolicyConfig CPUNativePolicyConfig }
func NewCPUQRMPluginConfig ¶
func NewCPUQRMPluginConfig() *CPUQRMPluginConfig
type GenericQRMPluginConfiguration ¶
type GenericQRMPluginConfiguration struct { StateFileDirectory string QRMPluginSocketDirs []string ExtraStateFileAbsPath string ReclaimRelativeRootCgroupPath string PodDebugAnnoKeys []string }
func NewGenericQRMPluginConfiguration ¶
func NewGenericQRMPluginConfiguration() *GenericQRMPluginConfiguration
type MemoryQRMPluginConfig ¶
type MemoryQRMPluginConfig struct { // PolicyName is used to switch between several strategies PolicyName string // ReservedMemoryGB: the total reserved memories in GB ReservedMemoryGB uint64 // SkipMemoryStateCorruption is ued to skip memory state corruption and it will be used after updating state properties SkipMemoryStateCorruption bool // EnableSettingMemoryMigrate is used to enable cpuset.memory_migrate for containers not numa_binding EnableSettingMemoryMigrate bool // EnableMemoryAdvisor indicates whether to enable sys-advisor module to calculate memory resources EnableMemoryAdvisor bool // ExtraControlKnobConfigFile: the absolute path of extra control knob config file ExtraControlKnobConfigFile string }
func NewMemoryQRMPluginConfig ¶
func NewMemoryQRMPluginConfig() *MemoryQRMPluginConfig
type NetClassConfig ¶ added in v0.2.0
type NetworkQRMPluginConfig ¶ added in v0.2.0
type NetworkQRMPluginConfig struct { // PolicyName is used to switch between several strategies PolicyName string NetClass NetClassConfig // Reserved network bandwidth in unit of Mbps for business-critical jobs (e.g. online services). // In phase 1, we only support the reservation for business-critical jobs. The system component reservation might be added later. // Also, we do not differentiate the egress and ingress reservation for now. That is, the reserved bandwidth on egress and ingress is supposed to be same ReservedBandwidth uint32 // The ratio of available capacity to NIC line speed. For example, a 25Gbps NIC's max bandwidth is around 23.5Gbps. // Please note, the ingress rate throttling may need additional virtual device like ifb, which results in lower capacity than egress EgressCapacityRate float32 IngressCapacityRate float32 // skip network state corruption and it will be used after updating state properties SkipNetworkStateCorruption bool PodLevelNetClassAnnoKey string PodLevelNetAttributesAnnoKeys string IPv4ResourceAllocationAnnotationKey string IPv6ResourceAllocationAnnotationKey string NetNSPathResourceAllocationAnnotationKey string NetInterfaceNameResourceAllocationAnnotationKey string NetClassIDResourceAllocationAnnotationKey string NetBandwidthResourceAllocationAnnotationKey string }
NetworkQRMPluginConfig is the config of network QRM plugin
func NewNetworkQRMPluginConfig ¶ added in v0.2.0
func NewNetworkQRMPluginConfig() *NetworkQRMPluginConfig
NewNetworkQRMPluginConfig returns a NetworkQRMPluginConfig
type QRMPluginsConfiguration ¶
type QRMPluginsConfiguration struct { *CPUQRMPluginConfig *MemoryQRMPluginConfig *NetworkQRMPluginConfig }
func NewQRMPluginsConfiguration ¶
func NewQRMPluginsConfiguration() *QRMPluginsConfiguration
Click to show internal directories.
Click to hide internal directories.