kube

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 18, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	IndexPodByContainerIDs = "idx_pod_by_container"
	IndexReplicaSetNames   = "idx_rs"
)

Variables

This section is empty.

Functions

func LoadConfig

func LoadConfig(kubeConfigPath string) (*rest.Config, error)

Types

type ContainerEventHandler

type ContainerEventHandler interface {
	OnDeletion(containerID []string)
}

ContainerEventHandler listens for the deletion of containers, as triggered by a Pod deletion.

type Metadata

type Metadata struct {
	// contains filtered or unexported fields
}

Metadata stores an in-memory copy of the different Kubernetes objects whose metadata is relevant to us.

func (*Metadata) AddContainerEventHandler

func (k *Metadata) AddContainerEventHandler(eh ContainerEventHandler)

func (*Metadata) AddPodEventHandler

func (k *Metadata) AddPodEventHandler(h cache.ResourceEventHandler) error

func (*Metadata) AddReplicaSetEventHandler

func (k *Metadata) AddReplicaSetEventHandler(h cache.ResourceEventHandler) error

func (*Metadata) FetchPodOwnerInfo

func (k *Metadata) FetchPodOwnerInfo(pod *PodInfo)

FetchPodOwnerInfo updates the passed pod with the owner Desployment info, if required and if it exists.

func (*Metadata) GetContainerPod

func (k *Metadata) GetContainerPod(containerID string) (*PodInfo, bool)

GetContainerPod fetches metadata from a Pod given the name of one of its containera

func (*Metadata) GetReplicaSetInfo

func (k *Metadata) GetReplicaSetInfo(namespace, name string) (*ReplicaSetInfo, bool)

GetReplicaSetInfo fetches metadata from a ReplicaSet given its name

func (*Metadata) InitFromClient

func (k *Metadata) InitFromClient(client kubernetes.Interface, timeout time.Duration) error

type PodInfo

type PodInfo struct {
	// Informers need that internal object is an ObjectMeta instance
	metav1.ObjectMeta
	NodeName       string
	ReplicaSetName string
	// Pod Info includes the ReplicaSet as owner reference, and ReplicaSet info
	// has Deployment as owner reference. We initially do a two-steps lookup to
	// get the Pod's Deployment, but then cache the Deployment value here
	DeploymentName string
	// StartTimeStr caches value of ObjectMeta.StartTimestamp.String()
	StartTimeStr string
	ContainerIDs []string
}

PodInfo contains precollected metadata for Pods, Nodes and Services. Not all the fields are populated for all the above types. To save memory, we just keep in memory the necessary data for each Type. For more information about which fields are set for each type, please refer to the instantiation function of the respective informers.

type ReplicaSetInfo

type ReplicaSetInfo struct {
	metav1.ObjectMeta
	DeploymentName string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL