Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NeedToReconcilePodReadiness ¶
NeedToReconcilePodReadiness returns if the pod "Ready" condition need to be reconcile
Types ¶
type Manager ¶
type Manager interface { PodStatusProvider // Start the API server status sync loop. Start() // SetPodStatus caches updates the cached status for the given pod, and triggers a status update. SetPodStatus(pod *v1.Pod, status v1.PodStatus) // SetContainerReadiness updates the cached container status with the given readiness, and // triggers a status update. SetContainerReadiness(podUID types.UID, containerID kubecontainer.ContainerID, ready bool) // SetContainerStartup updates the cached container status with the given startup, and // triggers a status update. SetContainerStartup(podUID types.UID, containerID kubecontainer.ContainerID, started bool) // TerminatePod resets the container status for the provided pod to terminated and triggers // a status update. TerminatePod(pod *v1.Pod) // RemoveOrphanedStatuses scans the status cache and removes any entries for pods not included in // the provided podUIDs. RemoveOrphanedStatuses(podUIDs map[types.UID]bool) }
Manager is the Source of truth for kubelet pod status, and should be kept up-to-date with the latest v1.PodStatus. It also syncs updates back to the API server.
func NewManager ¶
func NewManager(kubeClient clientset.Interface, podManager kubepod.Manager, podDeletionSafety PodDeletionSafetyProvider) Manager
NewManager returns a functional Manager.
type PodDeletionSafetyProvider ¶
type PodDeletionSafetyProvider interface { // A function which returns true if the pod can safely be deleted PodResourcesAreReclaimed(pod *v1.Pod, status v1.PodStatus) bool }
PodDeletionSafetyProvider provides guarantees that a pod can be safely deleted.
type PodStatusProvider ¶
type PodStatusProvider interface { // GetPodStatus returns the cached status for the provided pod UID, as well as whether it // was a cache hit. GetPodStatus(uid types.UID) (v1.PodStatus, bool) }
PodStatusProvider knows how to provide status for a pod. It's intended to be used by other components that need to introspect status.
Click to show internal directories.
Click to hide internal directories.