package coordination
import "k8s.io/kubernetes/pkg/apis/coordination"
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type CoordinatedLeaseStrategy
- type Lease
- func (in *Lease) DeepCopy() *Lease
- func (in *Lease) DeepCopyInto(out *Lease)
- func (in *Lease) DeepCopyObject() runtime.Object
- type LeaseCandidate
- func (in *LeaseCandidate) DeepCopy() *LeaseCandidate
- func (in *LeaseCandidate) DeepCopyInto(out *LeaseCandidate)
- func (in *LeaseCandidate) DeepCopyObject() runtime.Object
- type LeaseCandidateList
- func (in *LeaseCandidateList) DeepCopy() *LeaseCandidateList
- func (in *LeaseCandidateList) DeepCopyInto(out *LeaseCandidateList)
- func (in *LeaseCandidateList) DeepCopyObject() runtime.Object
- type LeaseCandidateSpec
- func (in *LeaseCandidateSpec) DeepCopy() *LeaseCandidateSpec
- func (in *LeaseCandidateSpec) DeepCopyInto(out *LeaseCandidateSpec)
- type LeaseList
- func (in *LeaseList) DeepCopy() *LeaseList
- func (in *LeaseList) DeepCopyInto(out *LeaseList)
- func (in *LeaseList) DeepCopyObject() runtime.Object
- type LeaseSpec
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 Kind ¶
Kind takes an unqualified kind and returns a Group qualified GroupKind
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type CoordinatedLeaseStrategy ¶
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 ¶
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 ¶
func (in *LeaseCandidate) DeepCopy() *LeaseCandidate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseCandidate.
func (*LeaseCandidate) DeepCopyInto ¶
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 ¶
func (in *LeaseCandidate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LeaseCandidateList ¶
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 ¶
func (in *LeaseCandidateList) DeepCopy() *LeaseCandidateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseCandidateList.
func (*LeaseCandidateList) DeepCopyInto ¶
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 ¶
func (in *LeaseCandidateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LeaseCandidateSpec ¶
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 ¶
func (in *LeaseCandidateSpec) DeepCopy() *LeaseCandidateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseCandidateSpec.
func (*LeaseCandidateSpec) DeepCopyInto ¶
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.
Source Files ¶
doc.go register.go types.go zz_generated.deepcopy.go
Directories ¶
Path | Synopsis |
---|---|
pkg/apis/coordination/install | Package install installs the coordination API group, making it available as an option to all of the API encoding/decoding machinery. |
pkg/apis/coordination/v1 | |
pkg/apis/coordination/v1alpha2 | |
pkg/apis/coordination/v1beta1 | |
pkg/apis/coordination/validation |
- Version
- v1.33.0 (latest)
- Published
- Apr 23, 2025
- Platform
- linux/amd64
- Imports
- 3 packages
- Last checked
- 3 hours ago –
Tools for package owners.