ClusterClass [cluster.x-k8s.io/v1beta1]
- Description
- ClusterClass is a template which can be used to create managed topologies.
- Type
object
Specification
.spec
- Description
- spec is the desired state of ClusterClass.
- Type
object
.spec.availabilityGates
- Description
- availabilityGates specifies additional conditions to include when evaluating Cluster Available condition. NOTE: this field is considered only for computing v1beta2 conditions. NOTE: If a Cluster is using this ClusterClass, and this Cluster defines a custom list of availabilityGates, such list overrides availabilityGates defined in this field.
- Type
array
.spec.availabilityGates[]
- Description
- ClusterAvailabilityGate contains the type of a Cluster condition to be used as availability gate.
- Type
object- Required
conditionType
.spec.controlPlane
- Description
- controlPlane is a reference to a local struct that holds the details for provisioning the Control Plane for the Cluster.
- Type
object- Required
ref
.spec.controlPlane.machineHealthCheck
- Description
- machineHealthCheck defines a MachineHealthCheck for this ControlPlaneClass. This field is supported if and only if the ControlPlane provider template referenced above is Machine based and supports setting replicas.
- Type
object
.spec.controlPlane.machineHealthCheck.remediationTemplate
- Description
- 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.
- Type
object
.spec.controlPlane.machineHealthCheck.unhealthyConditions
- Description
- 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.
- Type
array
.spec.controlPlane.machineHealthCheck.unhealthyConditions[]
- Description
- UnhealthyCondition represents a Node condition type and value with a timeout specified as a duration. When the named condition has been in the given status for at least the timeout value, a node is considered unhealthy.
- Type
object- Required
statustimeouttype
.spec.controlPlane.machineInfrastructure
- Description
- machineInfrastructure defines the metadata and infrastructure information for control plane machines. This field is supported if and only if the control plane provider template referenced above is Machine based and supports setting replicas.
- Type
object- Required
ref
.spec.controlPlane.machineInfrastructure.ref
- Description
- ref is a required reference to a custom resource offered by a provider.
- Type
object
.spec.controlPlane.namingStrategy
- Description
- namingStrategy allows changing the naming pattern used when creating the control plane provider object.
- Type
object
.spec.controlPlane.readinessGates
- Description
- readinessGates specifies additional conditions to include when evaluating Machine Ready condition. This field can be used e.g. to instruct the machine controller to include in the computation for Machine's ready computation a condition, managed by an external controllers, reporting the status of special software/hardware installed on the Machine. NOTE: This field is considered only for computing v1beta2 conditions. NOTE: If a Cluster defines a custom list of readinessGates for the control plane, such list overrides readinessGates defined in this field. NOTE: Specific control plane provider implementations might automatically extend the list of readinessGates; e.g. the kubeadm control provider adds ReadinessGates for the APIServerPodHealthy, SchedulerPodHealthy conditions, etc.
- Type
array
.spec.controlPlane.readinessGates[]
- Description
- MachineReadinessGate contains the type of a Machine condition to be used as a readiness gate.
- Type
object- Required
conditionType
.spec.controlPlane.ref
- Description
- ref is a required reference to a custom resource offered by a provider.
- Type
object
.spec.infrastructure
- Description
- infrastructure is a reference to a provider-specific template that holds the details for provisioning infrastructure specific cluster for the underlying provider. The underlying provider is responsible for the implementation of the template to an infrastructure cluster.
- Type
object- Required
ref
.spec.infrastructure.ref
- Description
- ref is a required reference to a custom resource offered by a provider.
- Type
object
.spec.infrastructureNamingStrategy
- Description
- infrastructureNamingStrategy allows changing the naming pattern used when creating the infrastructure object.
- Type
object
.spec.patches
- Description
- patches defines the patches which are applied to customize referenced templates of a ClusterClass. Note: Patches will be applied in the order of the array.
- Type
array
.spec.patches[]
- Description
- ClusterClassPatch defines a patch which is applied to customize the referenced templates.
- Type
object- Required
name
.spec.patches[].definitions
- Description
- definitions define inline patches. Note: Patches will be applied in the order of the array. Note: Exactly one of Definitions or External must be set.
- Type
array
.spec.patches[].definitions[]
- Description
- PatchDefinition defines a patch which is applied to customize the referenced templates.
- Type
object- Required
jsonPatchesselector
.spec.patches[].definitions[].jsonPatches
- Description
- jsonPatches defines the patches which should be applied on the templates matching the selector. Note: Patches will be applied in the order of the array.
- Type
array
.spec.patches[].definitions[].jsonPatches[]
- Description
- JSONPatch defines a JSON patch.
- Type
object- Required
oppath
.spec.patches[].definitions[].jsonPatches[].valueFrom
- Description
- valueFrom defines the value of the patch. Note: Either Value or ValueFrom is required for add and replace operations. Only one of them is allowed to be set at the same time.
- Type
object
.spec.patches[].definitions[].selector
- Description
- selector defines on which templates the patch should be applied.
- Type
object- Required
apiVersionkindmatchResources
.spec.patches[].definitions[].selector.matchResources
- Description
- matchResources selects templates based on where they are referenced.
- Type
object
.spec.patches[].definitions[].selector.matchResources.machineDeploymentClass
- Description
- machineDeploymentClass selects templates referenced in specific MachineDeploymentClasses in .spec.workers.machineDeployments.
- Type
object
.spec.patches[].definitions[].selector.matchResources.machineDeploymentClass.names
- Description
- names selects templates by class names.
- Type
array
.spec.patches[].definitions[].selector.matchResources.machineDeploymentClass.names[]
- Type
string
.spec.patches[].definitions[].selector.matchResources.machinePoolClass
- Description
- machinePoolClass selects templates referenced in specific MachinePoolClasses in .spec.workers.machinePools.
- Type
object
.spec.patches[].definitions[].selector.matchResources.machinePoolClass.names
- Description
- names selects templates by class names.
- Type
array
.spec.patches[].definitions[].selector.matchResources.machinePoolClass.names[]
- Type
string
.spec.patches[].external
- Description
- external defines an external patch. Note: Exactly one of Definitions or External must be set.
- Type
object
.spec.patches[].external.settings
- Description
- settings defines key value pairs to be passed to the extensions. Values defined here take precedence over the values defined in the corresponding ExtensionConfig.
- Type
object
.spec.variables
- Description
- variables defines the variables which can be configured in the Cluster topology and are then used in patches.
- Type
array
.spec.variables[]
- Description
- ClusterClassVariable defines a variable which can be configured in the Cluster topology and used in patches.
- Type
object- Required
namerequiredschema
.spec.variables[].schema
- Description
- schema defines the schema of the variable.
- Type
object- Required
openAPIV3Schema
.spec.variables[].schema.openAPIV3Schema
- Description
- openAPIV3Schema defines the schema of a variable via OpenAPI v3 schema. The schema is a subset of the schema used in Kubernetes CRDs.
- Type
object
.spec.variables[].schema.openAPIV3Schema.enum
- Description
- enum is the list of valid values of the variable. NOTE: Can be set for all types.
- Type
array
.spec.variables[].schema.openAPIV3Schema.enum[]
- Type
.spec.variables[].schema.openAPIV3Schema.required
- Description
- required specifies which fields of an object are required. NOTE: Can only be set if type is object.
- Type
array
.spec.variables[].schema.openAPIV3Schema.required[]
- Type
string
.spec.variables[].schema.openAPIV3Schema.x-kubernetes-validations
- Description
- x-kubernetes-validations describes a list of validation rules written in the CEL expression language.
- Type
array
.spec.variables[].schema.openAPIV3Schema.x-kubernetes-validations[]
- Description
- ValidationRule describes a validation rule written in the CEL expression language.
- Type
object- Required
rule
.spec.variables[].schema.openAPIV3Schema.x-metadata
- Description
- x-metadata is the metadata of a variable or a nested field within a variable. It can be used to add additional data for higher level tools.
- Type
object
.spec.variables[].schema.openAPIV3Schema.x-metadata.annotations
- Description
- annotations is an unstructured key value map that can be used to store and retrieve arbitrary metadata. They are not queryable.
- Type
object
.spec.variables[].schema.openAPIV3Schema.x-metadata.labels
- Description
- labels is a map of string keys and values that can be used to organize and categorize (scope and select) variables.
- Type
object
.spec.workers
- Description
- workers describes the worker nodes for the cluster. It is a collection of node types which can be used to create the worker nodes of the cluster.
- Type
object
.spec.workers.machineDeployments
- Description
- machineDeployments is a list of machine deployment classes that can be used to create a set of worker nodes.
- Type
array
.spec.workers.machineDeployments[]
- Description
- MachineDeploymentClass serves as a template to define a set of worker nodes of the cluster provisioned using the `ClusterClass`.
- Type
object- Required
classtemplate
.spec.workers.machineDeployments[].machineHealthCheck
- Description
- machineHealthCheck defines a MachineHealthCheck for this MachineDeploymentClass.
- Type
object
.spec.workers.machineDeployments[].machineHealthCheck.remediationTemplate
- Description
- 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.
- Type
object
.spec.workers.machineDeployments[].machineHealthCheck.unhealthyConditions
- Description
- 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.
- Type
array
.spec.workers.machineDeployments[].machineHealthCheck.unhealthyConditions[]
- Description
- UnhealthyCondition represents a Node condition type and value with a timeout specified as a duration. When the named condition has been in the given status for at least the timeout value, a node is considered unhealthy.
- Type
object- Required
statustimeouttype
.spec.workers.machineDeployments[].namingStrategy
- Description
- namingStrategy allows changing the naming pattern used when creating the MachineDeployment.
- Type
object
.spec.workers.machineDeployments[].readinessGates
- Description
- readinessGates specifies additional conditions to include when evaluating Machine Ready condition. This field can be used e.g. to instruct the machine controller to include in the computation for Machine's ready computation a condition, managed by an external controllers, reporting the status of special software/hardware installed on the Machine. NOTE: This field is considered only for computing v1beta2 conditions. NOTE: If a Cluster defines a custom list of readinessGates for a MachineDeployment using this MachineDeploymentClass, such list overrides readinessGates defined in this field.
- Type
array
.spec.workers.machineDeployments[].readinessGates[]
- Description
- MachineReadinessGate contains the type of a Machine condition to be used as a readiness gate.
- Type
object- Required
conditionType
.spec.workers.machineDeployments[].strategy
- Description
- strategy is the deployment strategy to use to replace existing machines with new ones. NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.
- Type
object
.spec.workers.machineDeployments[].strategy.remediation
- Description
- remediation controls the strategy of remediating unhealthy machines and how remediating operations should occur during the lifecycle of the dependant MachineSets.
- Type
object
.spec.workers.machineDeployments[].strategy.rollingUpdate
- Description
- rollingUpdate is the rolling update config params. Present only if MachineDeploymentStrategyType = RollingUpdate.
- Type
object
.spec.workers.machineDeployments[].template
- Description
- template is a local struct containing a collection of templates for creation of MachineDeployment objects representing a set of worker nodes.
- Type
object- Required
bootstrapinfrastructure
.spec.workers.machineDeployments[].template.bootstrap
- Description
- bootstrap contains the bootstrap template reference to be used for the creation of worker Machines.
- Type
object- Required
ref
.spec.workers.machineDeployments[].template.bootstrap.ref
- Description
- ref is a required reference to a custom resource offered by a provider.
- Type
object
.spec.workers.machineDeployments[].template.infrastructure
- Description
- infrastructure contains the infrastructure template reference to be used for the creation of worker Machines.
- Type
object- Required
ref
.spec.workers.machineDeployments[].template.infrastructure.ref
- Description
- ref is a required reference to a custom resource offered by a provider.
- Type
object
.spec.workers.machinePools
- Description
- machinePools is a list of machine pool classes that can be used to create a set of worker nodes.
- Type
array
.spec.workers.machinePools[]
- Description
- MachinePoolClass serves as a template to define a pool of worker nodes of the cluster provisioned using `ClusterClass`.
- Type
object- Required
classtemplate
.spec.workers.machinePools[].failureDomains
- Description
- failureDomains is the list of failure domains the MachinePool should be attached to. Must match a key in the FailureDomains map stored on the cluster object. NOTE: This value can be overridden while defining a Cluster.Topology using this MachinePoolClass.
- Type
array
.spec.workers.machinePools[].failureDomains[]
- Type
string
.spec.workers.machinePools[].namingStrategy
- Description
- namingStrategy allows changing the naming pattern used when creating the MachinePool.
- Type
object
.spec.workers.machinePools[].template
- Description
- template is a local struct containing a collection of templates for creation of MachinePools objects representing a pool of worker nodes.
- Type
object- Required
bootstrapinfrastructure
.spec.workers.machinePools[].template.bootstrap
- Description
- bootstrap contains the bootstrap template reference to be used for the creation of the Machines in the MachinePool.
- Type
object- Required
ref
.spec.workers.machinePools[].template.bootstrap.ref
- Description
- ref is a required reference to a custom resource offered by a provider.
- Type
object
.spec.workers.machinePools[].template.infrastructure
- Description
- infrastructure contains the infrastructure template reference to be used for the creation of the MachinePool.
- Type
object- Required
ref
.spec.workers.machinePools[].template.infrastructure.ref
- Description
- ref is a required reference to a custom resource offered by a provider.
- Type
object
.status
- Description
- status is the observed state of ClusterClass.
- Type
object
.status.conditions
- Description
- conditions defines current observed state of the ClusterClass.
- Type
array
.status.conditions[]
- Description
- Condition defines an observation of a Cluster API resource operational state.
- Type
object- Required
lastTransitionTimestatustype
.status.v1beta2
- Description
- v1beta2 groups all the fields that will be added or modified in ClusterClass's status with the V1Beta2 version.
- Type
object
.status.v1beta2.conditions
- Description
- conditions represents the observations of a ClusterClass's current state. Known condition types are VariablesReady, RefVersionsUpToDate, Paused.
- Type
array
.status.v1beta2.conditions[]
- Description
- Condition contains details for one aspect of the current state of this API Resource.
- Type
object- Required
lastTransitionTimemessagereasonstatustype
.status.variables
- Description
- variables is a list of ClusterClassStatusVariable that are defined for the ClusterClass.
- Type
array
.status.variables[]
- Description
- ClusterClassStatusVariable defines a variable which appears in the status of a ClusterClass.
- Type
object- Required
definitionsname
.status.variables[].definitions
- Description
- definitions is a list of definitions for a variable.
- Type
array
.status.variables[].definitions[]
- Description
- ClusterClassStatusVariableDefinition defines a variable which appears in the status of a ClusterClass.
- Type
object- Required
fromrequiredschema
.status.variables[].definitions[].schema
- Description
- schema defines the schema of the variable.
- Type
object- Required
openAPIV3Schema
.status.variables[].definitions[].schema.openAPIV3Schema
- Description
- openAPIV3Schema defines the schema of a variable via OpenAPI v3 schema. The schema is a subset of the schema used in Kubernetes CRDs.
- Type
object
.status.variables[].definitions[].schema.openAPIV3Schema.enum
- Description
- enum is the list of valid values of the variable. NOTE: Can be set for all types.
- Type
array
.status.variables[].definitions[].schema.openAPIV3Schema.enum[]
- Type
.status.variables[].definitions[].schema.openAPIV3Schema.required
- Description
- required specifies which fields of an object are required. NOTE: Can only be set if type is object.
- Type
array
.status.variables[].definitions[].schema.openAPIV3Schema.required[]
- Type
string
.status.variables[].definitions[].schema.openAPIV3Schema.x-kubernetes-validations
- Description
- x-kubernetes-validations describes a list of validation rules written in the CEL expression language.
- Type
array
.status.variables[].definitions[].schema.openAPIV3Schema.x-kubernetes-validations[]
- Description
- ValidationRule describes a validation rule written in the CEL expression language.
- Type
object- Required
rule
.status.variables[].definitions[].schema.openAPIV3Schema.x-metadata
- Description
- x-metadata is the metadata of a variable or a nested field within a variable. It can be used to add additional data for higher level tools.
- Type
object
.status.variables[].definitions[].schema.openAPIV3Schema.x-metadata.annotations
- Description
- annotations is an unstructured key value map that can be used to store and retrieve arbitrary metadata. They are not queryable.
- Type
object
.status.variables[].definitions[].schema.openAPIV3Schema.x-metadata.labels
- Description
- labels is a map of string keys and values that can be used to organize and categorize (scope and select) variables.
- Type
object
API Endpoints
The following API endpoints are available:
/apis/cluster.x-k8s.io/v1beta1/namespaces/{namespace}/clusterclassesDELETE: delete collection of ClusterClassGET: list objects of kind ClusterClassPOST: create a new ClusterClass
/apis/cluster.x-k8s.io/v1beta1/namespaces/{namespace}/clusterclasses/{name}DELETE: delete the specified ClusterClassGET: read the specified ClusterClassPATCH: partially update the specified ClusterClassPUT: replace the specified ClusterClass
/apis/cluster.x-k8s.io/v1beta1/namespaces/{namespace}/clusterclasses/{name}/statusGET: read status of the specified ClusterClassPATCH: partially update status of the specified ClusterClassPUT: replace status of the specified ClusterClass
/apis/cluster.x-k8s.io/v1beta1/namespaces/{namespace}/clusterclasses
- HTTP method
DELETE- Description
- delete collection of ClusterClass
- HTTP responses
- HTTP method
GET- Description
- list objects of kind ClusterClass
- HTTP responses
- HTTP method
POST- Description
- create a new ClusterClass
- Query parameters
- Body parameters
- HTTP responses
/apis/cluster.x-k8s.io/v1beta1/namespaces/{namespace}/clusterclasses/{name}
- HTTP method
DELETE- Description
- delete the specified ClusterClass
- Query parameters
- HTTP responses
- HTTP method
GET- Description
- read the specified ClusterClass
- HTTP responses
- HTTP method
PATCH- Description
- partially update the specified ClusterClass
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace the specified ClusterClass
- Query parameters
- Body parameters
- HTTP responses
/apis/cluster.x-k8s.io/v1beta1/namespaces/{namespace}/clusterclasses/{name}/status
- HTTP method
GET- Description
- read status of the specified ClusterClass
- HTTP responses
- HTTP method
PATCH- Description
- partially update status of the specified ClusterClass
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace status of the specified ClusterClass
- Query parameters
- Body parameters
- HTTP responses