Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cluster ¶
type Cluster struct {
// contains filtered or unexported fields
}
Cluster maintains cluster state that is often needed but expensive to compute.
func (*Cluster) ForEachNode ¶
ForEachNode calls the supplied function once per node object that is being tracked. It is not safe to store the state.Node object, it should be only accessed from within the function provided to this method.
func (*Cluster) ForPodsWithAntiAffinity ¶
ForPodsWithAntiAffinity calls the supplied function once for each pod with required anti affinity terms that is currently bound to a node. The pod returned may not be up-to-date with respect to status, however since the anti-affinity terms can't be modified, they will be correct.
type Node ¶
type Node struct { Node *v1.Node // Available is the total amount of resources that are available on the node. This is the Allocatable minus the // resources requested by all pods bound to the node. Available v1.ResourceList // DaemonSetRequested is the total amount of resources that have been requested by daemon sets. This allows users // of the Node to identify the remaining resources that we expect future daemonsets to consume. This is already // included in the calculation for Available. DaemonSetRequested v1.ResourceList // contains filtered or unexported fields }
Node is a cached version of a node in the cluster that maintains state which is expensive to compute every time it's needed. This currently contains node utilization across all the allocatable resources, but will soon be used to compute topology information.
type NodeController ¶
type NodeController struct {
// contains filtered or unexported fields
}
NodeController reconciles nodes for the purpose of maintaining state regarding nodes that is expensive to compute.
func NewNodeController ¶
func NewNodeController(kubeClient client.Client, cluster *Cluster) *NodeController
NewNodeController constructs a controller instance
type PodController ¶
type PodController struct {
// contains filtered or unexported fields
}
PodController reconciles pods for the purpose of maintaining state regarding pods that is expensive to compute.
func NewPodController ¶
func NewPodController(kubeClient client.Client, cluster *Cluster) *PodController