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
- type VolumeMount
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func ExtractFieldPathAsString ¶
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 ¶
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 ¶
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"` // Information about mounted volumes VolumeMounts []VolumeMount `json:"volumeMounts"` // Security configuration that will be applied to a container. SecurityContext *v1.SecurityContext `json:"securityContext"` // Status of a pod container Status *v1.ContainerStatus `json:"status"` // Probes LivenessProbe *v1.Probe `json:"livenessProbe"` ReadinessProbe *v1.Probe `json:"readinessProbe"` StartupProbe *v1.Probe `json:"startupProbe"` }
Container represents a docker/rkt/etc. container that lives in a pod.
type EnvVar ¶
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"` // Status determined based on the same logic as kubectl. Status string `json:"status"` // RestartCount of containers restarts. RestartCount int32 `json:"restartCount"` // Pod metrics. Metrics *PodMetrics `json:"metrics"` // Pod warning events Warnings []common.Event `json:"warnings"` // NodeName of the Node this Pod runs on. NodeName string `json:"nodeName"` // ContainerImages holds a list of the Pod images. ContainerImages []string `json:"containerImages"` }
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 ¶
func (PodCell) GetProperty ¶
func (self PodCell) GetProperty(name dataselect.PropertyName) dataselect.ComparableValue
func (PodCell) GetResourceSelector ¶
func (self PodCell) GetResourceSelector() *metricapi.ResourceSelector
type PodDetail ¶
type PodDetail struct { ObjectMeta api.ObjectMeta `json:"objectMeta"` TypeMeta api.TypeMeta `json:"typeMeta"` PodPhase string `json:"podPhase"` PodIP string `json:"podIP"` NodeName string `json:"nodeName"` ServiceAccountName string `json:"serviceAccountName"` RestartCount int32 `json:"restartCount"` QOSClass string `json:"qosClass"` Controller *controller.ResourceOwner `json:"controller,omitempty"` Containers []Container `json:"containers"` InitContainers []Container `json:"initContainers"` Metrics []metricapi.Metric `json:"metrics"` Conditions []common.Condition `json:"conditions"` ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"` EventList common.EventList `json:"eventList"` PersistentvolumeclaimList persistentvolumeclaim.PersistentVolumeClaimList `json:"persistentVolumeClaimList"` SecurityContext *v1.PodSecurityContext `json:"securityContext"` // 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 ¶
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.
type PodStatus ¶
type PodStatus struct { Status string `json:"status"` PodPhase v1.PodPhase `json:"podPhase"` ContainerStates []v1.ContainerState `json:"containerStates"` }
type VolumeMount ¶
type VolumeMount struct { // Name of the variable. Name string `json:"name"` // Is the volume read only ? ReadOnly bool `json:"readOnly"` // Path within the container at which the volume should be mounted. Must not contain ':'. MountPath string `json:"mountPath"` // Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). SubPath string `json:"subPath"` // Information about the Volume itself Volume v1.Volume `json:"volume"` }