Documentation ¶
Index ¶
Constants ¶
View Source
const ( NoneFilterCondition = "" NoneFilterName = "none" )
View Source
const (
PodQOSFilterName = "podQOS"
)
Variables ¶
This section is empty.
Functions ¶
func RegisterCgroupReconciler ¶
func RegisterCgroupReconciler(level ReconcilerLevel, cgroupFile system.Resource, description string, fn reconcileFunc, filter Filter, conditions ...string)
RegisterCgroupReconciler registers a cgroup reconciler according to the cgroup file, reconcile function and filter conditions. A cgroup file of one level can have multiple reconcile functions with different filtered conditions.
e.g. pod-level cfs_quota can be registered both by cpuset hook and batchresource hook. While cpuset hook reconciles cfs_quota for LSE and LSR pods, batchresource reconciles pods of BE QoS.
TODO: support priority+qos filter.
func RegisterHostAppReconciler ¶ added in v1.4.0
func RegisterHostAppReconciler(resource system.Resource, description string, fn reconcileFunc, opt *ReconcilerOption)
Types ¶
type Context ¶ added in v1.4.0
type Context struct { StatesInformer statesinformer.StatesInformer Executor resourceexecutor.ResourceUpdateExecutor ReconcileInterval time.Duration }
type Filter ¶ added in v1.1.0
type Filter interface { Name() string Filter(podMeta *statesinformer.PodMeta) string }
Filter & Conditions: 1. a condition for one cgroup file should have no more than one filter/index func 2. different indexes of one cgroup file can have different reconcile functions 3. indexes for one cgroup should be enumerable
func NoneFilter ¶ added in v1.1.0
func NoneFilter() Filter
NoneFilter returns a Filter which skip filtering anything (into the same condition)
func PodQOSFilter ¶ added in v1.1.0
func PodQOSFilter() Filter
PodQOSFilter returns a Filter which filters pod qos class
type Reconciler ¶
type Reconciler interface {
Run(stopCh <-chan struct{}) error
}
func NewHostAppReconciler ¶ added in v1.4.0
func NewHostAppReconciler(ctx Context) Reconciler
func NewReconciler ¶
func NewReconciler(ctx Context) Reconciler
type ReconcilerLevel ¶
type ReconcilerLevel string
const ( KubeQOSLevel ReconcilerLevel = "kubeqos" PodLevel ReconcilerLevel = "pod" ContainerLevel ReconcilerLevel = "container" SandboxLevel ReconcilerLevel = "sandbox" )
type ReconcilerOption ¶ added in v1.4.0
type ReconcilerOption struct { }
Click to show internal directories.
Click to hide internal directories.