Documentation
¶
Index ¶
- Variables
- func ExtractFieldPathAsString(obj interface{}, fieldPath string) (string, error)
- func FormatMap(m map[string]string) (fmtStr string)
- func GetEventsForPod(client client.Interface, dsQuery *dataselect.DataSelectQuery, ...) (*common.EventList, error)
- type Container
- type EnvVar
- type MetricsByPod
- type Pod
- type PodCell
- type PodDetail
- type PodList
- func GetPodList(client k8sClient.Interface, metricClient metricapi.MetricClient, ...) (*PodList, error)
- func GetPodListFromChannels(channels *common.ResourceChannels, dsQuery *dataselect.DataSelectQuery, ...) (*PodList, error)
- func ToPodList(pods []v1.Pod, events []v1.Event, nonCriticalErrors []error, ...) PodList
- type PodMetrics
- type PodStatus
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func ExtractFieldPathAsString ¶ added in v1.7.0
ExtractFieldPathAsString extracts the field from the given object and returns it as a string. The object must be a pointer to an API type.
func GetEventsForPod ¶ added in v1.6.0
func GetEventsForPod(client client.Interface, dsQuery *dataselect.DataSelectQuery, namespace, podName string) (*common.EventList, error)
GetEventsForPod gets events that are associated with this pod.
Types ¶
type Container ¶ added in v1.1.1
type Container struct {
// Name of the container.
Name string `json:"name"`
// Image URI of the container.
Image string `json:"image"`
// List of environment variables.
Env []EnvVar `json:"env"`
// Commands of the container
Commands []string `json:"commands"`
// Command arguments
Args []string `json:"args"`
}
Container represents a docker/rkt/etc. container that lives in a pod.
type EnvVar ¶ added in v1.1.1
type EnvVar struct {
// Name of the variable.
Name string `json:"name"`
// Value of the variable. May be empty if value from is defined.
Value string `json:"value"`
// Defined for derived variables. If non-null, the value is get from the reference.
// Note that this is an API struct. This is intentional, as EnvVarSources are plain struct
// references.
ValueFrom *v1.EnvVarSource `json:"valueFrom"`
}
EnvVar represents an environment variable of a container.
type MetricsByPod ¶
type MetricsByPod struct {
// Metrics by namespace and name of a pod.
MetricsMap map[types.UID]PodMetrics `json:"metricsMap"`
}
MetricsByPod is a metrics map by pod name.
type Pod ¶
type Pod struct {
ObjectMeta api.ObjectMeta `json:"objectMeta"`
TypeMeta api.TypeMeta `json:"typeMeta"`
// More info on pod status
PodStatus PodStatus `json:"podStatus"`
// Count of containers restarts.
RestartCount int32 `json:"restartCount"`
// Pod metrics.
Metrics *PodMetrics `json:"metrics"`
// Pod warning events
Warnings []common.Event `json:"warnings"`
// Name of the Node this Pod runs on.
NodeName string `json:"nodeName"`
}
Pod is a presentation layer view of Kubernetes Pod resource. This means it is Pod plus additional augmented data we can get from other sources (like services that target it).
type PodCell ¶ added in v1.4.0
func (PodCell) GetProperty ¶ added in v1.4.0
func (self PodCell) GetProperty(name dataselect.PropertyName) dataselect.ComparableValue
func (PodCell) GetResourceSelector ¶ added in v1.4.0
func (self PodCell) GetResourceSelector() *metricapi.ResourceSelector
type PodDetail ¶
type PodDetail struct {
ObjectMeta api.ObjectMeta `json:"objectMeta"`
TypeMeta api.TypeMeta `json:"typeMeta"`
PodPhase v1.PodPhase `json:"podPhase"`
PodIP string `json:"podIP"`
NodeName string `json:"nodeName"`
RestartCount int32 `json:"restartCount"`
QOSClass string `json:"qosClass"`
Controller controller.ResourceOwner `json:"controller"`
Containers []Container `json:"containers"`
InitContainers []Container `json:"initContainers"`
Metrics []metricapi.Metric `json:"metrics"`
Conditions []common.Condition `json:"conditions"`
EventList common.EventList `json:"eventList"`
PersistentvolumeclaimList persistentvolumeclaim.PersistentVolumeClaimList `json:"persistentVolumeClaimList"`
// List of non-critical errors, that occurred during resource retrieval.
Errors []error `json:"errors"`
}
PodDetail is a presentation layer view of Kubernetes Pod resource.
func GetPodDetail ¶
func GetPodDetail(client kubernetes.Interface, metricClient metricapi.MetricClient, namespace, name string) ( *PodDetail, error)
GetPodDetail returns the details of a named Pod from a particular namespace.
type PodList ¶
type PodList struct {
ListMeta api.ListMeta `json:"listMeta"`
CumulativeMetrics []metricapi.Metric `json:"cumulativeMetrics"`
// Basic information about resources status on the list.
Status common.ResourceStatus `json:"status"`
// Unordered list of Pods.
Pods []Pod `json:"pods"`
// List of non-critical errors, that occurred during resource retrieval.
Errors []error `json:"errors"`
}
PodList contains a list of Pods in the cluster.
func GetPodList ¶
func GetPodList(client k8sClient.Interface, metricClient metricapi.MetricClient, nsQuery *common.NamespaceQuery, dsQuery *dataselect.DataSelectQuery) (*PodList, error)
GetPodList returns a list of all Pods in the cluster.
func GetPodListFromChannels ¶
func GetPodListFromChannels(channels *common.ResourceChannels, dsQuery *dataselect.DataSelectQuery, metricClient metricapi.MetricClient) (*PodList, error)
GetPodListFromChannels returns a list of all Pods in the cluster reading required resource list once from the channels.
func ToPodList ¶ added in v1.6.2
func ToPodList(pods []v1.Pod, events []v1.Event, nonCriticalErrors []error, dsQuery *dataselect.DataSelectQuery, metricClient metricapi.MetricClient) PodList
type PodMetrics ¶
type PodMetrics struct {
// Most recent measure of CPU usage on all cores in nanoseconds.
CPUUsage *uint64 `json:"cpuUsage"`
// Pod memory usage in bytes.
MemoryUsage *uint64 `json:"memoryUsage"`
// Timestamped samples of CPUUsage over some short period of history
CPUUsageHistory []metricapi.MetricPoint `json:"cpuUsageHistory"`
// Timestamped samples of pod memory usage over some short period of history
MemoryUsageHistory []metricapi.MetricPoint `json:"memoryUsageHistory"`
}
PodMetrics is a structure representing pods metrics, contains information about CPU and memory usage.