Documentation ¶
Overview ¶
resourcequota contains a controller that makes resource quota usage observations
Index ¶
- func FilterQuotaPods(pods []api.Pod) []*api.Pod
- func PodCPU(pod *api.Pod) *resource.Quantity
- func PodHasRequests(pod *api.Pod, resourceName api.ResourceName) bool
- func PodMemory(pod *api.Pod) *resource.Quantity
- func PodRequests(pod *api.Pod, resourceName api.ResourceName) (*resource.Quantity, error)
- func PodsRequests(pods []*api.Pod, resourceName api.ResourceName) *resource.Quantity
- type ResourceQuotaController
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FilterQuotaPods ¶
FilterQuotaPods eliminates pods that no longer have a cost against the quota pods that have a restart policy of always are always returned pods that are in a failed state, but have a restart policy of on failure are always returned pods that are not in a success state or a failure state are included in quota
func PodCPU ¶
PodCPU computes total cpu limit across all containers in pod TODO: Remove this once the mesos scheduler becomes request aware
func PodHasRequests ¶
func PodHasRequests(pod *api.Pod, resourceName api.ResourceName) bool
PodHasRequests verifies that each container in the pod has an explicit request that is non-zero for a named resource
func PodMemory ¶
PodMemory computes total memory limit across all containers in a pod TODO: Remove this once the mesos scheduler becomes request aware
func PodRequests ¶
PodRequests returns sum of each resource request across all containers in pod
func PodsRequests ¶
PodsRequests returns sum of each resource request for each pod in list If a given pod in the list does not have a request for the named resource, we log the error but still attempt to get the most representative count
Types ¶
type ResourceQuotaController ¶
type ResourceQuotaController struct {
// contains filtered or unexported fields
}
ResourceQuotaController is responsible for tracking quota usage status in the system
func NewResourceQuotaController ¶
func NewResourceQuotaController(kubeClient client.Interface) *ResourceQuotaController
NewResourceQuotaController creates a new ResourceQuotaController
func (*ResourceQuotaController) Run ¶
func (rm *ResourceQuotaController) Run(period time.Duration)
Run begins watching and syncing.