Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
Controller is the consolidation controller. It is not a standard controller-runtime controller in that it doesn't have a reconcile method.
func NewController ¶
func NewController(ctx context.Context, clk clock.Clock, kubeClient client.Client, provisioner *provisioning.Provisioner, cp cloudprovider.CloudProvider, recorder events.Recorder, cluster *state.Cluster, startAsync <-chan struct{}) *Controller
func (*Controller) ProcessCluster ¶
func (c *Controller) ProcessCluster(ctx context.Context) (ProcessResult, error)
ProcessCluster is exposed for unit testing purposes
type PDBLimits ¶
type PDBLimits struct {
// contains filtered or unexported fields
}
PDBLimits is used to evaluate if evicting a list of pods is possible.
func NewPDBLimits ¶
type ProcessResult ¶
type ProcessResult byte
ProcessResult is used to indicate the result of consolidating so we can optimize by not trying to consolidate if we were unable to consolidate the cluster and it hasn't changed state with respect to pods/nodes.
const ( ProcessResultNothingToDo ProcessResult = iota ProcessResultFailed ProcessResultConsolidated )
Click to show internal directories.
Click to hide internal directories.