Documentation ¶
Index ¶
- func AddOrUpdateDaemonPodTolerations(spec *v1.PodSpec)
- func AllowsSurge(ds *apps.DaemonSet) bool
- func CreatePodTemplate(template v1.PodTemplateSpec, generation *int64, hash string) v1.PodTemplateSpec
- func GetTargetNodeName(pod *v1.Pod) (string, error)
- func GetTemplateGeneration(ds *apps.DaemonSet) (*int64, error)
- func IsPodUpdated(pod *v1.Pod, hash string, dsTemplateGeneration *int64) bool
- func ReplaceDaemonSetPodNodeNameNodeAffinity(affinity *v1.Affinity, nodename string) *v1.Affinity
- func SurgeCount(ds *apps.DaemonSet, numberToSchedule int) (int, error)
- func UnavailableCount(ds *apps.DaemonSet, numberToSchedule int) (int, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddOrUpdateDaemonPodTolerations ¶
AddOrUpdateDaemonPodTolerations apply necessary tolerations to DaemonSet Pods, e.g. node.kubernetes.io/not-ready:NoExecute.
func AllowsSurge ¶
AllowsSurge returns true if the daemonset allows more than a single pod on any node.
func CreatePodTemplate ¶
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 ¶
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 ¶
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 ¶
IsPodUpdated checks if pod contains label value that either matches templateGeneration or hash
func ReplaceDaemonSetPodNodeNameNodeAffinity ¶
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 SurgeCount ¶
SurgeCount returns 0 if surge is not requested, the expected surge number to allow out of numberToSchedule if surge is configured, or an error if the surge percentage requested is invalid.
func UnavailableCount ¶
UnavailableCount returns 0 if unavailability is not requested, the expected unavailability number to allow out of numberToSchedule if requested, or an error if the unavailability percentage requested is invalid.
Types ¶
This section is empty.