MachineConfigPool [machineconfiguration.openshift.io/v1]
Esc
Start typing to search...
On this page

MachineConfigPool [machineconfiguration.openshift.io/v1]

Description

MachineConfigPool describes a pool of MachineConfigs.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).

Type
`object`
Required
  • spec

Specification

PropertyTypeDescription
apiVersionstringAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kindstringKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadataObjectMetaStandard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
specobjectspec contains the desired machine config pool configuration.
statusobjectstatus contains observed information about the machine config pool.

.spec

Description

spec contains the desired machine config pool configuration.

Type
`object`
PropertyTypeDescription
configurationobjectThe targeted MachineConfig object for the machine config pool.
machineConfigSelectorobjectmachineConfigSelector specifies a label selector for MachineConfigs. Refer https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ on how label and selectors work.
maxUnavailableinteger-or-stringmaxUnavailable defines either an integer number or percentage of nodes in the pool that can go Unavailable during an update. This includes nodes Unavailable for any reason, including user initiated cordons, failing nodes, etc. The default value is 1.
A value larger than 1 will mean multiple nodes going unavailable during the update, which may affect your workload stress on the remaining nodes. You cannot set this value to 0 to stop updates (it will default back to 1); to stop updates, use the 'paused' property instead. Drain will respect Pod Disruption Budgets (PDBs) such as etcd quorum guards, even if maxUnavailable is greater than one.
nodeSelectorobjectnodeSelector specifies a label selector for Machines
pausedbooleanpaused specifies whether or not changes to this machine config pool should be stopped. This includes generating new desiredMachineConfig and update of machines.
pinnedImageSetsarraypinnedImageSets specifies a sequence of PinnedImageSetRef objects for the pool. Nodes within this pool will preload and pin images defined in the PinnedImageSet. Before pulling images the MachineConfigDaemon will ensure the total uncompressed size of all the images does not exceed available resources. If the total size of the images exceeds the available resources the controller will report a Degraded status to the MachineConfigPool and not attempt to pull any images. Also to help ensure the kubelet can mitigate storage risk, the pinned_image configuration and subsequent service reload will happen only after all of the images have been pulled for each set. Images from multiple PinnedImageSets are loaded and pinned sequentially as listed. Duplicate and existing images will be skipped.
Any failure to prefetch or pin images will result in a Degraded pool. Resolving these failures is the responsibility of the user. The admin should be proactive in ensuring adequate storage and proper image authentication exists in advance.
pinnedImageSets[]object

.spec.configuration

Description

The targeted MachineConfig object for the machine config pool.

Type
`object`
PropertyTypeDescription
apiVersionstringAPI version of the referent.
fieldPathstringIf referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.
kindstringKind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
namestringName of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
namespacestringNamespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
resourceVersionstringSpecific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
sourcearraysource is the list of MachineConfig objects that were used to generate the single MachineConfig object specified in content.
source[]objectObjectReference contains enough information to let you inspect or modify the referred object.
uidstringUID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

.spec.configuration.source

Description

source is the list of MachineConfig objects that were used to generate the single MachineConfig object specified in content.

Type
`array`

.spec.configuration.source[]

Description

ObjectReference contains enough information to let you inspect or modify the referred object.

Type
`object`
PropertyTypeDescription
apiVersionstringAPI version of the referent.
fieldPathstringIf referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.
kindstringKind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
namestringName of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
namespacestringNamespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
resourceVersionstringSpecific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
uidstringUID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

.spec.machineConfigSelector

Description

machineConfigSelector specifies a label selector for MachineConfigs. Refer https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ on how label and selectors work.

Type
`object`
PropertyTypeDescription
matchExpressionsarraymatchExpressions is a list of label selector requirements. The requirements are ANDed.
matchExpressions[]objectA label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
matchLabelsobject (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.

.spec.machineConfigSelector.matchExpressions

Description

matchExpressions is a list of label selector requirements. The requirements are ANDed.

Type
`array`

.spec.machineConfigSelector.matchExpressions[]

Description

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

Type
`object`
Required
  • key
  • operator
PropertyTypeDescription
keystringkey is the label key that the selector applies to.
operatorstringoperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
valuesarray (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.

.spec.nodeSelector

Description

nodeSelector specifies a label selector for Machines

Type
`object`
PropertyTypeDescription
matchExpressionsarraymatchExpressions is a list of label selector requirements. The requirements are ANDed.
matchExpressions[]objectA label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
matchLabelsobject (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.

.spec.nodeSelector.matchExpressions

Description

matchExpressions is a list of label selector requirements. The requirements are ANDed.

Type
`array`

.spec.nodeSelector.matchExpressions[]

Description

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

Type
`object`
Required
  • key
  • operator
PropertyTypeDescription
keystringkey is the label key that the selector applies to.
operatorstringoperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
valuesarray (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.

.spec.pinnedImageSets

Description

pinnedImageSets specifies a sequence of PinnedImageSetRef objects for the pool. Nodes within this pool will preload and pin images defined in the PinnedImageSet. Before pulling images the MachineConfigDaemon will ensure the total uncompressed size of all the images does not exceed available resources. If the total size of the images exceeds the available resources the controller will report a Degraded status to the MachineConfigPool and not attempt to pull any images. Also to help ensure the kubelet can mitigate storage risk, the pinned_image configuration and subsequent service reload will happen only after all of the images have been pulled for each set. Images from multiple PinnedImageSets are loaded and pinned sequentially as listed. Duplicate and existing images will be skipped.

Any failure to prefetch or pin images will result in a Degraded pool. Resolving these failures is the responsibility of the user. The admin should be proactive in ensuring adequate storage and proper image authentication exists in advance.

Type
`array`

.spec.pinnedImageSets[]

Description

Type
`object`
Required
  • name
PropertyTypeDescription
namestringname is a reference to the name of a PinnedImageSet. Must adhere to RFC-1123 (https://tools.ietf.org/html/rfc1123). Made up of one of more period-separated (.) segments, where each segment consists of alphanumeric characters and hyphens (-), must begin and end with an alphanumeric character, and is at most 63 characters in length. The total length of the name must not exceed 253 characters.

.status

Description

status contains observed information about the machine config pool.

Type
`object`
PropertyTypeDescription
certExpirysarraycertExpirys keeps track of important certificate expiration data
certExpirys[]objectceryExpiry contains the bundle name and the expiry date
conditionsarrayconditions represents the latest available observations of current state.
conditions[]objectMachineConfigPoolCondition contains condition information for an MachineConfigPool.
configurationobjectconfiguration represents the current MachineConfig object for the machine config pool.
degradedMachineCountintegerdegradedMachineCount represents the total number of machines marked degraded (or unreconcilable). A node is marked degraded if applying a configuration failed..
machineCountintegermachineCount represents the total number of machines in the machine config pool.
observedGenerationintegerobservedGeneration represents the generation observed by the controller.
poolSynchronizersStatusarraypoolSynchronizersStatus is the status of the machines managed by the pool synchronizers.
poolSynchronizersStatus[]object
readyMachineCountintegerreadyMachineCount represents the total number of ready machines targeted by the pool.
unavailableMachineCountintegerunavailableMachineCount represents the total number of unavailable (non-ready) machines targeted by the pool. A node is marked unavailable if it is in updating state or NodeReady condition is false.
updatedMachineCountintegerupdatedMachineCount represents the total number of machines targeted by the pool that have the CurrentMachineConfig as their config.

.status.certExpirys

Description

certExpirys keeps track of important certificate expiration data

Type
`array`

.status.certExpirys[]

Description

ceryExpiry contains the bundle name and the expiry date

Type
`object`
Required
  • bundle
  • subject
PropertyTypeDescription
bundlestringbundle is the name of the bundle in which the subject certificate resides
expirystringexpiry is the date after which the certificate will no longer be valid
subjectstringsubject is the subject of the certificate

.status.conditions

Description

conditions represents the latest available observations of current state.

Type
`array`

.status.conditions[]

Description

MachineConfigPoolCondition contains condition information for an MachineConfigPool.

Type
`object`
PropertyTypeDescription
lastTransitionTime``lastTransitionTime is the timestamp corresponding to the last status change of this condition.
messagestringmessage is a human readable description of the details of the last transition, complementing reason.
reasonstringreason is a brief machine readable explanation for the condition’s last transition.
statusstringstatus of the condition, one of ('True', 'False', 'Unknown').
typestringtype of the condition, currently ('Done', 'Updating', 'Failed').

.status.configuration

Description

configuration represents the current MachineConfig object for the machine config pool.

Type
`object`
PropertyTypeDescription
apiVersionstringAPI version of the referent.
fieldPathstringIf referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.
kindstringKind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
namestringName of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
namespacestringNamespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
resourceVersionstringSpecific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
sourcearraysource is the list of MachineConfig objects that were used to generate the single MachineConfig object specified in content.
source[]objectObjectReference contains enough information to let you inspect or modify the referred object.
uidstringUID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

.status.configuration.source

Description

source is the list of MachineConfig objects that were used to generate the single MachineConfig object specified in content.

Type
`array`

.status.configuration.source[]

Description

ObjectReference contains enough information to let you inspect or modify the referred object.

Type
`object`
PropertyTypeDescription
apiVersionstringAPI version of the referent.
fieldPathstringIf referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.
kindstringKind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
namestringName of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
namespacestringNamespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
resourceVersionstringSpecific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
uidstringUID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

.status.poolSynchronizersStatus

Description

poolSynchronizersStatus is the status of the machines managed by the pool synchronizers.

Type
`array`

.status.poolSynchronizersStatus[]

Description

Type
`object`
Required
  • availableMachineCount
  • machineCount
  • poolSynchronizerType
  • readyMachineCount
  • unavailableMachineCount
  • updatedMachineCount
PropertyTypeDescription
availableMachineCountintegeravailableMachineCount is the number of machines managed by the node synchronizer which are available.
machineCountintegermachineCount is the number of machines that are managed by the node synchronizer.
observedGenerationintegerobservedGeneration is the last generation change that has been applied.
poolSynchronizerTypestringpoolSynchronizerType describes the type of the pool synchronizer.
readyMachineCountintegerreadyMachineCount is the number of machines managed by the node synchronizer that are in a ready state.
unavailableMachineCountintegerunavailableMachineCount is the number of machines managed by the node synchronizer but are unavailable.
updatedMachineCountintegerupdatedMachineCount is the number of machines that have been updated by the node synchronizer.

API endpoints

The following API endpoints are available:

  • /apis/machineconfiguration.openshift.io/v1/machineconfigpools
    • DELETE: delete collection of MachineConfigPool
    • GET: list objects of kind MachineConfigPool
    • POST: create a MachineConfigPool
  • /apis/machineconfiguration.openshift.io/v1/machineconfigpools/{name}
    • DELETE: delete a MachineConfigPool
    • GET: read the specified MachineConfigPool
    • PATCH: partially update the specified MachineConfigPool
    • PUT: replace the specified MachineConfigPool
  • /apis/machineconfiguration.openshift.io/v1/machineconfigpools/{name}/status
    • GET: read status of the specified MachineConfigPool
    • PATCH: partially update status of the specified MachineConfigPool
    • PUT: replace status of the specified MachineConfigPool

/apis/machineconfiguration.openshift.io/v1/machineconfigpools

HTTP method
`DELETE`
Description
delete collection of MachineConfigPool

HTTP responses

HTTP codeReponse body
200 - OKStatus schema
401 - UnauthorizedEmpty
HTTP method
`GET`
Description
list objects of kind MachineConfigPool

HTTP responses

HTTP codeReponse body
200 - OKMachineConfigPoolList schema
401 - UnauthorizedEmpty
HTTP method
`POST`
Description
create a MachineConfigPool

Query parameters

ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Body parameters

ParameterTypeDescription
bodyMachineConfigPool schema

HTTP responses

HTTP codeReponse body
200 - OKMachineConfigPool schema
201 - CreatedMachineConfigPool schema
202 - AcceptedMachineConfigPool schema
401 - UnauthorizedEmpty

/apis/machineconfiguration.openshift.io/v1/machineconfigpools/{name}

Global path parameters

ParameterTypeDescription
namestringname of the MachineConfigPool
HTTP method
`DELETE`
Description
delete a MachineConfigPool

Query parameters

ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

HTTP responses

HTTP codeReponse body
200 - OKStatus schema
202 - AcceptedStatus schema
401 - UnauthorizedEmpty
HTTP method
`GET`
Description
read the specified MachineConfigPool

HTTP responses

HTTP codeReponse body
200 - OKMachineConfigPool schema
401 - UnauthorizedEmpty
HTTP method
`PATCH`
Description
partially update the specified MachineConfigPool

Query parameters

ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

HTTP responses

HTTP codeReponse body
200 - OKMachineConfigPool schema
401 - UnauthorizedEmpty
HTTP method
`PUT`
Description
replace the specified MachineConfigPool

Query parameters

ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Body parameters

ParameterTypeDescription
bodyMachineConfigPool schema

HTTP responses

HTTP codeReponse body
200 - OKMachineConfigPool schema
201 - CreatedMachineConfigPool schema
401 - UnauthorizedEmpty

/apis/machineconfiguration.openshift.io/v1/machineconfigpools/{name}/status

Global path parameters

ParameterTypeDescription
namestringname of the MachineConfigPool
HTTP method
`GET`
Description
read status of the specified MachineConfigPool

HTTP responses

HTTP codeReponse body
200 - OKMachineConfigPool schema
401 - UnauthorizedEmpty
HTTP method
`PATCH`
Description
partially update status of the specified MachineConfigPool

Query parameters

ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

HTTP responses

HTTP codeReponse body
200 - OKMachineConfigPool schema
401 - UnauthorizedEmpty
HTTP method
`PUT`
Description
replace status of the specified MachineConfigPool

Query parameters

ParameterTypeDescription
dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.

Body parameters

ParameterTypeDescription
bodyMachineConfigPool schema

HTTP responses

HTTP codeReponse body
200 - OKMachineConfigPool schema
201 - CreatedMachineConfigPool schema
401 - UnauthorizedEmpty