pub struct ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck {
pub enable: Option<bool>,
pub max_unhealthy: Option<IntOrString>,
pub node_startup_timeout: Option<String>,
pub remediation_template: Option<ObjectReference>,
pub unhealthy_conditions: Option<Vec<ClusterTopologyWorkersMachineDeploymentsMachineHealthCheckUnhealthyConditions>>,
pub unhealthy_range: Option<String>,
}
Expand description
machineHealthCheck allows to enable, disable and override the MachineHealthCheck configuration in the ClusterClass for this MachineDeployment.
Fields§
§enable: Option<bool>
enable controls if a MachineHealthCheck should be created for the target machines.
If false: No MachineHealthCheck will be created.
If not set(default): A MachineHealthCheck will be created if it is defined here or in the associated ClusterClass. If no MachineHealthCheck is defined then none will be created.
If true: A MachineHealthCheck is guaranteed to be created. Cluster validation will
block if enable
is true and no MachineHealthCheck definition is available.
max_unhealthy: Option<IntOrString>
maxUnhealthy specifies the maximum number of unhealthy machines allowed. Any further remediation is only allowed if at most “maxUnhealthy” machines selected by “selector” are not healthy.
node_startup_timeout: Option<String>
nodeStartupTimeout allows to set the maximum time for MachineHealthCheck
to consider a Machine unhealthy if a corresponding Node isn’t associated
through a Spec.ProviderID
field.
The duration set in this field is compared to the greatest of:
- Cluster’s infrastructure ready condition timestamp (if and when available)
- Control Plane’s initialized condition timestamp (if and when available)
- Machine’s infrastructure ready condition timestamp (if and when available)
- Machine’s metadata creation timestamp
Defaults to 10 minutes. If you wish to disable this feature, set the value explicitly to 0.
remediation_template: Option<ObjectReference>
remediationTemplate is a reference to a remediation template provided by an infrastructure provider.
This field is completely optional, when filled, the MachineHealthCheck controller creates a new object from the template referenced and hands off remediation of the machine to a controller that lives outside of Cluster API.
unhealthy_conditions: Option<Vec<ClusterTopologyWorkersMachineDeploymentsMachineHealthCheckUnhealthyConditions>>
unhealthyConditions contains a list of the conditions that determine whether a node is considered unhealthy. The conditions are combined in a logical OR, i.e. if any of the conditions is met, the node is unhealthy.
unhealthy_range: Option<String>
unhealthyRange specifies the range of unhealthy machines allowed. Any further remediation is only allowed if the number of machines selected by “selector” as not healthy is within the range of “unhealthyRange”. Takes precedence over maxUnhealthy. Eg. “[3-5]” - This means that remediation will be allowed only when: (a) there are at least 3 unhealthy machines (and) (b) there are at most 5 unhealthy machines
Trait Implementations§
Source§impl Clone for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
impl Clone for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
Source§fn clone(&self) -> ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
fn clone(&self) -> ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Default for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
impl Default for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
Source§fn default() -> ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
fn default() -> ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
Source§impl<'de> Deserialize<'de> for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
impl<'de> Deserialize<'de> for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
impl JsonSchema for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref
keyword. Read moreSource§impl PartialEq for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
impl PartialEq for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
Source§fn eq(
&self,
other: &ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck,
) -> bool
fn eq( &self, other: &ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck, ) -> bool
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
Auto Trait Implementations§
impl Freeze for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
impl RefUnwindSafe for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
impl Send for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
impl Sync for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
impl Unpin for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
impl UnwindSafe for ClusterTopologyWorkersMachineDeploymentsMachineHealthCheck
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more