Documentation
¶
Index ¶
Constants ¶
const GroupName = "coordination.k8s.io"
GroupName is the group name use in this package
Variables ¶
var ( // SchemeBuilder points to a list of functions added to Scheme. SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme applies all the stored functions to the scheme. AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type CoordinatedLeaseStrategy ¶ added in v1.31.0
type CoordinatedLeaseStrategy string
const ( // OldestEmulationVersion picks the oldest LeaseCandidate, where "oldest" is defined as follows // 1) Select the candidate(s) with the lowest emulation version // 2) If multiple candidates have the same emulation version, select the candidate(s) with the lowest binary version. (Note that binary version must be greater or equal to emulation version) // 3) If multiple candidates have the same binary version, select the candidate with the oldest creationTimestamp. // If a candidate does not specify the emulationVersion and binaryVersion fields, it will not be considered a candidate for the lease. OldestEmulationVersion CoordinatedLeaseStrategy = "OldestEmulationVersion" )
CoordinatedLeaseStrategy defines the strategy for picking the leader for coordinated leader election.
type Lease ¶
type Lease struct {
metav1.TypeMeta
// +optional
metav1.ObjectMeta
// spec contains the specification of the Lease.
// +optional
Spec LeaseSpec
}
Lease defines a lease concept.
func (*Lease) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Lease.
func (*Lease) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Lease) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LeaseCandidate ¶ added in v1.31.0
type LeaseCandidate struct {
metav1.TypeMeta
// +optional
metav1.ObjectMeta
Spec LeaseCandidateSpec
}
LeaseCandidate defines a candidate for a Lease object. Candidates are created such that coordinated leader election will pick the best leader from the list of candidates.
func (*LeaseCandidate) DeepCopy ¶ added in v1.31.0
func (in *LeaseCandidate) DeepCopy() *LeaseCandidate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseCandidate.
func (*LeaseCandidate) DeepCopyInto ¶ added in v1.31.0
func (in *LeaseCandidate) DeepCopyInto(out *LeaseCandidate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LeaseCandidate) DeepCopyObject ¶ added in v1.31.0
func (in *LeaseCandidate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LeaseCandidateList ¶ added in v1.31.0
type LeaseCandidateList struct {
metav1.TypeMeta
// +optional
metav1.ListMeta
// items is a list of schema objects.
Items []LeaseCandidate
}
LeaseCandidateList is a list of LeaseCandidate objects.
func (*LeaseCandidateList) DeepCopy ¶ added in v1.31.0
func (in *LeaseCandidateList) DeepCopy() *LeaseCandidateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseCandidateList.
func (*LeaseCandidateList) DeepCopyInto ¶ added in v1.31.0
func (in *LeaseCandidateList) DeepCopyInto(out *LeaseCandidateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LeaseCandidateList) DeepCopyObject ¶ added in v1.31.0
func (in *LeaseCandidateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LeaseCandidateSpec ¶ added in v1.31.0
type LeaseCandidateSpec struct {
// LeaseName is the name of the lease for which this candidate is contending.
// The limits on this field are the same as on Lease.name. Multiple lease candidates
// may reference the same Lease.name.
// This field is immutable.
// +required
LeaseName string
// PingTime is the last time that the server has requested the LeaseCandidate
// to renew. It is only done during leader election to check if any
// LeaseCandidates have become ineligible. When PingTime is updated, the
// LeaseCandidate will respond by updating RenewTime.
// +optional
PingTime *metav1.MicroTime
// RenewTime is the time that the LeaseCandidate was last updated. Any time
// a Lease needs to do leader election, the PingTime field is updated to
// signal to the LeaseCandidate that they should update the RenewTime. The
// PingTime field is also updated regularly and LeaseCandidates must update
// RenewTime to prevent garbage collection for still active LeaseCandidates.
// Old LeaseCandidate objects are periodically garbage collected.
// +optional
RenewTime *metav1.MicroTime
// BinaryVersion is the binary version. It must be in a semver format without leading `v`.
// This field is required.
// +required
BinaryVersion string
// EmulationVersion is the emulation version. It must be in a semver format without leading `v`.
// EmulationVersion must be less than or equal to BinaryVersion.
// This field is required when strategy is "OldestEmulationVersion"
// +optional
EmulationVersion string
// Strategy is the strategy that coordinated leader election will use for picking the leader.
// If multiple candidates for the same Lease return different strategies, the strategy provided
// by the candidate with the latest BinaryVersion will be used. If there is still conflict,
// this is a user error and coordinated leader election will not operate the Lease until resolved.
// +listType=atomic
// +required
Strategy CoordinatedLeaseStrategy
}
LeaseCandidateSpec is a specification of a Lease.
func (*LeaseCandidateSpec) DeepCopy ¶ added in v1.31.0
func (in *LeaseCandidateSpec) DeepCopy() *LeaseCandidateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseCandidateSpec.
func (*LeaseCandidateSpec) DeepCopyInto ¶ added in v1.31.0
func (in *LeaseCandidateSpec) DeepCopyInto(out *LeaseCandidateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LeaseList ¶
type LeaseList struct {
metav1.TypeMeta
// +optional
metav1.ListMeta
// items is a list of schema objects.
Items []Lease
}
LeaseList is a list of Lease objects.
func (*LeaseList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseList.
func (*LeaseList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LeaseList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LeaseSpec ¶
type LeaseSpec struct {
// holderIdentity contains the identity of the holder of a current lease.
// If Coordinated Leader Election is used, the holder identity must be
// equal to the elected LeaseCandidate.metadata.name field.
// +optional
HolderIdentity *string
// leaseDurationSeconds is a duration that candidates for a lease need
// to wait to force acquire it. This is measure against time of last
// observed renewTime.
// +optional
LeaseDurationSeconds *int32
// acquireTime is a time when the current lease was acquired.
// +optional
AcquireTime *metav1.MicroTime
// renewTime is a time when the current holder of a lease has last
// updated the lease.
// +optional
RenewTime *metav1.MicroTime
// leaseTransitions is the number of transitions of a lease between
// holders.
// +optional
LeaseTransitions *int32
// Strategy indicates the strategy for picking the leader for coordinated leader election.
// If the field is not specified, there is no active coordination for this lease.
// (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled.
// +featureGate=CoordinatedLeaderElection
// +optional
Strategy *CoordinatedLeaseStrategy
// PreferredHolder signals to a lease holder that the lease has a
// more optimal holder and should be given up.
// This field can only be set if Strategy is also set.
// +featureGate=CoordinatedLeaderElection
// +optional
PreferredHolder *string
}
LeaseSpec is a specification of a Lease.
func (*LeaseSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseSpec.
func (*LeaseSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package install installs the coordination API group, making it available as an option to all of the API encoding/decoding machinery.
|
Package install installs the coordination API group, making it available as an option to all of the API encoding/decoding machinery. |