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. // 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 when strategy is "OldestEmulationVersion" // +optional 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 // PreferredStrategies indicates the list of strategies for picking the leader for coordinated leader election. // The list is ordered, and the first strategy supersedes all other strategies. The list is used by coordinated // leader election to make a decision about the final election strategy. This follows as // - If all clients have strategy X as the first element in this list, strategy X will be used. // - If a candidate has strategy [X] and another candidate has strategy [Y, X], Y supersedes X and strategy Y // will be used. // - If a candidate has strategy [X, Y] and another candidate has strategy [Y, X], this is a user error and leader // election will not operate the Lease until resolved. // (Alpha) Using this field requires the CoordinatedLeaderElection feature gate to be enabled. // +featureGate=CoordinatedLeaderElection // +listType=atomic // +required PreferredStrategies []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. |