Class V1alpha1Eviction
Eviction initiates an eviction process, which should ideally result in a
graceful eviction of a .spec.target (e.g. termination of a pod).
The evictionrequest-controller observes intents of all EvictionRequests and
transforms them into Evictions. It manages the Eviction lifecycle. Requesters
are preserved in .status.requesters even after they have withdrawn their
request. If all requesters withdraw their eviction intent for a common target,
the eviction will be canceled. Once all EvictionRequest corresponding to this
Eviction .spec.target have been removed, this Eviction object will eventually be
garbage collected.
If the target is a pod, the .status.targetResponders is populated from Pod's
.spec.evictionResponders.
Responders should observe and communicate through the .status to help with the
eviction of the target when they see their state == Active in
.status.targetResponders. ResponderStatus struct should then be periodically
updated to indicate the progress or completion of the eviction process by each
responder in .status.responders. If .status.responders[].heartbeatTime is not
updated within the heartbeat deadline defined by the Eviction API (currently 20
minutes), the eviction is passed over to the next responder with a lower
priority.
If there are no other responders and the target is a pod, the last default
imperative-eviction.k8s.io/evictor responder with a priority of 100 will evict
the pod using the imperative Eviction API (pods/<name>/eviction subresource).
Inheritance
V1alpha1Eviction
Assembly: KubernetesClient.dll
Syntax
[KubernetesEntity(Group = "lifecycle.k8s.io", Kind = "Eviction", ApiVersion = "v1alpha1", PluralName = "evictions")]
public record V1alpha1Eviction : IKubernetesObject<V1ObjectMeta>, IKubernetesObject, IMetadata<V1ObjectMeta>, ISpec<V1alpha1EvictionSpec>, IEquatable<V1alpha1Eviction>
Constructors
V1alpha1Eviction()
Declaration
public V1alpha1Eviction()
V1alpha1Eviction(V1alpha1Eviction)
Declaration
protected V1alpha1Eviction(V1alpha1Eviction original)
Parameters
Fields
KubeApiVersion
Declaration
public const string KubeApiVersion = "v1alpha1"
Field Value
KubeGroup
Declaration
public const string KubeGroup = "lifecycle.k8s.io"
Field Value
KubeKind
Declaration
public const string KubeKind = "Eviction"
Field Value
KubePluralName
Declaration
public const string KubePluralName = "evictions"
Field Value
Properties
ApiVersion
Declaration
[JsonPropertyName("apiVersion")]
public string ApiVersion { get; set; }
Property Value
EqualityContract
Declaration
protected virtual Type EqualityContract { get; }
Property Value
Kind
Declaration
[JsonPropertyName("kind")]
public string Kind { get; set; }
Property Value
metadata is the standard object metadata; More info:
https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
.metadata.name set by the evictionrequest-controller is purely informative and
subject to change. .spec.target field should be used to identify the target
precisesly.
The requester and responder names will be used as label keys and added to the
labels of the eviction in one of the following formats: 1. acme.io/foo:
"requester" 2. acme.io/foo: "responder" 3. acme.io/foo: "requester-responder"
Please see EvictionParticipantRole for available role label values.
Declaration
[JsonPropertyName("metadata")]
public V1ObjectMeta Metadata { get; set; }
Property Value
Spec
Declaration
[JsonPropertyName("spec")]
public V1alpha1EvictionSpec Spec { get; set; }
Property Value
Status
Declaration
[JsonPropertyName("status")]
public V1alpha1EvictionStatus Status { get; set; }
Property Value
Methods
Equals(object?)
Declaration
public override bool Equals(object? obj)
Parameters
| Type |
Name |
Description |
| object |
obj |
|
Returns
Overrides
Equals(V1alpha1Eviction?)
Declaration
public virtual bool Equals(V1alpha1Eviction? other)
Parameters
Returns
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Overrides
PrintMembers(StringBuilder)
Declaration
protected virtual bool PrintMembers(StringBuilder builder)
Parameters
Returns
ToString()
Declaration
public override string ToString()
Returns
Overrides
Operators
operator ==(V1alpha1Eviction?, V1alpha1Eviction?)
Declaration
public static bool operator ==(V1alpha1Eviction? left, V1alpha1Eviction? right)
Parameters
Returns
operator !=(V1alpha1Eviction?, V1alpha1Eviction?)
Declaration
public static bool operator !=(V1alpha1Eviction? left, V1alpha1Eviction? right)
Parameters
Returns
Implements
Extension Methods