Documentation ¶
Index ¶
- func GetAllocationByQueue(pods []*v1.Pod) map[string]common.ComputeResources
- func GetAllocationByQueueAndPriority(pods []*v1.Pod) map[string]map[int32]common.ComputeResources
- type ClusterAvailableCapacityReport
- type ClusterUtilisationService
- func (clusterUtilisationService *ClusterUtilisationService) GetAllNodeGroupAllocationInfo() ([]*NodeGroupAllocationInfo, error)
- func (clusterUtilisationService *ClusterUtilisationService) GetAvailableClusterCapacity() (*ClusterAvailableCapacityReport, error)
- func (clusterUtilisationService *ClusterUtilisationService) ReportClusterUtilisation()
- type KubeletPodUtilisationService
- type NodeGroupAllocationInfo
- type PodUtilisationService
- type UtilisationEventReporter
- type UtilisationService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetAllocationByQueue ¶
func GetAllocationByQueue(pods []*v1.Pod) map[string]common.ComputeResources
Types ¶
type ClusterAvailableCapacityReport ¶
type ClusterAvailableCapacityReport struct { AvailableCapacity *common.ComputeResources Nodes []api.NodeInfo }
func (*ClusterAvailableCapacityReport) GetResourceQuantity ¶
func (r *ClusterAvailableCapacityReport) GetResourceQuantity(resource string) resource.Quantity
type ClusterUtilisationService ¶
type ClusterUtilisationService struct {
// contains filtered or unexported fields
}
func NewClusterUtilisationService ¶
func NewClusterUtilisationService( clusterContext context.ClusterContext, queueUtilisationService PodUtilisationService, nodeInfoService node.NodeInfoService, usageClient api.UsageClient, trackedNodeLabels []string, nodeReservedResources common.ComputeResources, ) *ClusterUtilisationService
func (*ClusterUtilisationService) GetAllNodeGroupAllocationInfo ¶
func (clusterUtilisationService *ClusterUtilisationService) GetAllNodeGroupAllocationInfo() ([]*NodeGroupAllocationInfo, error)
GetAllNodeGroupAllocationInfo returns allocation information for all nodes on the cluster. NodeGroupCapacity is the total capacity of a nodegroup (including cordoned nodes) NodeGroupAllocatableCapacity is the capacity available to armada on schedulable nodes NodeGroupCordonedCapacity is the resource in use by armada on unschedulable nodes
func (*ClusterUtilisationService) GetAvailableClusterCapacity ¶
func (clusterUtilisationService *ClusterUtilisationService) GetAvailableClusterCapacity() (*ClusterAvailableCapacityReport, error)
func (*ClusterUtilisationService) ReportClusterUtilisation ¶
func (clusterUtilisationService *ClusterUtilisationService) ReportClusterUtilisation()
type KubeletPodUtilisationService ¶
type KubeletPodUtilisationService struct {
// contains filtered or unexported fields
}
func NewMetricsServerQueueUtilisationService ¶
func NewMetricsServerQueueUtilisationService( clusterContext cluster_context.ClusterContext, nodeInfoService node.NodeInfoService, ) *KubeletPodUtilisationService
func (*KubeletPodUtilisationService) GetPodUtilisation ¶
func (q *KubeletPodUtilisationService) GetPodUtilisation(pod *v1.Pod) *domain.UtilisationData
func (*KubeletPodUtilisationService) RefreshUtilisationData ¶
func (q *KubeletPodUtilisationService) RefreshUtilisationData()
type NodeGroupAllocationInfo ¶
type NodeGroupAllocationInfo struct { NodeType *api.NodeTypeIdentifier Nodes []*v1.Node NodeGroupCapacity common.ComputeResources NodeGroupAllocatableCapacity common.ComputeResources NodeGroupCordonedCapacity common.ComputeResources }
type PodUtilisationService ¶
type PodUtilisationService interface {
GetPodUtilisation(pod *v1.Pod) *domain.UtilisationData
}
type UtilisationEventReporter ¶
type UtilisationEventReporter struct {
// contains filtered or unexported fields
}
func NewUtilisationEventReporter ¶
func NewUtilisationEventReporter( clusterContext clusterContext.ClusterContext, podUtilisation PodUtilisationService, eventReporter reporter.EventReporter, reportingPeriod time.Duration, ) *UtilisationEventReporter
func (*UtilisationEventReporter) ReportUtilisationEvents ¶
func (r *UtilisationEventReporter) ReportUtilisationEvents()
type UtilisationService ¶
type UtilisationService interface { GetAvailableClusterCapacity() (*ClusterAvailableCapacityReport, error) GetAllNodeGroupAllocationInfo() ([]*NodeGroupAllocationInfo, error) }
Click to show internal directories.
Click to hide internal directories.