Documentation ¶
Index ¶
Constants ¶
View Source
const ( // PodMutatingWebhook enables mutating webhook for Pods creations. PodMutatingWebhook featuregate.Feature = "PodMutatingWebhook" // PodValidatingWebhook enables validating webhook for Pods creations or updates. PodValidatingWebhook featuregate.Feature = "PodValidatingWebhook" // ElasticQuotaMutatingWebhook enables mutating webhook for ElasticQuotas creations ElasticQuotaMutatingWebhook featuregate.Feature = "ElasticMutatingWebhook" // ElasticQuotaValidatingWebhook enables validating webhook for ElasticQuotas creations or updates ElasticQuotaValidatingWebhook featuregate.Feature = "ElasticValidatingWebhook" // NodeMutatingWebhook enables mutating webhook for Node Creation or updates NodeMutatingWebhook featuregate.Feature = "NodeMutatingWebhook" // NodeValidatingWebhook enables validating webhook for Node Creation or updates NodeValidatingWebhook featuregate.Feature = "NodeValidatingWebhook" // ConfigMapValidatingWebhook enables validating webhook for configmap Creation or updates ConfigMapValidatingWebhook featuregate.Feature = "ConfigMapValidatingWebhook" // ColocationProfileSkipMutatingResources config whether to update resourceName according to priority by default ColocationProfileSkipMutatingResources featuregate.Feature = "ColocationProfileSkipMutatingResources" // WebhookFramework enables webhook framework, global feature-gate for webhook WebhookFramework featuregate.Feature = "WebhookFramework" // MultiQuotaTree enables multi quota tree. MultiQuotaTree featuregate.Feature = "MultiQuotaTree" // ElasticQuotaIgnorePodOverhead ignore pod.spec.overhead when accounting pod requests ElasticQuotaIgnorePodOverhead featuregate.Feature = "ElasticQuotaIgnorePodOverhead" // ElasticQuotaGuaranteeUsage enable guarantee the quota usage // In some specific scenarios, resources that have been allocated to users are considered // to belong to the users and will not be preempted back. ElasticQuotaGuaranteeUsage featuregate.Feature = "ElasticQuotaGuaranteeUsage" // DisableDefaultQuota disable default quota. DisableDefaultQuota featuregate.Feature = "DisableDefaultQuota" // SupportParentQuotaSubmitPod enables parent Quota submit pod SupportParentQuotaSubmitPod featuregate.Feature = "SupportParentQuotaSubmitPod" )
View Source
const ( // owner: @zwzhang0107 // alpha: v0.1 // // AuditEvents is used to audit recent events. AuditEvents featuregate.Feature = "AuditEvents" // owner: @zwzhang0107 // alpha: v0.1 // // AuditEventsHTTPHandler is used to get recent events from koordlet port. AuditEventsHTTPHandler featuregate.Feature = "AuditEventsHTTPHandler" // owner: @zwzhang0107 @saintube // alpha: v0.1 // beta: v1.1 // // BECPUSuppress suppresses cpuset for best-effort pod according to node cpu usage. BECPUSuppress featuregate.Feature = "BECPUSuppress" // owner: @zwzhang0107 @saintube // alpha: v1.4 // // BECPUManager manages cpuset of best-effort pod, this feature cannot work with BECPUSuppress together // TODO use BECPUManager to replace BECPUSuppress for advanced cpu management for be pods BECPUManager featuregate.Feature = "BECPUManager" // owner: @zwzhang0107 @saintube // alpha: v0.4 // // BECPUEvict evicts best-effort pod when they lack of resource. BECPUEvict featuregate.Feature = "BECPUEvict" // owner: @zwzhang0107 @saintube // alpha: v0.4 // // BEMemoryEvict evict best-effort pod based on node memory usage. BEMemoryEvict featuregate.Feature = "BEMemoryEvict" // owner: @saintube @zwzhang0107 // alpha: v0.2 // beta: v1.1 // // CPUBurst set cpu.cfs_burst_us; scale up cpu.cfs_quota_us if pod cpu throttled CPUBurst featuregate.Feature = "CPUBurst" // owner: @chzhj @saintube @zwzhang0107 // alpha: v1.2 // SystemConfig set /proc/sys/vm/min_free_kbytes; /proc/sys/vm/watermark_scale_factor SystemConfig featuregate.Feature = "SystemConfig" // owner: @saintube @zwzhang0107 // alpha: v0.3 // beta: v1.1 // // RdtResctrl sets intel rdt resctrl for processes belonging to ls or be pods RdtResctrl featuregate.Feature = "RdtResctrl" // owner: @saintube @zwzhang0107 // alpha: v0.3 // // CgroupReconcile reconciles qos config for resources like cpu, memory, disk, etc. // This will be divided into several independent features according to // https://github.com/koordinator-sh/koordinator/issues/174 CgroupReconcile featuregate.Feature = "CgroupReconcile" // owner: @Joseph @zwzhang0107 // alpha: v0.5 // beta: v1.1 // // NodeTopologyReport report node topology info to api-server through crd. NodeTopologyReport featuregate.Feature = "NodeTopologyReport" // owner: @jasonliu747 @Joseph // alpha: v0.6 // // Accelerators enables GPU related feature in koordlet. Only Nvidia GPUs supported. Accelerators featuregate.Feature = "Accelerators" // owner: @songtao98 @zwzhang0107 // alpha: v1.0 // // CPICollector enables cpi collector feature of koordlet. CPICollector featuregate.Feature = "CPICollector" // owner: @bowen-intel // alpha: v0.1 // // Libpfm4 enables libpfm4 feature of koordlet. Libpfm4 featuregate.Feature = "Libpfm4" // owner: @songtao98 @zwzhang0107 // alpha: v1.0 // // PSICollector enables psi collector feature of koordlet. PSICollector featuregate.Feature = "PSICollector" // owner: @TheBeatles1994 @chzhj @zwzhang0107 // alpha: v1.3 // // BlkIOReconcile enables block I/O QoS feature of koordlet. BlkIOReconcile featuregate.Feature = "BlkIOReconcile" // owner: @BUPT-wxq // alpha v1.4 // // ColdPageCollector enables coldPageCollector feature of koordlet. ColdPageCollector featuregate.Feature = "ColdPageCollector" // HugePageReport enables hugepage collector feature of koordlet. // This feature supports reporting of hugepages. // The koord-scheduler will allocate hugepage information based on the user's hugepage request and add it to the Pod's annotations. // Format: scheduling.koordinator.sh/resource-status: '{"numaNodeResources":[{"node":1,"resources":{"hugepages-1Gi":"50Gi"}}]}'. // Backend applications can enable the hugepages based on the allocation results. // For example, the CSI mounts the pre-allocated hugepages into the pod. HugePageReport featuregate.Feature = "HugePageReport" )
View Source
const ( // owner: @joseph // alpha: v0.1 // // CompatibleCSIStorageCapacity is used to set a custom CSIStorageCapacity informer to // be compatible with clusters that do not support v1.CSIStorageCapacity. // The k8s v1.22 version needs to enable the FeatureGate CompatibleCSIStorageCapacity featuregate.Feature = "CompatibleCSIStorageCapacity" // owner: @joseph // alpha: v0.1 // // DisableCSIStorageCapacityInformer is used to disable CSIStorageCapacity informer // Versions below k8s v1.22 need to enable the FeatureGate DisableCSIStorageCapacityInformer featuregate.Feature = "DisableCSIStorageCapacityInformer" // owner: @joseph // alpha: v0.1 // // CompatiblePodDisruptionBudget is used to set a custom PodDisruptionBudget informer to // be compatible with clusters that do not support v1.PodDisruptionBudget. // Versions below k8s v1.22 need to enable the FeatureGate CompatiblePodDisruptionBudget featuregate.Feature = "CompatiblePodDisruptionBudget" // owner: @joseph // alpha: v0.1 // // DisablePodDisruptionBudgetInformer is used to disable PodDisruptionBudget informer DisablePodDisruptionBudgetInformer featuregate.Feature = "DisablePodDisruptionBudgetInformer" // owner: @joseph // alpha: v0.1 // // ResizePod is used to enable resize pod feature ResizePod featuregate.Feature = "ResizePod" CSIStorageCapacity featuregate.Feature = "CSIStorageCapacity" GenericEphemeralVolume featuregate.Feature = "GenericEphemeralVolume" PodDisruptionBudget featuregate.Feature = "PodDisruptionBudget" )
View Source
const (
DisablePVCReservation featuregate.Feature = "DisablePVCReservation"
)
Variables ¶
View Source
var ( DefaultMutableKoordletFeatureGate featuregate.MutableFeatureGate = featuregate.NewFeatureGate() DefaultKoordletFeatureGate featuregate.FeatureGate = DefaultMutableKoordletFeatureGate )
Functions ¶
func IsFeatureDisabled ¶ added in v1.1.0
func IsFeatureDisabled(nodeSLO *slov1alpha1.NodeSLO, feature featuregate.Feature) (bool, error)
IsFeatureDisabled returns whether the featuregate is disabled by nodeSLO config
func SetDefaultFeatureGates ¶
func SetDefaultFeatureGates()
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.