Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetNodePods ¶ added in v1.4.0
func GetNodePods(client k8sClient.Interface, metricClient metricapi.MetricClient, dsQuery *dataselect.DataSelectQuery, name string) (*pod.PodList, error)
GetNodePods return pods list in given named node
func PodRequestsAndLimits ¶ added in v1.8.0
func PodRequestsAndLimits(pod *v1.Pod) (reqs map[v1.ResourceName]resource.Quantity, limits map[v1.ResourceName]resource.Quantity, err error)
PodRequestsAndLimits returns a dictionary of all defined resources summed up for all containers of the pod.
Types ¶
type Node ¶
type Node struct { ObjectMeta api.ObjectMeta `json:"objectMeta"` TypeMeta api.TypeMeta `json:"typeMeta"` Ready v1.ConditionStatus `json:"ready"` AllocatedResources NodeAllocatedResources `json:"allocatedResources"` }
Node is a presentation layer view of Kubernetes nodes. This means it is node plus additional augmented data we can get from other sources.
type NodeAllocatedResources ¶
type NodeAllocatedResources struct { // CPURequests is number of allocated milicores. CPURequests int64 `json:"cpuRequests"` // CPURequestsFraction is a fraction of CPU, that is allocated. CPURequestsFraction float64 `json:"cpuRequestsFraction"` // CPULimits is defined CPU limit. CPULimits int64 `json:"cpuLimits"` // CPULimitsFraction is a fraction of defined CPU limit, can be over 100%, i.e. // overcommitted. CPULimitsFraction float64 `json:"cpuLimitsFraction"` // CPUCapacity is specified node CPU capacity in milicores. CPUCapacity int64 `json:"cpuCapacity"` // MemoryRequests is a fraction of memory, that is allocated. MemoryRequests int64 `json:"memoryRequests"` // MemoryRequestsFraction is a fraction of memory, that is allocated. MemoryRequestsFraction float64 `json:"memoryRequestsFraction"` // MemoryLimits is defined memory limit. MemoryLimits int64 `json:"memoryLimits"` // MemoryLimitsFraction is a fraction of defined memory limit, can be over 100%, i.e. // overcommitted. MemoryLimitsFraction float64 `json:"memoryLimitsFraction"` // MemoryCapacity is specified node memory capacity in bytes. MemoryCapacity int64 `json:"memoryCapacity"` // AllocatedPods in number of currently allocated pods on the node. AllocatedPods int `json:"allocatedPods"` // PodCapacity is maximum number of pods, that can be allocated on the node. PodCapacity int64 `json:"podCapacity"` // PodFraction is a fraction of pods, that can be allocated on given node. PodFraction float64 `json:"podFraction"` }
NodeAllocatedResources describes node allocated resources.
type NodeCell ¶ added in v1.4.0
func (NodeCell) GetProperty ¶ added in v1.4.0
func (self NodeCell) GetProperty(name dataselect.PropertyName) dataselect.ComparableValue
func (NodeCell) GetResourceSelector ¶ added in v1.4.0
func (self NodeCell) GetResourceSelector() *metricapi.ResourceSelector
type NodeDetail ¶
type NodeDetail struct { ObjectMeta api.ObjectMeta `json:"objectMeta"` TypeMeta api.TypeMeta `json:"typeMeta"` // NodePhase is the current lifecycle phase of the node. Phase v1.NodePhase `json:"phase"` // Resources allocated by node. AllocatedResources NodeAllocatedResources `json:"allocatedResources"` // PodCIDR represents the pod IP range assigned to the node. PodCIDR string `json:"podCIDR"` // ID of the node assigned by the cloud provider. ProviderID string `json:"providerID"` // Unschedulable controls node schedulability of new pods. By default node is schedulable. Unschedulable bool `json:"unschedulable"` // Set of ids/uuids to uniquely identify the node. NodeInfo v1.NodeSystemInfo `json:"nodeInfo"` // Conditions is an array of current node conditions. Conditions []common.Condition `json:"conditions"` // Container images of the node. ContainerImages []string `json:"containerImages"` // PodList contains information about pods belonging to this node. PodList pod.PodList `json:"podList"` // Events is list of events associated to the node. EventList common.EventList `json:"eventList"` // Metrics collected for this resource Metrics []metricapi.Metric `json:"metrics"` // Taints Taints []v1.Taint `json:"taints,omitempty"` // Addresses is a list of addresses reachable to the node. Queried from cloud provider, if available. Addresses []v1.NodeAddress `json:"addresses,omitempty"` // List of non-critical errors, that occurred during resource retrieval. Errors []error `json:"errors"` }
NodeDetail is a presentation layer view of Kubernetes Node resource. This means it is Node plus additional augmented data we can get from other sources.
func GetNodeDetail ¶
func GetNodeDetail(client k8sClient.Interface, metricClient metricapi.MetricClient, name string, dsQuery *dataselect.DataSelectQuery) (*NodeDetail, error)
GetNodeDetail gets node details.
type NodeList ¶
type NodeList struct { ListMeta api.ListMeta `json:"listMeta"` Nodes []Node `json:"nodes"` CumulativeMetrics []metricapi.Metric `json:"cumulativeMetrics"` // List of non-critical errors, that occurred during resource retrieval. Errors []error `json:"errors"` }
NodeList contains a list of nodes in the cluster.
func GetNodeList ¶
func GetNodeList(client client.Interface, dsQuery *dataselect.DataSelectQuery, metricClient metricapi.MetricClient) (*NodeList, error)
GetNodeList returns a list of all Nodes in the cluster.
func GetNodeListFromChannels ¶ added in v1.4.0
func GetNodeListFromChannels(client client.Interface, channels *common.ResourceChannels, dsQuery *dataselect.DataSelectQuery, metricClient metricapi.MetricClient) (*NodeList, error)
GetNodeListFromChannels returns a list of all Nodes in the cluster.