Skip to content

Latest commit

 

History

History
1020 lines (865 loc) · 26.6 KB

DOC.md

File metadata and controls

1020 lines (865 loc) · 26.6 KB

API Reference

Packages:

nodedisruption.criteo.com/v1alpha1

Resource Types:

ApplicationDisruptionBudget

↩ Parent

ApplicationDisruptionBudget is the Schema for the applicationdisruptionbudgets API

Name Type Description Required
apiVersion string nodedisruption.criteo.com/v1alpha1 true
kind string ApplicationDisruptionBudget true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object ApplicationDisruptionBudgetSpec defines the desired state of ApplicationDisruptionBudget
false
status object DisruptionBudgetStatus defines the observed state of ApplicationDisruptionBudget
false

ApplicationDisruptionBudget.spec

↩ Parent

ApplicationDisruptionBudgetSpec defines the desired state of ApplicationDisruptionBudget

Name Type Description Required
maxDisruptions integer A NodeDisruption is allowed if at most "maxDisruptions" nodes selected by selectors are unavailable after the disruption.
true
healthHook object Define a optional hook to call when validating a NodeDisruption. It perform a POST http request containing the NodeDisruption that is being validated. Maintenance will proceed only if the endpoint responds 2XX.
false
podSelector object PodSelector query over pods whose nodes are managed by the disruption budget.
false
pvcSelector object PVCSelector query over PVCs whose nodes are managed by the disruption budget.
false

ApplicationDisruptionBudget.spec.healthHook

↩ Parent

Define a optional hook to call when validating a NodeDisruption. It perform a POST http request containing the NodeDisruption that is being validated. Maintenance will proceed only if the endpoint responds 2XX.

Name Type Description Required
caBundle string a PEM encoded CA bundle which will be used to validate the webhook's server certificate. If unspecified, system trust roots on the apiserver are used.
false
url string URL that will be called by the hook, in standard URL form (`scheme://host:port/path`).
false

ApplicationDisruptionBudget.spec.podSelector

↩ Parent

PodSelector query over pods whose nodes are managed by the disruption budget.

Name Type Description Required
matchExpressions []object matchExpressions is a list of label selector requirements. The requirements are ANDed.
false
matchLabels map[string]string matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
false

ApplicationDisruptionBudget.spec.podSelector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Name Type Description Required
key string key is the label key that the selector applies to.
true
operator string operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
true
values []string values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
false

ApplicationDisruptionBudget.spec.pvcSelector

↩ Parent

PVCSelector query over PVCs whose nodes are managed by the disruption budget.

Name Type Description Required
matchExpressions []object matchExpressions is a list of label selector requirements. The requirements are ANDed.
false
matchLabels map[string]string matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
false

ApplicationDisruptionBudget.spec.pvcSelector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Name Type Description Required
key string key is the label key that the selector applies to.
true
operator string operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
true
values []string values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
false

ApplicationDisruptionBudget.status

↩ Parent

DisruptionBudgetStatus defines the observed state of ApplicationDisruptionBudget

Name Type Description Required
currentDisruptions integer Number of disruption currently seen on the cluster

Default: 0
true
disruptions []object Disruptions contains a list of disruptions that are related to the budget
true
disruptionsAllowed integer Number of disruption allowed on the nodes of this

Default: 0
true
watchedNodes []string List of nodes that are being watched by the controller Disruption on this nodes will will be made according to the budget of this cluster.
false

ApplicationDisruptionBudget.status.disruptions[index]

↩ Parent

Basic information about disruptions

Name Type Description Required
name string Name of the disruption
true
state string State of the disruption
true

NodeDisruptionBudget

↩ Parent

NodeDisruptionBudget is the Schema for the nodedisruptionbudgets API

Name Type Description Required
apiVersion string nodedisruption.criteo.com/v1alpha1 true
kind string NodeDisruptionBudget true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object NodeDisruptionBudgetSpec defines the desired state of NodeDisruptionBudget
false
status object DisruptionBudgetStatus defines the observed state of ApplicationDisruptionBudget
false

NodeDisruptionBudget.spec

↩ Parent

NodeDisruptionBudgetSpec defines the desired state of NodeDisruptionBudget

Name Type Description Required
maxDisruptedNodes integer A NodeDisruption is allowed if at most "maxDisruptedNodes" nodes selected by selectors are unavailable after the disruption.
true
minUndisruptedNodes integer A NodeDisruption is allowed if at most "minUndisruptedNodes" nodes selected by selectors are unavailable after the disruption.
true
nodeSelector object NodeSelector query over pods whose nodes are managed by the disruption budget.
false

NodeDisruptionBudget.spec.nodeSelector

↩ Parent

NodeSelector query over pods whose nodes are managed by the disruption budget.

Name Type Description Required
matchExpressions []object matchExpressions is a list of label selector requirements. The requirements are ANDed.
false
matchLabels map[string]string matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
false

NodeDisruptionBudget.spec.nodeSelector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Name Type Description Required
key string key is the label key that the selector applies to.
true
operator string operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
true
values []string values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
false

NodeDisruptionBudget.status

↩ Parent

DisruptionBudgetStatus defines the observed state of ApplicationDisruptionBudget

Name Type Description Required
currentDisruptions integer Number of disruption currently seen on the cluster

Default: 0
true
disruptions []object Disruptions contains a list of disruptions that are related to the budget
true
disruptionsAllowed integer Number of disruption allowed on the nodes of this

Default: 0
true
watchedNodes []string List of nodes that are being watched by the controller Disruption on this nodes will will be made according to the budget of this cluster.
false

NodeDisruptionBudget.status.disruptions[index]

↩ Parent

Basic information about disruptions

Name Type Description Required
name string Name of the disruption
true
state string State of the disruption
true

NodeDisruption

↩ Parent

NodeDisruption is the Schema for the nodedisruptions API

Name Type Description Required
apiVersion string nodedisruption.criteo.com/v1alpha1 true
kind string NodeDisruption true
metadata object Refer to the Kubernetes API documentation for the fields of the `metadata` field. true
spec object NodeDisruptionSpec defines the desired state of NodeDisruption
false
status object NodeDisruptionStatus defines the observed state of NodeDisruption (/!\ it is eventually consistent)
false

NodeDisruption.spec

↩ Parent

NodeDisruptionSpec defines the desired state of NodeDisruption

Name Type Description Required
nodeSelector object Label query over nodes that will be impacted by the disruption
false
retry object Configure the retrying behavior of a NodeDisruption
false
type string Type of the node disruption
false

NodeDisruption.spec.nodeSelector

↩ Parent

Label query over nodes that will be impacted by the disruption

Name Type Description Required
matchExpressions []object matchExpressions is a list of label selector requirements. The requirements are ANDed.
false
matchLabels map[string]string matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
false

NodeDisruption.spec.nodeSelector.matchExpressions[index]

↩ Parent

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Name Type Description Required
key string key is the label key that the selector applies to.
true
operator string operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
true
values []string values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
false

NodeDisruption.spec.retry

↩ Parent

Configure the retrying behavior of a NodeDisruption

Name Type Description Required
deadline string Deadline after which the disruption is not retried

Format: date-time
false
enabled boolean Enable retrying
false

NodeDisruption.status

↩ Parent

NodeDisruptionStatus defines the observed state of NodeDisruption (/!\ it is eventually consistent)

Name Type Description Required
disruptedDisruptionBudgets []object List of all the budgets disrupted by the NodeDisruption
false
disruptedNodes []string List of all the nodes that are disrupted by this NodeDisruption
false
nextRetryDate string Date of the next attempt

Format: date-time
false
state enum Disruption status

Enum: pending, granted, rejected
Default: pending
false

NodeDisruption.status.disruptedDisruptionBudgets[index]

↩ Parent

Name Type Description Required
ok boolean
true
reason string
true
reference object This is the same as types.NamespacedName but serialisable to JSON
false

NodeDisruption.status.disruptedDisruptionBudgets[index].reference

↩ Parent

This is the same as types.NamespacedName but serialisable to JSON

Name Type Description Required
kind string
true
name string
true
namespace string
true