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
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"`
// External ID of the node assigned by some machine database (e.g. a cloud provider).
ExternalID string `json:"externalID"`
// 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"`
// 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.
Click to show internal directories.
Click to hide internal directories.