Documentation ¶
Index ¶
- Constants
- func GetContainerPorts(pods ...*v1.Pod) []*v1.ContainerPort
- func GetPodFullName(pod *v1.Pod) string
- func GetPodPriority(pod *v1.Pod) int32
- func HigherPriorityPod(pod1, pod2 interface{}) bool
- func PodPriorityEnabled() bool
- type BackoffEntry
- type Clock
- type HostPortInfo
- type LessFunc
- type PodBackoff
- type ProtocolPort
- type RealClock
- type SortableList
Constants ¶
const DefaultBindAllHostIP = "0.0.0.0"
DefaultBindAllHostIP defines the default ip address used to bind to all host.
Variables ¶
This section is empty.
Functions ¶
func GetContainerPorts ¶
func GetContainerPorts(pods ...*v1.Pod) []*v1.ContainerPort
GetContainerPorts returns the used host ports of Pods: if 'port' was used, a 'port:true' pair will be in the result; but it does not resolve port conflict.
func GetPodFullName ¶
GetPodFullName returns a name that uniquely identifies a pod.
func GetPodPriority ¶
GetPodPriority return priority of the given pod.
func HigherPriorityPod ¶
func HigherPriorityPod(pod1, pod2 interface{}) bool
HigherPriorityPod return true when priority of the first pod is higher than the second one. It takes arguments of the type "interface{}" to be used with SortableList, but expects those arguments to be *v1.Pod.
func PodPriorityEnabled ¶
func PodPriorityEnabled() bool
PodPriorityEnabled indicates whether pod priority feature is enabled.
Types ¶
type BackoffEntry ¶
type BackoffEntry struct {
// contains filtered or unexported fields
}
BackoffEntry is single threaded. in particular, it only allows a single action to be waiting on backoff at a time. It is expected that all users will only use the public TryWait(...) method It is also not safe to copy this object.
type HostPortInfo ¶
type HostPortInfo map[string]map[ProtocolPort]struct{}
HostPortInfo stores mapping from ip to a set of ProtocolPort
func (HostPortInfo) Add ¶
func (h HostPortInfo) Add(ip, protocol string, port int32)
Add adds (ip, protocol, port) to HostPortInfo
func (HostPortInfo) CheckConflict ¶
func (h HostPortInfo) CheckConflict(ip, protocol string, port int32) bool
CheckConflict checks if the input (ip, protocol, port) conflicts with the existing ones in HostPortInfo.
func (HostPortInfo) Len ¶
func (h HostPortInfo) Len() int
Len returns the total number of (ip, protocol, port) tuple in HostPortInfo
func (HostPortInfo) Remove ¶
func (h HostPortInfo) Remove(ip, protocol string, port int32)
Remove removes (ip, protocol, port) from HostPortInfo
type LessFunc ¶
type LessFunc func(item1, item2 interface{}) bool
LessFunc is a function that receives two items and returns true if the first item should be placed before the second one when the list is sorted.
type PodBackoff ¶
type PodBackoff struct {
// contains filtered or unexported fields
}
PodBackoff is used to restart a pod with back-off delay.
func CreateDefaultPodBackoff ¶
func CreateDefaultPodBackoff() *PodBackoff
CreateDefaultPodBackoff creates a default pod back-off object.
func CreatePodBackoff ¶
func CreatePodBackoff(defaultDuration, maxDuration time.Duration) *PodBackoff
CreatePodBackoff creates a pod back-off object by default duration and max duration.
func CreatePodBackoffWithClock ¶
func CreatePodBackoffWithClock(defaultDuration, maxDuration time.Duration, clock clock) *PodBackoff
CreatePodBackoffWithClock creates a pod back-off object by default duration, max duration and clock.
func (*PodBackoff) Gc ¶
func (p *PodBackoff) Gc()
Gc execute garbage collection on the pod back-off.
func (*PodBackoff) GetEntry ¶
func (p *PodBackoff) GetEntry(podID ktypes.NamespacedName) *BackoffEntry
GetEntry returns a back-off entry by Pod ID.
func (*PodBackoff) MaxDuration ¶
func (p *PodBackoff) MaxDuration() time.Duration
MaxDuration returns the max time duration of the back-off.
type ProtocolPort ¶
ProtocolPort represents a protocol port pair, e.g. tcp:80.
func NewProtocolPort ¶
func NewProtocolPort(protocol string, port int32) *ProtocolPort
NewProtocolPort creates a ProtocolPort instance.
type SortableList ¶
type SortableList struct { Items []interface{} CompFunc LessFunc }
SortableList is a list that implements sort.Interface.
func (*SortableList) Len ¶
func (l *SortableList) Len() int
func (*SortableList) Less ¶
func (l *SortableList) Less(i, j int) bool
func (*SortableList) Sort ¶
func (l *SortableList) Sort()
Sort sorts the items in the list using the given CompFunc. Item1 is placed before Item2 when CompFunc(Item1, Item2) returns true.
func (*SortableList) Swap ¶
func (l *SortableList) Swap(i, j int)