kubernetes: k8s.io/kubernetes/pkg/controller/daemon/util Index | Files

package util

import "k8s.io/kubernetes/pkg/controller/daemon/util"


Package Files


func AddOrUpdateDaemonPodTolerations Uses

func AddOrUpdateDaemonPodTolerations(spec *v1.PodSpec)

AddOrUpdateDaemonPodTolerations apply necessary tolerations to DaemonSet Pods, e.g. node.kubernetes.io/not-ready:NoExecute.

func CreatePodTemplate Uses

func CreatePodTemplate(template v1.PodTemplateSpec, generation *int64, hash string) v1.PodTemplateSpec

CreatePodTemplate returns copy of provided template with additional label which contains templateGeneration (for backward compatibility), hash of provided template and sets default daemon tolerations.

func GetTargetNodeName Uses

func GetTargetNodeName(pod *v1.Pod) (string, error)

GetTargetNodeName get the target node name of DaemonSet pods. If `.spec.NodeName` is not empty (nil), return `.spec.NodeName`; otherwise, retrieve node name of pending pods from NodeAffinity. Return error if failed to retrieve node name from `.spec.NodeName` and NodeAffinity.

func GetTemplateGeneration Uses

func GetTemplateGeneration(ds *apps.DaemonSet) (*int64, error)

GetTemplateGeneration gets the template generation associated with a v1.DaemonSet by extracting it from the deprecated annotation. If no annotation is found nil is returned. If the annotation is found and fails to parse nil is returned with an error. If the generation can be parsed from the annotation, a pointer to the parsed int64 value is returned.

func IsPodUpdated Uses

func IsPodUpdated(pod *v1.Pod, hash string, dsTemplateGeneration *int64) bool

IsPodUpdated checks if pod contains label value that either matches templateGeneration or hash

func ReplaceDaemonSetPodNodeNameNodeAffinity Uses

func ReplaceDaemonSetPodNodeNameNodeAffinity(affinity *v1.Affinity, nodename string) *v1.Affinity

ReplaceDaemonSetPodNodeNameNodeAffinity replaces the RequiredDuringSchedulingIgnoredDuringExecution NodeAffinity of the given affinity with a new NodeAffinity that selects the given nodeName. Note that this function assumes that no NodeAffinity conflicts with the selected nodeName.

func SplitByAvailablePods Uses

func SplitByAvailablePods(minReadySeconds int32, pods []*v1.Pod) ([]*v1.Pod, []*v1.Pod)

SplitByAvailablePods splits provided daemon set pods by availability

Package util imports 9 packages (graph) and is imported by 1 packages. Updated 2019-05-11. Refresh now. Tools for package owners.