API Reference
API Reference
cluster.x-k8s.io/v1beta1
Package v1beta1 contains the v1beta1 API implementation.
Package v1beta1 contains API Schema definitions for the cluster v1beta1 API group
APIEndpoint
APIEndpoint represents a reachable Kubernetes API endpoint.
Field | Description | Default | Validation |
---|---|---|---|
|
host is the hostname on which the API server is serving. |
MaxLength: 512 |
|
|
port is the port on which the API server is serving. |
Bootstrap
Bootstrap encapsulates fields to configure the Machine’s bootstrapping mechanism.
Field | Description | Default | Validation |
---|---|---|---|
|
configRef is a reference to a bootstrap provider-specific resource |
||
|
dataSecretName is the name of the secret that stores the bootstrap data script. |
MaxLength: 253 |
Cluster
Cluster is the Schema for the clusters API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
spec is the desired state of Cluster. |
||
|
status is the observed state of Cluster. |
ClusterAvailabilityGate
ClusterAvailabilityGate contains the type of a Cluster condition to be used as availability gate.
Field | Description | Default | Validation |
---|---|---|---|
|
conditionType refers to a condition with matching type in the Cluster’s condition list. |
MaxLength: 316 |
|
|
polarity of the conditionType specified in this availabilityGate. |
Enum: [Positive Negative] |
ClusterClass
ClusterClass is a template which can be used to create managed topologies.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
spec is the desired state of ClusterClass. |
||
|
status is the observed state of ClusterClass. |
ClusterClassPatch
ClusterClassPatch defines a patch which is applied to customize the referenced templates.
Field | Description | Default | Validation |
---|---|---|---|
|
name of the patch. |
MaxLength: 256 |
|
|
description is a human-readable description of this patch. |
MaxLength: 1024 |
|
|
enabledIf is a Go template to be used to calculate if a patch should be enabled. |
MaxLength: 256 |
|
|
definitions define inline patches. |
MaxItems: 100 |
|
|
external defines an external patch. |
ClusterClassSpec
ClusterClassSpec describes the desired state of the ClusterClass.
Field | Description | Default | Validation | ||
---|---|---|---|---|---|
|
availabilityGates specifies additional conditions to include when evaluating Cluster Available condition.
|
MaxItems: 32 |
|||
|
infrastructure is a reference to a provider-specific template that holds |
||||
|
infrastructureNamingStrategy allows changing the naming pattern used when creating the infrastructure object. |
||||
|
controlPlane is a reference to a local struct that holds the details |
||||
|
workers describes the worker nodes for the cluster. |
||||
|
variables defines the variables which can be configured |
MaxItems: 1000 |
|||
|
patches defines the patches which are applied to customize |
MaxItems: 1000 |
ClusterClassStatus
ClusterClassStatus defines the observed state of the ClusterClass.
Field | Description | Default | Validation |
---|---|---|---|
|
variables is a list of ClusterClassStatusVariable that are defined for the ClusterClass. |
MaxItems: 1000 |
|
|
conditions defines current observed state of the ClusterClass. |
||
|
observedGeneration is the latest generation observed by the controller. |
||
|
v1beta2 groups all the fields that will be added or modified in ClusterClass’s status with the V1Beta2 version. |
ClusterClassStatusVariable
ClusterClassStatusVariable defines a variable which appears in the status of a ClusterClass.
Field | Description | Default | Validation |
---|---|---|---|
|
name is the name of the variable. |
MaxLength: 256 |
|
|
definitionsConflict specifies whether or not there are conflicting definitions for a single variable name. |
||
|
definitions is a list of definitions for a variable. |
MaxItems: 100 |
ClusterClassStatusVariableDefinition
ClusterClassStatusVariableDefinition defines a variable which appears in the status of a ClusterClass.
Field | Description | Default | Validation |
---|---|---|---|
|
from specifies the origin of the variable definition. |
MaxLength: 256 |
|
|
required specifies if the variable is required. |
||
|
Refer to Kubernetes API documentation for fields of |
||
|
schema defines the schema of the variable. |
ClusterClassV1Beta2Status
ClusterClassV1Beta2Status groups all the fields that will be added or modified in ClusterClass with the V1Beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
Field | Description | Default | Validation |
---|---|---|---|
|
conditions represents the observations of a ClusterClass’s current state. |
MaxItems: 32 |
ClusterClassVariable
ClusterClassVariable defines a variable which can be configured in the Cluster topology and used in patches.
Field | Description | Default | Validation |
---|---|---|---|
|
name of the variable. |
MaxLength: 256 |
|
|
required specifies if the variable is required. |
||
|
Refer to Kubernetes API documentation for fields of |
||
|
schema defines the schema of the variable. |
ClusterClassVariableMetadata
ClusterClassVariableMetadata is the metadata of a variable. It can be used to add additional data for higher level tools to a ClusterClassVariable.
Deprecated: This struct is deprecated and is going to be removed in the next apiVersion.
Field | Description | Default | Validation |
---|---|---|---|
|
labels is a map of string keys and values that can be used to organize and categorize |
||
|
annotations is an unstructured key value map that can be used to store and |
ClusterControlPlaneStatus
ClusterControlPlaneStatus groups all the observations about control plane current state.
Field | Description | Default | Validation |
---|---|---|---|
|
desiredReplicas is the total number of desired control plane machines in this cluster. |
||
|
replicas is the total number of control plane machines in this cluster. |
||
|
upToDateReplicas is the number of up-to-date control plane machines in this cluster. A machine is considered up-to-date when Machine’s UpToDate condition is true. |
||
|
readyReplicas is the total number of ready control plane machines in this cluster. A machine is considered ready when Machine’s Ready condition is true. |
||
|
availableReplicas is the total number of available control plane machines in this cluster. A machine is considered available when Machine’s Available condition is true. |
ClusterNetwork
ClusterNetwork specifies the different networking parameters for a cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
apiServerPort specifies the port the API Server should bind to. |
||
|
services is the network ranges from which service VIPs are allocated. |
||
|
pods is the network ranges from which Pod networks are allocated. |
||
|
serviceDomain is the domain name for services. |
MaxLength: 253 |
ClusterSpec
ClusterSpec defines the desired state of Cluster.
Field | Description | Default | Validation | ||
---|---|---|---|---|---|
|
paused can be used to prevent controllers from processing the Cluster and all its associated objects. |
||||
|
clusterNetwork represents the cluster network configuration. |
||||
|
controlPlaneEndpoint represents the endpoint used to communicate with the control plane. |
||||
|
controlPlaneRef is an optional reference to a provider-specific resource that holds |
||||
|
infrastructureRef is a reference to a provider-specific resource that holds the details |
||||
|
topology encapsulates the topology for the cluster. |
||||
|
availabilityGates specifies additional conditions to include when evaluating Cluster Available condition. If this field is not defined and the Cluster implements a managed topology, availabilityGates
|
MaxItems: 32 |
ClusterStatus
ClusterStatus defines the observed state of Cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
failureDomains is a slice of failure domain objects synced from the infrastructure provider. |
||
|
failureReason indicates that there is a fatal problem reconciling the Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details. |
||
|
failureMessage indicates that there is a fatal problem reconciling the Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details. |
MaxLength: 10240 |
|
|
phase represents the current phase of cluster actuation. |
Enum: [Pending Provisioning Provisioned Deleting Failed Unknown] |
|
|
infrastructureReady is the state of the infrastructure provider. |
||
|
controlPlaneReady denotes if the control plane became ready during initial provisioning |
||
|
conditions defines current service state of the cluster. |
||
|
observedGeneration is the latest generation observed by the controller. |
||
|
v1beta2 groups all the fields that will be added or modified in Cluster’s status with the V1Beta2 version. |
ClusterV1Beta2Status
ClusterV1Beta2Status groups all the fields that will be added or modified in Cluster with the V1Beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
Field | Description | Default | Validation |
---|---|---|---|
|
conditions represents the observations of a Cluster’s current state. |
MaxItems: 32 |
|
|
controlPlane groups all the observations about Cluster’s ControlPlane current state. |
||
|
workers groups all the observations about Cluster’s Workers current state. |
ClusterVariable
ClusterVariable can be used to customize the Cluster through patches. Each ClusterVariable is associated with a
Variable definition in the ClusterClass status
variables.
Field | Description | Default | Validation |
---|---|---|---|
|
name of the variable. |
MaxLength: 256 |
|
|
definitionFrom specifies where the definition of this Variable is from. Deprecated: This field is deprecated, must not be set anymore and is going to be removed in the next apiVersion. |
MaxLength: 256 |
|
|
value of the variable. |
Condition
Condition defines an observation of a Cluster API resource operational state.
Field | Description | Default | Validation |
---|---|---|---|
|
type of condition in CamelCase or in foo.example.com/CamelCase. |
MaxLength: 256 |
|
|
status of the condition, one of True, False, Unknown. |
||
|
severity provides an explicit classification of Reason code, so the users or machines can immediately |
MaxLength: 32 |
|
|
lastTransitionTime is the last time the condition transitioned from one status to another. |
||
|
reason is the reason for the condition’s last transition in CamelCase. |
MaxLength: 256 |
|
|
message is a human readable message indicating details about the transition. |
MaxLength: 10240 |
ConditionPolarity
Underlying type: string
ConditionPolarity defines the polarity for a metav1.Condition.
ConditionSeverity
Underlying type: string
ConditionSeverity expresses the severity of a Condition Type failing.
-
MaxLength: 32
ConditionType
Underlying type: string
ConditionType is a valid value for Condition.Type.
-
MaxLength: 256
-
MinLength: 1
Conditions
Underlying type: Condition
Conditions provide observations of the operational state of a Cluster API resource.
Field | Description | Default | Validation |
---|---|---|---|
|
type of condition in CamelCase or in foo.example.com/CamelCase. |
MaxLength: 256 |
|
|
status of the condition, one of True, False, Unknown. |
||
|
severity provides an explicit classification of Reason code, so the users or machines can immediately |
MaxLength: 32 |
|
|
lastTransitionTime is the last time the condition transitioned from one status to another. |
||
|
reason is the reason for the condition’s last transition in CamelCase. |
MaxLength: 256 |
|
|
message is a human readable message indicating details about the transition. |
MaxLength: 10240 |
ControlPlaneClass
ControlPlaneClass defines the class for the control plane.
Field | Description | Default | Validation | ||
---|---|---|---|---|---|
|
Refer to Kubernetes API documentation for fields of |
||||
|
ref is a required reference to a custom resource |
||||
|
machineInfrastructure defines the metadata and infrastructure information This field is supported if and only if the control plane provider template |
||||
|
machineHealthCheck defines a MachineHealthCheck for this ControlPlaneClass. |
||||
|
namingStrategy allows changing the naming pattern used when creating the control plane provider object. |
||||
|
nodeDrainTimeout is the total amount of time that the controller will spend on draining a node. |
||||
|
nodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes |
||||
|
nodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine |
||||
|
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
|
MaxItems: 32 |
ControlPlaneClassNamingStrategy
ControlPlaneClassNamingStrategy defines the naming strategy for control plane objects.
Field | Description | Default | Validation |
---|---|---|---|
|
template defines the template to use for generating the name of the ControlPlane object. |
MaxLength: 1024 |
ControlPlaneTopology
ControlPlaneTopology specifies the parameters for the control plane nodes in the cluster.
Field | Description | Default | Validation | ||
---|---|---|---|---|---|
|
Refer to Kubernetes API documentation for fields of |
||||
|
replicas is the number of control plane nodes. |
||||
|
machineHealthCheck allows to enable, disable and override |
||||
|
nodeDrainTimeout is the total amount of time that the controller will spend on draining a node. |
||||
|
nodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes |
||||
|
nodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine |
||||
|
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 If this field is not defined, readinessGates from the corresponding ControlPlaneClass will be used, if any.
|
MaxItems: 32 |
|||
|
variables can be used to customize the ControlPlane through patches. |
ControlPlaneVariables
ControlPlaneVariables can be used to provide variables for the ControlPlane.
Field | Description | Default | Validation |
---|---|---|---|
|
overrides can be used to override Cluster level variables. |
MaxItems: 1000 |
ExternalPatchDefinition
ExternalPatchDefinition defines an external patch. Note: At least one of GenerateExtension or ValidateExtension must be set.
Field | Description | Default | Validation |
---|---|---|---|
|
generateExtension references an extension which is called to generate patches. |
MaxLength: 512 |
|
|
validateExtension references an extension which is called to validate the topology. |
MaxLength: 512 |
|
|
discoverVariablesExtension references an extension which is called to discover variables. |
MaxLength: 512 |
|
|
settings defines key value pairs to be passed to the extensions. |
FailureDomainSpec
FailureDomainSpec is the Schema for Cluster API failure domains. It allows controllers to understand how many failure domains a cluster can optionally span across.
Field | Description | Default | Validation |
---|---|---|---|
|
controlPlane determines if this failure domain is suitable for use by control plane machines. |
||
|
attributes is a free form map of attributes an infrastructure provider might use or require. |
FailureDomains
Underlying type: map[string]FailureDomainSpec
FailureDomains is a slice of FailureDomains.
FieldValueErrorReason
Underlying type: string
FieldValueErrorReason is a machine-readable value providing more detail about why a field failed the validation.
InfrastructureNamingStrategy
InfrastructureNamingStrategy defines the naming strategy for infrastructure objects.
Field | Description | Default | Validation |
---|---|---|---|
|
template defines the template to use for generating the name of the Infrastructure object. |
MaxLength: 1024 |
JSONPatch
JSONPatch defines a JSON patch.
Field | Description | Default | Validation |
---|---|---|---|
|
op defines the operation of the patch. |
Enum: [add replace remove] |
|
|
path defines the path of the patch. |
MaxLength: 512 |
|
|
value defines the value of the patch. |
||
|
valueFrom defines the value of the patch. |
JSONPatchValue
JSONPatchValue defines the value of a patch. Note: Only one of the fields is allowed to be set at the same time.
Field | Description | Default | Validation |
---|---|---|---|
|
variable is the variable to be used as value. |
MaxLength: 256 |
|
|
template is the Go template to be used to calculate the value. |
MaxLength: 10240 |
JSONSchemaProps
JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/). This struct has been initially copied from apiextensionsv1.JSONSchemaProps, but all fields which are not supported in CAPI have been removed.
Field | Description | Default | Validation |
---|---|---|---|
|
description is a human-readable description of this variable. |
MaxLength: 4096 |
|
|
example is an example for this variable. |
||
|
type is the type of the variable. |
Enum: [object array string integer number boolean] |
|
|
properties specifies fields of an object. |
Schemaless: \{} |
|
|
additionalProperties specifies the schema of values in a map (keys are always strings). |
Schemaless: \{} |
|
|
maxProperties is the maximum amount of entries in a map or properties in an object. |
||
|
minProperties is the minimum amount of entries in a map or properties in an object. |
||
|
required specifies which fields of an object are required. |
MaxItems: 1000 |
|
|
items specifies fields of an array. |
Schemaless: \{} |
|
|
maxItems is the max length of an array variable. |
||
|
minItems is the min length of an array variable. |
||
|
uniqueItems specifies if items in an array must be unique. |
||
|
format is an OpenAPI v3 format string. Unknown formats are ignored. |
MaxLength: 32 |
|
|
maxLength is the max length of a string variable. |
||
|
minLength is the min length of a string variable. |
||
|
pattern is the regex which a string variable must match. |
MaxLength: 512 |
|
|
maximum is the maximum of an integer or number variable. |
||
|
exclusiveMaximum specifies if the Maximum is exclusive. |
||
|
minimum is the minimum of an integer or number variable. |
||
|
exclusiveMinimum specifies if the Minimum is exclusive. |
||
|
x-kubernetes-preserve-unknown-fields allows setting fields in a variable object |
||
|
enum is the list of valid values of the variable. |
MaxItems: 100 |
|
|
default is the default value of the variable. |
||
|
x-kubernetes-validations describes a list of validation rules written in the CEL expression language. |
MaxItems: 100 |
|
|
x-metadata is the metadata of a variable or a nested field within a variable. |
||
|
x-kubernetes-int-or-string specifies that this value is 1) anyOf: |
||
|
allOf specifies that the variable must validate against all of the subschemas in the array. |
Schemaless: \{} |
|
|
oneOf specifies that the variable must validate against exactly one of the subschemas in the array. |
Schemaless: \{} |
|
|
anyOf specifies that the variable must validate against one or more of the subschemas in the array. |
Schemaless: \{} |
|
|
not specifies that the variable must not validate against the subschema. |
Schemaless: \{} |
LocalObjectTemplate
LocalObjectTemplate defines a template for a topology Class.
Field | Description | Default | Validation |
---|---|---|---|
|
ref is a required reference to a custom resource |
Machine
Machine is the Schema for the machines API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
spec is the desired state of Machine. |
||
|
status is the observed state of Machine. |
MachineAddress
MachineAddress contains information for the node’s address.
Field | Description | Default | Validation |
---|---|---|---|
|
type is the machine address type, one of Hostname, ExternalIP, InternalIP, ExternalDNS or InternalDNS. |
Enum: [Hostname ExternalIP InternalIP ExternalDNS InternalDNS] |
|
|
address is the machine address. |
MaxLength: 256 |
MachineAddressType
Underlying type: string
MachineAddressType describes a valid MachineAddress type.
-
Enum: [Hostname ExternalIP InternalIP ExternalDNS InternalDNS]
MachineAddresses
Underlying type: MachineAddress
MachineAddresses is a slice of MachineAddress items to be used by infrastructure providers.
Field | Description | Default | Validation |
---|---|---|---|
|
type is the machine address type, one of Hostname, ExternalIP, InternalIP, ExternalDNS or InternalDNS. |
Enum: [Hostname ExternalIP InternalIP ExternalDNS InternalDNS] |
|
|
address is the machine address. |
MaxLength: 256 |
MachineDeletionStatus
MachineDeletionStatus is the deletion state of the Machine.
Field | Description | Default | Validation |
---|---|---|---|
|
nodeDrainStartTime is the time when the drain of the node started and is used to determine |
||
|
waitForNodeVolumeDetachStartTime is the time when waiting for volume detachment started |
MachineDeployment
MachineDeployment is the Schema for the machinedeployments API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
spec is the desired state of MachineDeployment. |
|||
|
status is the observed state of MachineDeployment. |
MachineDeploymentClass
MachineDeploymentClass serves as a template to define a set of worker nodes of the cluster
provisioned using the ClusterClass
.
Field | Description | Default | Validation | ||
---|---|---|---|---|---|
|
class denotes a type of worker node present in the cluster, |
MaxLength: 256 |
|||
|
template is a local struct containing a collection of templates for creation of |
||||
|
machineHealthCheck defines a MachineHealthCheck for this MachineDeploymentClass. |
||||
|
failureDomain is the failure domain the machines will be created in. |
MaxLength: 256 |
|||
|
namingStrategy allows changing the naming pattern used when creating the MachineDeployment. |
||||
|
nodeDrainTimeout is the total amount of time that the controller will spend on draining a node. |
||||
|
nodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes |
||||
|
nodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine |
||||
|
minReadySeconds is the minimum number of seconds for which a newly created machine should |
||||
|
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
|
MaxItems: 32 |
|||
|
strategy is the deployment strategy to use to replace existing machines with |
MachineDeploymentClassNamingStrategy
MachineDeploymentClassNamingStrategy defines the naming strategy for machine deployment objects.
Field | Description | Default | Validation |
---|---|---|---|
|
template defines the template to use for generating the name of the MachineDeployment object. |
MaxLength: 1024 |
MachineDeploymentClassTemplate
MachineDeploymentClassTemplate defines how a MachineDeployment generated from a MachineDeploymentClass should look like.
Field | Description | Default | Validation |
---|---|---|---|
|
Refer to Kubernetes API documentation for fields of |
||
|
bootstrap contains the bootstrap template reference to be used |
||
|
infrastructure contains the infrastructure template reference to be used |
MachineDeploymentSpec
MachineDeploymentSpec defines the desired state of MachineDeployment.
Field | Description | Default | Validation |
---|---|---|---|
|
clusterName is the name of the Cluster this object belongs to. |
MaxLength: 63 |
|
|
replicas is the number of desired machines. Defaults to: |
||
|
rolloutAfter is a field to indicate a rollout should be performed |
||
|
selector is the label selector for machines. Existing MachineSets whose machines are |
||
|
template describes the machines that will be created. |
||
|
strategy is the deployment strategy to use to replace existing machines with |
||
|
machineNamingStrategy allows changing the naming pattern used when creating Machines. |
||
|
minReadySeconds is the minimum number of seconds for which a Node for a newly created machine should be ready before considering the replica available. |
||
|
revisionHistoryLimit is the number of old MachineSets to retain to allow rollback. Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/issues/10479 for more details. |
||
|
paused indicates that the deployment is paused. |
||
|
progressDeadlineSeconds is the maximum time in seconds for a deployment to make progress before it Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/issues/11470 for more details. |
MachineDeploymentStatus
MachineDeploymentStatus defines the observed state of MachineDeployment.
Field | Description | Default | Validation |
---|---|---|---|
|
observedGeneration is the generation observed by the deployment controller. |
||
|
selector is the same as the label selector but in the string format to avoid introspection |
MaxLength: 4096 |
|
|
replicas is the total number of non-terminated machines targeted by this deployment |
||
|
updatedReplicas is the total number of non-terminated machines targeted by this deployment |
||
|
readyReplicas is the total number of ready machines targeted by this deployment. |
||
|
availableReplicas is the total number of available machines (ready for at least minReadySeconds) |
||
|
unavailableReplicas is the total number of unavailable machines targeted by this deployment. Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details. |
||
|
phase represents the current phase of a MachineDeployment (ScalingUp, ScalingDown, Running, Failed, or Unknown). |
Enum: [ScalingUp ScalingDown Running Failed Unknown] |
|
|
conditions defines current service state of the MachineDeployment. |
||
|
v1beta2 groups all the fields that will be added or modified in MachineDeployment’s status with the V1Beta2 version. |
MachineDeploymentStrategy
MachineDeploymentStrategy describes how to replace existing machines with new ones.
Field | Description | Default | Validation |
---|---|---|---|
type of deployment. Allowed values are RollingUpdate and OnDelete. |
Enum: [RollingUpdate OnDelete] |
||
|
rollingUpdate is the rolling update config params. Present only if |
||
|
remediation controls the strategy of remediating unhealthy machines |
MachineDeploymentStrategyType
Underlying type: string
MachineDeploymentStrategyType defines the type of MachineDeployment rollout strategies.
MachineDeploymentTopology
MachineDeploymentTopology specifies the different parameters for a set of worker nodes in the topology. This set of nodes is managed by a MachineDeployment object whose lifecycle is managed by the Cluster controller.
Field | Description | Default | Validation | ||
---|---|---|---|---|---|
|
Refer to Kubernetes API documentation for fields of |
||||
|
class is the name of the MachineDeploymentClass used to create the set of worker nodes. |
MaxLength: 256 |
|||
|
name is the unique identifier for this MachineDeploymentTopology. |
MaxLength: 63 |
|||
|
failureDomain is the failure domain the machines will be created in. |
MaxLength: 256 |
|||
|
replicas is the number of worker nodes belonging to this set. |
||||
|
machineHealthCheck allows to enable, disable and override |
||||
|
nodeDrainTimeout is the total amount of time that the controller will spend on draining a node. |
||||
|
nodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes |
||||
|
nodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine |
||||
|
minReadySeconds is the minimum number of seconds for which a newly created machine should |
||||
|
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 If this field is not defined, readinessGates from the corresponding MachineDeploymentClass will be used, if any.
|
MaxItems: 32 |
|||
|
strategy is the deployment strategy to use to replace existing machines with |
||||
|
variables can be used to customize the MachineDeployment through patches. |
MachineDeploymentV1Beta2Status
MachineDeploymentV1Beta2Status groups all the fields that will be added or modified in MachineDeployment with the V1Beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
Field | Description | Default | Validation |
---|---|---|---|
|
conditions represents the observations of a MachineDeployment’s current state. |
MaxItems: 32 |
|
|
readyReplicas is the number of ready replicas for this MachineDeployment. A machine is considered ready when Machine’s Ready condition is true. |
||
|
availableReplicas is the number of available replicas for this MachineDeployment. A machine is considered available when Machine’s Available condition is true. |
||
|
upToDateReplicas is the number of up-to-date replicas targeted by this deployment. A machine is considered up-to-date when Machine’s UpToDate condition is true. |
MachineDeploymentVariables
MachineDeploymentVariables can be used to provide variables for a specific MachineDeployment.
Field | Description | Default | Validation |
---|---|---|---|
|
overrides can be used to override Cluster level variables. |
MaxItems: 1000 |
MachineDrainRule
MachineDrainRule is the Schema for the MachineDrainRule API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
spec defines the spec of a MachineDrainRule. |
MachineDrainRuleDrainBehavior
Underlying type: string
MachineDrainRuleDrainBehavior defines the drain behavior. Can be either "Drain", "Skip", or "WaitCompleted".
-
Enum: [Drain Skip WaitCompleted]
MachineDrainRuleDrainConfig
MachineDrainRuleDrainConfig configures if and how Pods are drained.
Field | Description | Default | Validation |
---|---|---|---|
|
behavior defines the drain behavior. |
Enum: [Drain Skip WaitCompleted] |
|
|
order defines the order in which Pods are drained. |
MachineDrainRuleMachineSelector
MachineDrainRuleMachineSelector defines to which Machines this MachineDrainRule should be applied.
-
MinProperties: 1
Field | Description | Default | Validation |
---|---|---|---|
|
selector is a label selector which selects Machines by their labels. If clusterSelector is also set, then the selector as a whole selects |
||
|
clusterSelector is a label selector which selects Machines by the labels of If selector is also set, then the selector as a whole selects |
MachineDrainRulePodSelector
MachineDrainRulePodSelector defines to which Pods this MachineDrainRule should be applied.
-
MinProperties: 1
Field | Description | Default | Validation |
---|---|---|---|
|
selector is a label selector which selects Pods by their labels. If namespaceSelector is also set, then the selector as a whole selects |
||
|
namespaceSelector is a label selector which selects Pods by the labels of If selector is also set, then the selector as a whole selects |
MachineDrainRuleSpec
MachineDrainRuleSpec defines the spec of a MachineDrainRule.
Field | Description | Default | Validation |
---|---|---|---|
drain configures if and how Pods are drained. |
|||
|
machines defines to which Machines this MachineDrainRule should be applied. If machines is not set, the MachineDrainRule applies to all Machines in the Namespace. Example: Selects control plane Machines in all Clusters or
|
MaxItems: 32 |
|
|
pods defines to which Pods this MachineDrainRule should be applied. If pods is not set, the MachineDrainRule applies to all Pods in all Namespaces. Example: Selects Pods with label "app" == "logging" in all Namespaces or
|
MaxItems: 32 |
MachineHealthCheck
MachineHealthCheck is the Schema for the machinehealthchecks API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
spec is the specification of machine health check policy |
|||
|
status is the most recently observed status of MachineHealthCheck resource |
MachineHealthCheckClass
MachineHealthCheckClass defines a MachineHealthCheck for a group of Machines.
Field | Description | Default | Validation |
---|---|---|---|
|
unhealthyConditions contains a list of the conditions that determine |
MaxItems: 100 |
|
|
maxUnhealthy specifies the maximum number of unhealthy machines allowed. |
||
|
unhealthyRange specifies the range of unhealthy machines allowed. |
MaxLength: 32 |
|
|
nodeStartupTimeout allows to set the maximum time for MachineHealthCheck The duration set in this field is compared to the greatest of: Defaults to 10 minutes. |
||
|
remediationTemplate is a reference to a remediation template This field is completely optional, when filled, the MachineHealthCheck controller |
MachineHealthCheckSpec
MachineHealthCheckSpec defines the desired state of MachineHealthCheck.
Field | Description | Default | Validation |
---|---|---|---|
|
clusterName is the name of the Cluster this object belongs to. |
MaxLength: 63 |
|
|
selector is a label selector to match machines whose health will be exercised |
||
|
unhealthyConditions contains a list of the conditions that determine |
MaxItems: 100 |
|
|
maxUnhealthy specifies the maximum number of unhealthy machines allowed. Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/issues/10722 for more details. |
||
|
unhealthyRange specifies the range of unhealthy machines allowed. Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/issues/10722 for more details. |
MaxLength: 32 |
|
|
nodeStartupTimeout allows to set the maximum time for MachineHealthCheck The duration set in this field is compared to the greatest of: Defaults to 10 minutes. |
||
|
remediationTemplate is a reference to a remediation template This field is completely optional, when filled, the MachineHealthCheck controller |
MachineHealthCheckStatus
MachineHealthCheckStatus defines the observed state of MachineHealthCheck.
Field | Description | Default | Validation |
---|---|---|---|
|
expectedMachines is the total number of machines counted by this machine health check |
Minimum: 0 |
|
|
currentHealthy is the total number of healthy machines counted by this machine health check |
Minimum: 0 |
|
|
remediationsAllowed is the number of further remediations allowed by this machine health check before |
Minimum: 0 |
|
|
observedGeneration is the latest generation observed by the controller. |
||
|
targets shows the current list of machines the machine health check is watching |
MaxItems: 10000 |
|
|
conditions defines current service state of the MachineHealthCheck. |
||
|
v1beta2 groups all the fields that will be added or modified in MachineHealthCheck’s status with the V1Beta2 version. |
MachineHealthCheckTopology
MachineHealthCheckTopology defines a MachineHealthCheck for a group of machines.
Field | Description | Default | Validation |
---|---|---|---|
|
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 If true: A MachineHealthCheck is guaranteed to be created. Cluster validation will |
||
|
unhealthyConditions contains a list of the conditions that determine |
MaxItems: 100 |
|
|
maxUnhealthy specifies the maximum number of unhealthy machines allowed. |
||
|
unhealthyRange specifies the range of unhealthy machines allowed. |
MaxLength: 32 |
|
|
nodeStartupTimeout allows to set the maximum time for MachineHealthCheck The duration set in this field is compared to the greatest of: Defaults to 10 minutes. |
||
|
remediationTemplate is a reference to a remediation template This field is completely optional, when filled, the MachineHealthCheck controller |
MachineHealthCheckV1Beta2Status
MachineHealthCheckV1Beta2Status groups all the fields that will be added or modified in MachineHealthCheck with the V1Beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
Field | Description | Default | Validation |
---|---|---|---|
|
conditions represents the observations of a MachineHealthCheck’s current state. |
MaxItems: 32 |
MachineNamingStrategy
MachineNamingStrategy allows changing the naming pattern used when creating Machines. Note: InfraMachines & BootstrapConfigs will use the same name as the corresponding Machines.
Field | Description | Default | Validation |
---|---|---|---|
|
template defines the template to use for generating the names of the |
MaxLength: 256 |
MachineReadinessGate
MachineReadinessGate contains the type of a Machine condition to be used as a readiness gate.
Field | Description | Default | Validation |
---|---|---|---|
|
conditionType refers to a condition with matching type in the Machine’s condition list. |
MaxLength: 316 |
|
|
polarity of the conditionType specified in this readinessGate. |
Enum: [Positive Negative] |
MachineRollingUpdateDeployment
MachineRollingUpdateDeployment is used to control the desired behavior of rolling update.
MachineSet
MachineSet is the Schema for the machinesets API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
spec is the desired state of MachineSet. |
||
|
status is the observed state of MachineSet. |
MachineSetSpec
MachineSetSpec defines the desired state of MachineSet.
Field | Description | Default | Validation |
---|---|---|---|
|
clusterName is the name of the Cluster this object belongs to. |
MaxLength: 63 |
|
|
replicas is the number of desired replicas. Defaults to: |
||
|
minReadySeconds is the minimum number of seconds for which a Node for a newly created machine should be ready before considering the replica available. |
||
|
deletePolicy defines the policy used to identify nodes to delete when downscaling. |
Enum: [Random Newest Oldest] |
|
|
selector is a label query over machines that should match the replica count. |
||
|
template is the object that describes the machine that will be created if |
||
|
machineNamingStrategy allows changing the naming pattern used when creating Machines. |
MachineSetStatus
MachineSetStatus defines the observed state of MachineSet.
Field | Description | Default | Validation |
---|---|---|---|
|
selector is the same as the label selector but in the string format to avoid introspection |
MaxLength: 4096 |
|
|
replicas is the most recently observed number of replicas. |
||
|
fullyLabeledReplicas is the number of replicas that have labels matching the labels of the machine template of the MachineSet. Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details. |
||
|
readyReplicas is the number of ready replicas for this MachineSet. A machine is considered ready when the node has been created and is "Ready". |
||
|
availableReplicas is the number of available replicas (ready for at least minReadySeconds) for this MachineSet. |
||
|
observedGeneration reflects the generation of the most recently observed MachineSet. |
||
|
failureReason will be set in the event that there is a terminal problem In the event that there is a terminal problem reconciling the These fields should not be set for transitive errors that a Any transient errors that occur during the reconciliation of Machines Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details. |
||
|
failureMessage will be set in the event that there is a terminal problem Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details. |
MaxLength: 10240 |
|
|
conditions defines current service state of the MachineSet. |
||
|
v1beta2 groups all the fields that will be added or modified in MachineSet’s status with the V1Beta2 version. |
MachineSetV1Beta2Status
MachineSetV1Beta2Status groups all the fields that will be added or modified in MachineSetStatus with the V1Beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
Field | Description | Default | Validation |
---|---|---|---|
|
conditions represents the observations of a MachineSet’s current state. |
MaxItems: 32 |
|
|
readyReplicas is the number of ready replicas for this MachineSet. A machine is considered ready when Machine’s Ready condition is true. |
||
|
availableReplicas is the number of available replicas for this MachineSet. A machine is considered available when Machine’s Available condition is true. |
||
|
upToDateReplicas is the number of up-to-date replicas for this MachineSet. A machine is considered up-to-date when Machine’s UpToDate condition is true. |
MachineSpec
MachineSpec defines the desired state of Machine.
Field | Description | Default | Validation | ||
---|---|---|---|---|---|
|
clusterName is the name of the Cluster this object belongs to. |
MaxLength: 63 |
|||
|
bootstrap is a reference to a local struct which encapsulates |
||||
|
infrastructureRef is a required reference to a custom resource |
||||
|
version defines the desired Kubernetes version. |
MaxLength: 256 |
|||
|
providerID is the identification ID of the machine provided by the provider. |
MaxLength: 512 |
|||
|
failureDomain is the failure domain the machine will be created in. |
MaxLength: 256 |
|||
|
readinessGates specifies additional conditions to include when evaluating Machine Ready condition. This field can be used e.g. by Cluster API control plane providers to extend the semantic of the Another example are external controllers, e.g. responsible to install special software/hardware on the Machines;
|
MaxItems: 32 |
|||
|
nodeDrainTimeout is the total amount of time that the controller will spend on draining a node. |
||||
|
nodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes |
||||
|
nodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine |
MachineStatus
MachineStatus defines the observed state of Machine.
Field | Description | Default | Validation |
---|---|---|---|
|
nodeRef will point to the corresponding Node if it exists. |
||
|
nodeInfo is a set of ids/uuids to uniquely identify the node. |
||
|
lastUpdated identifies when the phase of the Machine last transitioned. |
||
|
failureReason will be set in the event that there is a terminal problem This field should not be set for transitive errors that a controller Any transient errors that occur during the reconciliation of Machines Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details. |
||
|
failureMessage will be set in the event that there is a terminal problem This field should not be set for transitive errors that a controller Any transient errors that occur during the reconciliation of Machines Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details. |
MaxLength: 10240 |
|
|
addresses is a list of addresses assigned to the machine. |
||
|
phase represents the current phase of machine actuation. |
Enum: [Pending Provisioning Provisioned Running Deleting Deleted Failed Unknown] |
|
|
certificatesExpiryDate is the expiry date of the machine certificates. |
||
|
bootstrapReady is the state of the bootstrap provider. |
||
|
infrastructureReady is the state of the infrastructure provider. |
||
|
observedGeneration is the latest generation observed by the controller. |
||
|
conditions defines current service state of the Machine. |
||
|
deletion contains information relating to removal of the Machine. |
||
|
v1beta2 groups all the fields that will be added or modified in Machine’s status with the V1Beta2 version. |
MachineTemplateSpec
MachineTemplateSpec describes the data needed to create a Machine from a template.
Field | Description | Default | Validation |
---|---|---|---|
|
Refer to Kubernetes API documentation for fields of |
||
|
spec is the specification of the desired behavior of the machine. |
MachineV1Beta2Status
MachineV1Beta2Status groups all the fields that will be added or modified in MachineStatus with the V1Beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
Field | Description | Default | Validation |
---|---|---|---|
|
conditions represents the observations of a Machine’s current state. |
MaxItems: 32 |
NetworkRanges
NetworkRanges represents ranges of network addresses.
Field | Description | Default | Validation |
---|---|---|---|
|
cidrBlocks is a list of CIDR blocks. |
MaxItems: 100 |
ObjectMeta
ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. This is a copy of customizable fields from metav1.ObjectMeta.
ObjectMeta is embedded in Machine.Spec
, MachineDeployment.Template
and MachineSet.Template
,
which are not top-level Kubernetes objects. Given that metav1.ObjectMeta has lots of special cases
and read-only fields which end up in the generated CRD validation, having it as a subset simplifies
the API and some issues that can impact user experience.
During the [upgrade to controller-tools@v2](https://github.com/kubernetes-sigs/cluster-api/pull/1054)
for v1alpha2, we noticed a failure would occur running Cluster API test suite against the new CRDs,
specifically spec.metadata.creationTimestamp in body must be of type string: "null"
.
The investigation showed that controller-tools@v2
behaves differently than its previous version
when handling types from [metav1](k8s.io/apimachinery/pkg/apis/meta/v1) package.
In more details, we found that embedded (non-top level) types that embedded metav1.ObjectMeta
had validation properties, including for creationTimestamp
(metav1.Time).
The metav1.Time
type specifies a custom json marshaller that, when IsZero() is true, returns null
which breaks validation because the field isn’t marked as nullable.
In future versions, controller-tools@v2 might allow overriding the type and validation for embedded types. When that happens, this hack should be revisited.
Field | Description | Default | Validation |
---|---|---|---|
|
labels is a map of string keys and values that can be used to organize and categorize |
||
|
annotations is an unstructured key value map stored with a resource that may be |
PatchDefinition
PatchDefinition defines a patch which is applied to customize the referenced templates.
Field | Description | Default | Validation |
---|---|---|---|
|
selector defines on which templates the patch should be applied. |
||
|
jsonPatches defines the patches which should be applied on the templates |
MaxItems: 100 |
PatchSelector
PatchSelector defines on which templates the patch should be applied. Note: Matching on APIVersion and Kind is mandatory, to enforce that the patches are written for the correct version. The version of the references in the ClusterClass may be automatically updated during reconciliation if there is a newer version for the same contract. Note: The results of selection based on the individual fields are ANDed.
Field | Description | Default | Validation |
---|---|---|---|
|
apiVersion filters templates by apiVersion. |
MaxLength: 512 |
|
|
kind filters templates by kind. |
MaxLength: 256 |
|
|
matchResources selects templates based on where they are referenced. |
PatchSelectorMatch
PatchSelectorMatch selects templates based on where they are referenced. Note: The selector must match at least one template. Note: The results of selection based on the individual fields are ORed.
Field | Description | Default | Validation |
---|---|---|---|
|
controlPlane selects templates referenced in .spec.ControlPlane. |
||
|
infrastructureCluster selects templates referenced in .spec.infrastructure. |
||
|
machineDeploymentClass selects templates referenced in specific MachineDeploymentClasses in |
PatchSelectorMatchMachineDeploymentClass
PatchSelectorMatchMachineDeploymentClass selects templates referenced in specific MachineDeploymentClasses in .spec.workers.machineDeployments.
Field | Description | Default | Validation |
---|---|---|---|
|
names selects templates by class names. |
MaxItems: 100 |
RemediationStrategy
Underlying type: struct{MaxInFlight *k8s.io/apimachinery/pkg/util/intstr.IntOrString "json:\"maxInFlight,omitempty\""}
RemediationStrategy allows to define how the MachineSet can control scaling operations.
Topology
Topology encapsulates the information of the managed resources.
Field | Description | Default | Validation |
---|---|---|---|
|
class is the name of the ClusterClass object to create the topology. |
MaxLength: 253 |
|
|
classNamespace is the namespace of the ClusterClass that should be used for the topology. |
MaxLength: 63 |
|
|
version is the Kubernetes version of the cluster. |
MaxLength: 256 |
|
|
rolloutAfter performs a rollout of the entire cluster one component at a time, Deprecated: This field has no function and is going to be removed in the next apiVersion. |
||
|
controlPlane describes the cluster control plane. |
||
|
workers encapsulates the different constructs that form the worker nodes |
||
|
variables can be used to customize the Cluster through |
MaxItems: 1000 |
UnhealthyCondition
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.
Field | Description | Default | Validation |
---|---|---|---|
|
type of Node condition |
MinLength: 1 |
|
|
status of the condition, one of True, False, Unknown. |
MinLength: 1 |
|
|
timeout is the duration that a node must be in a given status for, |
VariableSchema
VariableSchema defines the schema of a variable.
Field | Description | Default | Validation |
---|---|---|---|
|
openAPIV3Schema defines the schema of a variable via OpenAPI v3 |
WorkersClass
WorkersClass is a collection of deployment classes.
Field | Description | Default | Validation |
---|---|---|---|
|
machineDeployments is a list of machine deployment classes that can be used to create |
MaxItems: 100 |
WorkersStatus
WorkersStatus groups all the observations about workers current state.
Field | Description | Default | Validation |
---|---|---|---|
|
desiredReplicas is the total number of desired worker machines in this cluster. |
||
|
replicas is the total number of worker machines in this cluster. |
||
|
upToDateReplicas is the number of up-to-date worker machines in this cluster. A machine is considered up-to-date when Machine’s UpToDate condition is true. |
||
|
readyReplicas is the total number of ready worker machines in this cluster. A machine is considered ready when Machine’s Ready condition is true. |
||
|
availableReplicas is the total number of available worker machines in this cluster. A machine is considered available when Machine’s Available condition is true. |
WorkersTopology
WorkersTopology represents the different sets of worker nodes in the cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
machineDeployments is a list of machine deployments in the cluster. |
MaxItems: 2000 |
bootstrap.cluster.x-k8s.io/v1beta1
Package v1beta1 contains API Schema definitions for the kubeadm v1beta1 API group
APIEndpoint
APIEndpoint struct contains elements of API server instance deployed on a node.
Field | Description | Default | Validation |
---|---|---|---|
|
advertiseAddress sets the IP address for the API server to advertise. |
MaxLength: 39 |
|
|
bindPort sets the secure port for the API Server to bind to. |
APIServer
APIServer holds settings necessary for API server deployments in the cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
extraArgs is an extra set of flags to pass to the control plane component. |
||
|
extraVolumes is an extra set of host volumes, mounted to the control plane component. |
MaxItems: 100 |
|
|
extraEnvs is an extra set of environment variables to pass to the control plane component. |
MaxItems: 100 |
|
|
certSANs sets extra Subject Alternative Names for the API Server signing cert. |
MaxItems: 100 |
|
|
timeoutForControlPlane controls the timeout that we use for API server to appear |
BootstrapToken
BootstrapToken describes one bootstrap token, stored as a Secret in the cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
token is used for establishing bidirectional trust between nodes and control-planes. |
Type: string |
|
|
description sets a human-friendly message why this token exists and what it’s used |
MaxLength: 512 |
|
|
ttl defines the time to live for this token. Defaults to 24h. |
||
|
expires specifies the timestamp when this token expires. Defaults to being set |
||
|
usages describes the ways in which this token can be used. Can by default be used |
MaxItems: 100 |
|
|
groups specifies the extra groups that this token will authenticate as when/if |
MaxItems: 100 |
BootstrapTokenDiscovery
BootstrapTokenDiscovery is used to set the options for bootstrap token based discovery.
Field | Description | Default | Validation |
---|---|---|---|
|
token is a token used to validate cluster information |
MaxLength: 512 |
|
|
apiServerEndpoint is an IP or domain name to the API server from which info will be fetched. |
MaxLength: 512 |
|
|
caCertHashes specifies a set of public key pins to verify |
MaxItems: 100 |
|
|
unsafeSkipCAVerification allows token-based discovery |
BootstrapTokenString
BootstrapTokenString is a token of the format abcdef.abcdef0123456789 that is used for both validation of the practically of the API server from a joining node’s point of view and as an authentication method for the node in the bootstrap phase of "kubeadm join". This token is and should be short-lived.
-
Type: string
ClusterConfiguration
ClusterConfiguration contains cluster-wide configuration for a kubeadm cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
etcd holds configuration for etcd. |
||
|
networking holds configuration for the networking topology of the cluster. |
||
|
kubernetesVersion is the target version of the control plane. |
MaxLength: 256 |
|
|
controlPlaneEndpoint sets a stable IP address or DNS name for the control plane; it |
MaxLength: 512 |
|
|
apiServer contains extra settings for the API server control plane component |
||
|
controllerManager contains extra settings for the controller manager control plane component |
||
|
scheduler contains extra settings for the scheduler control plane component |
||
|
dns defines the options for the DNS add-on installed in the cluster. |
||
|
certificatesDir specifies where to store or look for all required certificates. |
MaxLength: 512 |
|
|
imageRepository sets the container registry to pull images from. |
MaxLength: 512 |
|
|
featureGates enabled by the user. |
||
|
clusterName is the cluster name |
MaxLength: 63 |
ContainerLinuxConfig
ContainerLinuxConfig contains CLC-specific configuration.
We use a structured type here to allow adding additional fields, for example 'version'.
Field | Description | Default | Validation |
---|---|---|---|
|
additionalConfig contains additional configuration to be merged with the Ignition The data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/ |
MaxLength: 32768 |
|
|
strict controls if AdditionalConfig should be strictly parsed. If so, warnings are treated as errors. |
ControlPlaneComponent
ControlPlaneComponent holds settings common to control plane component of the cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
extraArgs is an extra set of flags to pass to the control plane component. |
||
|
extraVolumes is an extra set of host volumes, mounted to the control plane component. |
MaxItems: 100 |
|
|
extraEnvs is an extra set of environment variables to pass to the control plane component. |
MaxItems: 100 |
DNS
DNS defines the DNS addon that should be used in the cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
imageRepository sets the container registry to pull images from. |
MaxLength: 512 |
|
|
imageTag allows to specify a tag for the image. |
MaxLength: 256 |
Discovery
Discovery specifies the options for the kubelet to use during the TLS Bootstrap process.
Field | Description | Default | Validation |
---|---|---|---|
|
bootstrapToken is used to set the options for bootstrap token based discovery |
||
|
file is used to specify a file or URL to a kubeconfig file from which to load cluster information |
||
|
tlsBootstrapToken is a token used for TLS bootstrapping. |
MaxLength: 512 |
|
|
timeout modifies the discovery timeout |
DiskSetup
DiskSetup defines input for generated disk_setup and fs_setup in cloud-init.
Field | Description | Default | Validation |
---|---|---|---|
|
partitions specifies the list of the partitions to setup. |
MaxItems: 100 |
|
|
filesystems specifies the list of file systems to setup. |
MaxItems: 100 |
Encoding
Underlying type: string
Encoding specifies the cloud-init file encoding.
-
Enum: [base64 gzip gzip+base64]
EnvVar
EnvVar represents an environment variable present in a Container.
Field | Description | Default | Validation |
---|---|---|---|
|
Name of the environment variable. Must be a C_IDENTIFIER. |
||
|
Variable references $(VAR_NAME) are expanded |
||
|
Source for the environment variable’s value. Cannot be used if value is not empty. |
Etcd
Etcd contains elements describing Etcd configuration.
Field | Description | Default | Validation |
---|---|---|---|
|
local provides configuration knobs for configuring the local etcd instance |
||
|
external describes how to connect to an external etcd cluster |
ExternalEtcd
ExternalEtcd describes an external etcd cluster. Kubeadm has no knowledge of where certificate files live and they must be supplied.
Field | Description | Default | Validation |
---|---|---|---|
|
endpoints of etcd members. Required for ExternalEtcd. |
MaxItems: 50 |
|
|
caFile is an SSL Certificate Authority file used to secure etcd communication. |
MaxLength: 512 |
|
|
certFile is an SSL certification file used to secure etcd communication. |
MaxLength: 512 |
|
|
keyFile is an SSL key file used to secure etcd communication. |
MaxLength: 512 |
File
File defines the input for generating write_files in cloud-init.
Field | Description | Default | Validation |
---|---|---|---|
|
path specifies the full path on disk where to store the file. |
MaxLength: 512 |
|
|
owner specifies the ownership of the file, e.g. "root:root". |
MaxLength: 256 |
|
|
permissions specifies the permissions to assign to the file, e.g. "0640". |
MaxLength: 16 |
|
|
encoding specifies the encoding of the file contents. |
Enum: [base64 gzip gzip+base64] |
|
|
append specifies whether to append Content to existing file if Path exists. |
||
|
content is the actual content of the file. |
MaxLength: 10240 |
|
|
contentFrom is a referenced source of content to populate the file. |
FileDiscovery
FileDiscovery is used to specify a file or URL to a kubeconfig file from which to load cluster information.
Field | Description | Default | Validation |
---|---|---|---|
|
kubeConfigPath is used to specify the actual file path or URL to the kubeconfig file from which to load cluster information |
MaxLength: 512 |
|
|
kubeConfig is used (optionally) to generate a KubeConfig based on the KubeadmConfig’s information. Host address (server field) information is automatically populated based on the Cluster’s ControlPlaneEndpoint. |
FileDiscoveryKubeConfig
FileDiscoveryKubeConfig contains elements describing how to generate the kubeconfig for bootstrapping.
Field | Description | Default | Validation |
---|---|---|---|
|
cluster contains information about how to communicate with the kubernetes cluster. By default the following fields are automatically populated: |
||
|
user contains information that describes identity information. |
FileSource
FileSource is a union of all possible external source types for file data. Only one field may be populated in any given instance. Developers adding new sources of data for target systems should add them here.
Field | Description | Default | Validation |
---|---|---|---|
|
secret represents a secret that should populate this file. |
Filesystem
Filesystem defines the file systems to be created.
Field | Description | Default | Validation |
---|---|---|---|
|
device specifies the device name |
MaxLength: 256 |
|
|
filesystem specifies the file system type. |
MaxLength: 128 |
|
|
label specifies the file system label to be used. If set to None, no label is used. |
MaxLength: 512 |
|
|
partition specifies the partition to use. The valid options are: "auto|any", "auto", "any", "none", and <NUM>, where NUM is the actual partition number. |
MaxLength: 128 |
|
|
overwrite defines whether or not to overwrite any existing filesystem. |
||
|
replaceFS is a special directive, used for Microsoft Azure that instructs cloud-init to replace a file system of <FS_TYPE>. |
MaxLength: 128 |
|
|
extraOpts defined extra options to add to the command for creating the file system. |
MaxItems: 100 |
Format
Underlying type: string
Format specifies the output format of the bootstrap data
-
Enum: [cloud-config ignition]
HostPathMount
HostPathMount contains elements describing volumes that are mounted from the host.
Field | Description | Default | Validation |
---|---|---|---|
|
name of the volume inside the pod template. |
MaxLength: 512 |
|
|
hostPath is the path in the host that will be mounted inside |
MaxLength: 512 |
|
|
mountPath is the path inside the pod where hostPath will be mounted. |
MaxLength: 512 |
|
|
readOnly controls write access to the volume |
||
|
pathType is the type of the HostPath. |
IgnitionSpec
IgnitionSpec contains Ignition specific configuration.
Field | Description | Default | Validation |
---|---|---|---|
|
containerLinuxConfig contains CLC specific configuration. |
ImageMeta
ImageMeta allows to customize the image used for components that are not originated from the Kubernetes/Kubernetes release process.
Field | Description | Default | Validation |
---|---|---|---|
|
imageRepository sets the container registry to pull images from. |
MaxLength: 512 |
|
|
imageTag allows to specify a tag for the image. |
MaxLength: 256 |
InitConfiguration
InitConfiguration contains a list of elements that is specific "kubeadm init"-only runtime information.
Field | Description | Default | Validation |
---|---|---|---|
|
bootstrapTokens is respected at |
MaxItems: 100 |
|
|
nodeRegistration holds fields that relate to registering the new control-plane node to the cluster. |
||
|
localAPIEndpoint represents the endpoint of the API server instance that’s deployed on this control plane node |
||
|
skipPhases is a list of phases to skip during command execution. |
MaxItems: 50 |
|
|
patches contains options related to applying patches to components deployed by kubeadm during |
JoinConfiguration
JoinConfiguration contains elements describing a particular node.
Field | Description | Default | Validation |
---|---|---|---|
|
nodeRegistration holds fields that relate to registering the new control-plane node to the cluster. |
||
|
caCertPath is the path to the SSL certificate authority used to |
MaxLength: 512 |
|
|
discovery specifies the options for the kubelet to use during the TLS Bootstrap process |
||
|
controlPlane defines the additional control plane instance to be deployed on the joining node. |
||
|
skipPhases is a list of phases to skip during command execution. |
MaxItems: 50 |
|
|
patches contains options related to applying patches to components deployed by kubeadm during |
JoinControlPlane
JoinControlPlane contains elements describing an additional control plane instance to be deployed on the joining node.
Field | Description | Default | Validation |
---|---|---|---|
|
localAPIEndpoint represents the endpoint of the API server instance to be deployed on this node. |
KubeConfigAuthExec
KubeConfigAuthExec specifies a command to provide client credentials. The command is exec’d and outputs structured stdout holding credentials.
See the client.authentication.k8s.io API group for specifications of the exact input and output format.
Field | Description | Default | Validation |
---|---|---|---|
|
command to execute. |
MaxLength: 1024 |
|
|
args is the arguments to pass to the command when executing it. |
MaxItems: 100 |
|
|
env defines additional environment variables to expose to the process. These |
MaxItems: 100 |
|
|
apiVersion is preferred input version of the ExecInfo. The returned ExecCredentials MUST use |
MaxLength: 512 |
|
|
provideClusterInfo determines whether or not to provide cluster information, |
KubeConfigAuthExecEnv
Underlying type: struct{Name string "json:\"name\""; Value string "json:\"value\""}
KubeConfigAuthExecEnv is used for setting environment variables when executing an exec-based credential plugin.
KubeConfigAuthProvider
KubeConfigAuthProvider holds the configuration for a specified auth provider.
Field | Description | Default | Validation |
---|---|---|---|
|
name is the name of the authentication plugin. |
MaxLength: 256 |
|
|
config holds the parameters for the authentication plugin. |
KubeConfigCluster
KubeConfigCluster contains information about how to communicate with a kubernetes cluster.
Adapted from clientcmdv1.Cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
server is the address of the kubernetes cluster (https://hostname:port). Defaults to https:// + Cluster.Spec.ControlPlaneEndpoint. |
MaxLength: 512 |
|
|
tlsServerName is used to check server certificate. If TLSServerName is empty, the hostname used to contact the server is used. |
MaxLength: 512 |
|
|
insecureSkipTLSVerify skips the validity check for the server’s certificate. This will make your HTTPS connections insecure. |
||
|
certificateAuthorityData contains PEM-encoded certificate authority certificates. Defaults to the Cluster’s CA certificate if empty. |
MaxLength: 51200 |
|
|
proxyURL is the URL to the proxy to be used for all requests made by this socks5 proxying does not currently support spdy streaming endpoints (exec, |
MaxLength: 512 |
KubeConfigUser
KubeConfigUser contains information that describes identity information. This is used to tell the kubernetes cluster who you are.
Either authProvider or exec must be filled.
Adapted from clientcmdv1.AuthInfo.
Field | Description | Default | Validation |
---|---|---|---|
|
authProvider specifies a custom authentication plugin for the kubernetes cluster. |
||
|
exec specifies a custom exec-based authentication plugin for the kubernetes cluster. |
KubeadmConfig
KubeadmConfig is the Schema for the kubeadmconfigs API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
spec is the desired state of KubeadmConfig. |
||
|
status is the observed state of KubeadmConfig. |
KubeadmConfigSpec
KubeadmConfigSpec defines the desired state of KubeadmConfig. Either ClusterConfiguration and InitConfiguration should be defined or the JoinConfiguration should be defined.
Field | Description | Default | Validation |
---|---|---|---|
|
clusterConfiguration along with InitConfiguration are the configurations necessary for the init command |
||
|
initConfiguration along with ClusterConfiguration are the configurations necessary for the init command |
||
|
joinConfiguration is the kubeadm configuration for the join command |
||
|
files specifies extra files to be passed to user_data upon creation. |
MaxItems: 200 |
|
|
diskSetup specifies options for the creation of partition tables and file systems on devices. |
||
|
mounts specifies a list of mount points to be setup. |
MaxItems: 100 |
|
|
bootCommands specifies extra commands to run very early in the boot process via the cloud-init bootcmd |
MaxItems: 1000 |
|
|
preKubeadmCommands specifies extra commands to run before kubeadm runs. |
MaxItems: 1000 |
|
|
postKubeadmCommands specifies extra commands to run after kubeadm runs. |
MaxItems: 1000 |
|
|
users specifies extra users to add |
MaxItems: 100 |
|
|
ntp specifies NTP configuration |
||
|
format specifies the output format of the bootstrap data |
Enum: [cloud-config ignition] |
|
|
verbosity is the number for the kubeadm log level verbosity. |
||
|
useExperimentalRetryJoin replaces a basic kubeadm command with a shell This is meant to be an experimental temporary workaround on some environments This will add about 40KB to userdata For more information, refer to https://github.com/kubernetes-sigs/cluster-api/pull/2763#discussion_r397306055. Deprecated: This experimental fix is no longer needed and this field will be removed in a future release. |
||
|
ignition contains Ignition specific configuration. |
KubeadmConfigStatus
KubeadmConfigStatus defines the observed state of KubeadmConfig.
Field | Description | Default | Validation |
---|---|---|---|
|
ready indicates the BootstrapData field is ready to be consumed |
||
|
dataSecretName is the name of the secret that stores the bootstrap data script. |
MaxLength: 253 |
|
|
failureReason will be set on non-retryable errors Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details. |
MaxLength: 256 |
|
|
failureMessage will be set on non-retryable errors Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please see https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more details. |
MaxLength: 10240 |
|
|
observedGeneration is the latest generation observed by the controller. |
||
|
conditions defines current service state of the KubeadmConfig. |
||
|
v1beta2 groups all the fields that will be added or modified in KubeadmConfig’s status with the V1Beta2 version. |
KubeadmConfigTemplate
KubeadmConfigTemplate is the Schema for the kubeadmconfigtemplates API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
spec is the desired state of KubeadmConfigTemplate. |
KubeadmConfigTemplateResource
KubeadmConfigTemplateResource defines the Template structure.
Field | Description | Default | Validation |
---|---|---|---|
|
Refer to Kubernetes API documentation for fields of |
||
|
spec is the desired state of KubeadmConfig. |
KubeadmConfigTemplateSpec
KubeadmConfigTemplateSpec defines the desired state of KubeadmConfigTemplate.
Field | Description | Default | Validation |
---|---|---|---|
|
template defines the desired state of KubeadmConfigTemplate. |
KubeadmConfigV1Beta2Status
KubeadmConfigV1Beta2Status groups all the fields that will be added or modified in KubeadmConfig with the V1Beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
Field | Description | Default | Validation |
---|---|---|---|
|
conditions represents the observations of a KubeadmConfig’s current state. |
MaxItems: 32 |
LocalEtcd
LocalEtcd describes that kubeadm should run an etcd cluster locally.
Field | Description | Default | Validation |
---|---|---|---|
|
imageRepository sets the container registry to pull images from. |
MaxLength: 512 |
|
|
imageTag allows to specify a tag for the image. |
MaxLength: 256 |
|
|
dataDir is the directory etcd will place its data. |
MaxLength: 512 |
|
|
extraArgs are extra arguments provided to the etcd binary |
||
|
extraEnvs is an extra set of environment variables to pass to the control plane component. |
MaxItems: 100 |
|
|
serverCertSANs sets extra Subject Alternative Names for the etcd server signing cert. |
MaxItems: 100 |
|
|
peerCertSANs sets extra Subject Alternative Names for the etcd peer signing cert. |
MaxItems: 100 |
MountPoints
Underlying type: string array
MountPoints defines input for generated mounts in cloud-init.
-
items:MaxLength: 512
-
items:MinLength: 1
NTP
NTP defines input for generated ntp in cloud-init.
Field | Description | Default | Validation |
---|---|---|---|
|
servers specifies which NTP servers to use |
MaxItems: 100 |
|
|
enabled specifies whether NTP should be enabled |
Networking
Networking contains elements describing cluster’s networking configuration.
Field | Description | Default | Validation |
---|---|---|---|
|
serviceSubnet is the subnet used by k8s services. |
MaxLength: 1024 |
|
|
podSubnet is the subnet used by pods. |
MaxLength: 1024 |
|
|
dnsDomain is the dns domain used by k8s services. Defaults to "cluster.local". |
MaxLength: 253 |
NodeRegistrationOptions
NodeRegistrationOptions holds fields that relate to registering a new control-plane or node to the cluster, either via "kubeadm init" or "kubeadm join". Note: The NodeRegistrationOptions struct has to be kept in sync with the structs in MarshalJSON.
Field | Description | Default | Validation |
---|---|---|---|
|
name is the |
MaxLength: 253 |
|
|
criSocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use |
MaxLength: 512 |
|
|
taints specifies the taints the Node API object should be registered with. If this field is unset, i.e. nil, in the |
MaxItems: 100 |
|
|
kubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file |
||
|
ignorePreflightErrors provides a slice of pre-flight errors to be ignored when the current node is registered. |
MaxItems: 50 |
|
|
imagePullPolicy specifies the policy for image pulling |
Enum: [Always IfNotPresent Never] |
|
|
imagePullSerial specifies if image pulling performed by kubeadm must be done serially or in parallel. |
Partition
Partition defines how to create and layout a partition.
Field | Description | Default | Validation |
---|---|---|---|
|
device is the name of the device. |
MaxLength: 256 |
|
|
layout specifies the device layout. |
||
|
overwrite describes whether to skip checks and create the partition if a partition or filesystem is found on the device. |
||
|
tableType specifies the tupe of partition table. The following are supported: |
Enum: [mbr gpt] |
PasswdSource
PasswdSource is a union of all possible external source types for passwd data. Only one field may be populated in any given instance. Developers adding new sources of data for target systems should add them here.
Field | Description | Default | Validation |
---|---|---|---|
|
secret represents a secret that should populate this password. |
Patches
Patches contains options related to applying patches to components deployed by kubeadm.
Field | Description | Default | Validation |
---|---|---|---|
|
directory is a path to a directory that contains files named "target[suffix][+patchtype].extension". |
MaxLength: 512 |
SecretFileSource
SecretFileSource adapts a Secret into a FileSource.
The contents of the target Secret’s Data field will be presented as files using the keys in the Data field as the file names.
Field | Description | Default | Validation |
---|---|---|---|
|
name of the secret in the KubeadmBootstrapConfig’s namespace to use. |
MaxLength: 253 |
|
|
key is the key in the secret’s data map for this value. |
MaxLength: 256 |
SecretPasswdSource
SecretPasswdSource adapts a Secret into a PasswdSource.
The contents of the target Secret’s Data field will be presented as passwd using the keys in the Data field as the file names.
Field | Description | Default | Validation |
---|---|---|---|
|
name of the secret in the KubeadmBootstrapConfig’s namespace to use. |
MaxLength: 253 |
|
|
key is the key in the secret’s data map for this value. |
MaxLength: 256 |
User
User defines the input for a generated user in cloud-init.
Field | Description | Default | Validation |
---|---|---|---|
|
name specifies the user name |
MaxLength: 256 |
|
|
gecos specifies the gecos to use for the user |
MaxLength: 256 |
|
|
groups specifies the additional groups for the user |
MaxLength: 256 |
|
|
homeDir specifies the home directory to use for the user |
MaxLength: 256 |
|
|
inactive specifies whether to mark the user as inactive |
||
|
shell specifies the user’s shell |
MaxLength: 256 |
|
|
passwd specifies a hashed password for the user |
MaxLength: 256 |
|
|
passwdFrom is a referenced source of passwd to populate the passwd. |
||
|
primaryGroup specifies the primary group for the user |
MaxLength: 256 |
|
|
lockPassword specifies if password login should be disabled |
||
|
sudo specifies a sudo role for the user |
MaxLength: 256 |
|
|
sshAuthorizedKeys specifies a list of ssh authorized keys for the user |
MaxItems: 100 |
vmware.infrastructure.cluster.x-k8s.io/v1beta1
Package v1beta1 contains API Schema definitions for the vmware.infrastructure v1beta1 API group
Package v1beta1 contains API types.
ProviderServiceAccount
ProviderServiceAccount is the schema for the ProviderServiceAccount API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
ProviderServiceAccountSpec
ProviderServiceAccountSpec defines the desired state of ProviderServiceAccount.
Field | Description | Default | Validation |
---|---|---|---|
|
Ref specifies the reference to the VSphereCluster for which the ProviderServiceAccount needs to be realized. |
||
|
Rules specifies the privileges that need to be granted to the service account. |
||
|
TargetNamespace is the namespace in the target cluster where the secret containing the generated service account |
||
|
TargetSecretName is the name of the secret in the target cluster that contains the generated service account |
VSphereCluster
VSphereCluster is the Schema for the VSphereClusters API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
|||
|
VSphereClusterSpec
VSphereClusterSpec defines the desired state of VSphereCluster.
Field | Description | Default | Validation |
---|---|---|---|
|
VSphereClusterStatus
VSphereClusterStatus defines the observed state of VSphereClusterSpec.
Field | Description | Default | Validation |
---|---|---|---|
|
Ready indicates the infrastructure required to deploy this cluster is |
||
|
ResourcePolicyName is the name of the VirtualMachineSetResourcePolicy for |
||
|
Conditions defines current service state of the VSphereCluster. |
||
|
FailureDomains is a list of failure domain objects synced from the |
||
|
v1beta2 groups all the fields that will be added or modified in VSphereCluster’s status with the V1Beta2 version. |
VSphereClusterTemplate
VSphereClusterTemplate is the Schema for the vsphereclustertemplates API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
VSphereClusterTemplateResource
VSphereClusterTemplateResource defines the template structure.
Field | Description | Default | Validation |
---|---|---|---|
|
VSphereClusterTemplateSpec
VSphereClusterTemplateSpec defines the desired state of VSphereClusterTemplate.
Field | Description | Default | Validation |
---|---|---|---|
|
VSphereClusterV1Beta2Status
VSphereClusterV1Beta2Status groups all the fields that will be added or modified in VSphereClusterStatus with the V1Beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
Field | Description | Default | Validation |
---|---|---|---|
|
conditions represents the observations of a VSphereCluster’s current state. |
MaxItems: 32 |
VSphereMachine
VSphereMachine is the Schema for the vspheremachines API
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
|||
|
VSphereMachineSpec
VSphereMachineSpec defines the desired state of VSphereMachine.
Field | Description | Default | Validation |
---|---|---|---|
|
ProviderID is the virtual machine’s BIOS UUID formatted as |
||
|
FailureDomain is the failure domain the machine will be created in. |
||
|
ImageName is the name of the base image used when specifying the |
||
|
ClassName is the name of the class used when specifying the underlying |
||
|
StorageClass is the name of the storage class used when specifying the |
||
|
Volumes is the set of PVCs to be created and attached to the VSphereMachine |
||
|
PowerOffMode describes the desired behavior when powering off a VM. There are three, supported power off modes: hard, soft, and If omitted, the mode defaults to hard. |
hard |
Enum: [hard soft trySoft] |
|
MinHardwareVersion specifies the desired minimum hardware version |
||
|
NamingStrategy allows configuring the naming strategy used when calculating the name of the VirtualMachine. |
VSphereMachineStatus
VSphereMachineStatus defines the observed state of VSphereMachine.
Field | Description | Default | Validation |
---|---|---|---|
|
Ready is true when the provider resource is ready. |
||
|
Addresses contains the instance associated addresses. |
||
|
ID is used to identify the virtual machine. |
||
|
IPAddr is the IP address used to access the virtual machine. |
||
|
FailureReason will be set in the event that there is a terminal problem This field should not be set for transitive errors that a controller Any transient errors that occur during the reconciliation of Machines |
||
|
FailureMessage will be set in the event that there is a terminal problem This field should not be set for transitive errors that a controller Any transient errors that occur during the reconciliation of Machines |
||
|
VMStatus is used to identify the virtual machine status. |
||
|
Conditions defines current service state of the VSphereMachine. |
||
|
v1beta2 groups all the fields that will be added or modified in VSphereMachine’s status with the V1Beta2 version. |
VSphereMachineTemplate
VSphereMachineTemplate is the Schema for the vspheremachinetemplates API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
VSphereMachineTemplateResource
VSphereMachineTemplateResource describes the data needed to create a VSphereMachine from a template.
Field | Description | Default | Validation |
---|---|---|---|
|
Spec is the specification of the desired behavior of the machine. |
VSphereMachineTemplateSpec
VSphereMachineTemplateSpec defines the desired state of VSphereMachineTemplate.
Field | Description | Default | Validation |
---|---|---|---|
|
VSphereMachineTemplateStatus
VSphereMachineTemplateStatus defines the observed state of VSphereMachineTemplate.
VSphereMachineV1Beta2Status
VSphereMachineV1Beta2Status groups all the fields that will be added or modified in VSphereMachineStatus with the V1Beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
Field | Description | Default | Validation |
---|---|---|---|
|
conditions represents the observations of a VSphereMachine’s current state. |
MaxItems: 32 |
VSphereMachineVolume
VSphereMachineVolume defines a PVC attachment.
Field | Description | Default | Validation |
---|---|---|---|
|
Name is suffix used to name this PVC as: VSphereMachine.Name + "-" + Name |
||
|
StorageClass defaults to VSphereMachineSpec.StorageClass |
VirtualMachineNamingStrategy
VirtualMachineNamingStrategy defines the naming strategy for the VirtualMachines.
Field | Description | Default | Validation |
---|---|---|---|
|
Template defines the template to use for generating the name of the VirtualMachine object. |
VirtualMachinePowerOpMode
Underlying type: string
VirtualMachinePowerOpMode represents the various power operation modes when powering off or suspending a VM.
-
Enum: [hard soft trySoft]
VirtualMachineState
Underlying type: string
VirtualMachineState describes the state of a VM.
kubernetes.vmware.com/v1alpha1
Package v1alpha1 contains API Schema definitions for the kubernetes.vmware.com v1alpha1 API group
ContainerImageInfo
ContainerImageInfo allows to customize the image used for components that are not originated from the Kubernetes/Kubernetes release process (such as etcd and coredns).
Field | Description | Default | Validation |
---|---|---|---|
|
ImageRepository sets the container registry to pull images from. |
||
|
ImageTag specifies a tag for the image. |
KubernetesRelease
KubernetesRelease is the schema for the kubernetesreleases API. KubernetesRelease objects represent Kubernetes releases available via Kubernetes Service, which can be used to create KubernetesCluster instances. KRs are immutable to end-users. They are created and managed by Kubernetes Service to provide discovery of Kubernetes releases to Kubernetes Service users.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
KubernetesReleaseSpec
KubernetesReleaseSpec defines the desired state of KubernetesRelease
Field | Description | Default | Validation |
---|---|---|---|
|
Version is the fully qualified Semantic Versioning conformant version of the KubernetesRelease. |
||
|
Kubernetes is Kubernetes |
||
|
OSImages lists references to all OSImage objects shipped with this KubernetesRelease. |
||
|
BootstrapPackages lists references to all bootstrap packages shipped with this KubernetesRelease. |
KubernetesReleaseStatus
KubernetesReleaseStatus defines the observed state of KubernetesRelease
Field | Description | Default | Validation |
---|---|---|---|
|
KubernetesSpec
KubernetesSpec specifies the details about the Kubernetes distribution shipped by this KubernetesRelease.
Field | Description | Default | Validation |
---|---|---|---|
|
Version is Semantic Versioning conformant version of the Kubernetes build shipped by this KubernetesRelease. |
||
|
ImageRepository specifies container image registry to pull images from. |
||
|
Etcd specifies the container image repository and tag for etcd. |
||
|
Pause specifies the container image repository and tag for pause. |
||
|
CoreDNS specifies the container image repository and tag for coredns. |
||
|
KubeVIP specifies the container image repository and tag for kube-vip. |
cni.tanzu.vmware.com/v1alpha1
Package v1alpha1 contains API Schema definitions for the cni v1alpha1 API group
Antrea
Field | Description | Default | Validation |
---|---|---|---|
|
{ } |
||
|
{ } |
AntreaCloudProvider
Field | Description | Default | Validation |
---|---|---|---|
|
Optional: \{} |
AntreaConfig
AntreaConfig is the Schema for the antreaconfigs API
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
|||
|
AntreaConfigDataValue
Field | Description | Default | Validation |
---|---|---|---|
|
Specifies Egress related configuration. |
Optional: \{} |
|
|
Specifies NodePortLocal related configuration. |
Optional: \{} |
|
|
Specifies AntreaProxy related configuration. |
Optional: \{} |
|
|
Specifies FlowExporter related configuration. |
Optional: \{} |
|
|
Provide the address of Kubernetes apiserver, to override any value provided in kubeconfig or InClusterConfig. |
Optional: \{} |
|
|
Multicast related configuration. |
Optional: \{} |
|
|
MultiCluster realted configuration. |
Optional: \{} |
|
|
CloudProvider realted configuration. |
Optional: \{} |
|
|
The name of the interface on Node which is used for tunneling or routing. |
Optional: \{} |
|
|
The network CIDRs of the interface on Node which is used for tunneling or routing. |
Optional: \{} |
|
|
The names of the interfaces on Nodes that are used to forward multicast traffic. |
Optional: \{} |
|
|
Tunnel protocols used for encapsulating traffic across Nodes. One of the following options =:> geneve, vxlan, gre, stt |
Optional: \{} |
|
|
TunnelPort is the destination port for UDP and TCP based tunnel protocols (Geneve, VXLAN, and STT).If zero, it will use the assigned IANA port for the protocol. |
0 |
Optional: \{} |
|
TunnelCsum determines whether to compute UDP encapsulation header (Geneve or VXLAN) checksums on outgoing packets |
false |
Optional: \{} |
|
Determines how tunnel traffic is encrypted. One of the following options =:> none, ipsec, wireguard |
Optional: \{} |
|
|
Enable usage reporting (telemetry) to VMware. |
false |
Optional: \{} |
|
Specifies WireGuard related configuration. |
Optional: \{} |
|
|
ClusterIP CIDR range for Services. |
Optional: \{} |
|
|
The traffic encapsulation mode. One of the following options ⇒ encap, noEncap, hybrid, networkPolicyOnly |
encap |
Enum: [encap noEncap hybrid networkPolicyOnly] |
|
Flag to enable/disable SNAT for the egress traffic from a Pod to the external network |
false |
Optional: \{} |
|
Disable UDP tunnel offload feature on default NIC |
false |
Optional: \{} |
|
Default MTU to use for the host gateway interface and the network interface of each Pod. If omitted, antrea-agent will discover the MTU of the Node’s primary interface |
Optional: \{} |
|
|
List of allowed cipher suites. If omitted, the default Go Cipher Suites will be used |
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384 |
Optional: \{} |
|
Enable bridging mode of Pod network on Nodes |
false |
Optional: \{} |
|
Disable TX checksum offloading for container network interfaces |
false |
Optional: \{} |
|
Provide the address of DNS server, to override the kube-dns service |
Optional: \{} |
|
|
fqdnCacheMinTTL helps address the issue of applications caching DNS response IPs beyond the TTL value |
Optional: \{} |
|
|
Fully randomize source port mapping in SNAT rules used for egress traffic from Pods to the external network. |
Optional: \{} |
|
|
FeatureGates is a map of feature names to flags that enable or disable experimental features |
{ } |
Optional: \{} |
|
PacketInRate defines the OVS controller packet rate limits for different features. The number stands for the |
Optional: \{} |
|
|
Log rotation configuration for audit logs. |
Optional: \{} |
AntreaConfigSpec
AntreaConfigSpec defines the desired state of AntreaConfig
Field | Description | Default | Validation |
---|---|---|---|
|
{ } |
||
|
AntreaNSX defines nsxt adapter related configurations |
{ } |
AntreaConfigStatus
AntreaConfigStatus defines the observed state of AntreaConfig
Field | Description | Default | Validation |
---|---|---|---|
|
Message to indicate failure reason |
Optional: \{} |
|
|
Reference to the data value secret created by controller |
Optional: \{} |
AntreaEgress
Field | Description | Default | Validation |
---|---|---|---|
|
|||
|
|||
|
Optional: \{} |
AntreaFeatureGates
Field | Description | Default | Validation |
---|---|---|---|
|
Flag to enable/disable antrea proxy |
true |
Optional: \{} |
|
Flag to enable/disable EndpointSlice support in AntreaProxy. If AntreaProxy is not enabled, this flag will not take effect |
false |
Optional: \{} |
|
Flag to enable/disable antrea policy |
true |
Optional: \{} |
|
Flag to enable/disable flow exporter |
false |
Optional: \{} |
|
Flag to enable/disable SNAT IPs of Pod egress traffic |
true |
Optional: \{} |
|
Flag to enable/disable NodePortLocal feature to make the pods reachable externally through NodePort |
true |
Optional: \{} |
|
Flag to enable/disable antrea traceflow |
true |
Optional: \{} |
|
Flag to enable/disable network policy stats |
false |
Optional: \{} |
|
Flag to enable/disable antrea IPAM |
false |
Optional: \{} |
|
Flag to enable/disable service external IP |
false |
Optional: \{} |
|
Flag to enable/disable multicast |
false |
Optional: \{} |
|
Enable Antrea Multi-cluster Gateway to support cross-cluster traffic. |
false |
Optional: \{} |
|
Enable support for provisioning secondary network interfaces for Pods (using Pod annotations). |
false |
Optional: \{} |
|
Enable mirroring or redirecting the traffic Pods send or receive. |
false |
Optional: \{} |
|
Enable TopologyAwareHints in AntreaProxy. This requires AntreaProxy and EndpointSlice to be enabled, otherwise this flag will not take effect. |
false |
Optional: \{} |
|
Enable collecting support bundle files with SupportBundleCollection CRD. |
Optional: \{} |
|
|
Enable users to protect their applications by specifying how they are allowed to communicate with others. |
Optional: \{} |
|
|
Enable the use of Network Policy APIs which helps administrators set security postures for their clusters. |
Optional: \{} |
|
|
Enable support for cleaning up stale UDP Service conntrack connections in AntreaProxy |
Optional: \{} |
|
|
Enable NodeLatencyMonitor to monitor the latency between Nodes. |
Optional: \{} |
|
|
Enable Egress traffic shaping. |
Optional: \{} |
|
|
Allow users to allocate Egress IPs from a different subnet from the default Node subnet. |
Optional: \{} |
|
|
Allow users to apply ClusterNetworkPolicy to Kubernetes Nodes. |
Optional: \{} |
|
|
Enable L7FlowExporter on Pods and Namespaces to export the application layer flows such as HTTP flows. |
Optional: \{} |
|
|
Enable PacketCapture feature which supports capturing packets to diagnose network issues. |
Optional: \{} |
|
|
Enable ServiceTrafficDistribution in AntreaProxy. This requires AntreaProxy and EndpointSlice to be |
Optional: \{} |
AntreaFlowExporter
Field | Description | Default | Validation |
---|---|---|---|
|
|||
|
|||
|
|||
|
|||
|
AntreaMultiCluster
Field | Description | Default | Validation |
---|---|---|---|
|
|||
|
|||
|
|||
|
AntreaMulticast
Field | Description | Default | Validation |
---|---|---|---|
|
|||
|
|||
|
AntreaNSX
Field | Description | Default | Validation |
---|---|---|---|
|
Enable indicates whether nsxt adapter shall be enabled in the cluster. |
Optional: \{} |
|
|
Config is configuration for nsxt adapter. |
{ } |
Optional: \{} |
AntreaNSXConfig
Field | Description | Default | Validation |
---|---|---|---|
|
BootstrapFrom is used to specify the bootstrap method: either Inline or SupervisorCluster. |
Optional: \{} |
|
|
One line base64 encoded data. Can be generated by command: cat tls.crt | base64 -w 0 |
Optional: \{} |
|
|
NSXKey is base64 encoded NSX client key data.One line base64 encoded data. Can be generated by command: cat tls.key | base64 -w 0 |
Optional: \{} |
|
|
ClusterName is the name of the cluster. |
Optional: \{} |
|
|
NSXManagers is a string slice that contains the IP address or domain name of the NSX Managers. |
Optional: \{} |
|
|
VPCPath is the VPC configuration path. |
Optional: \{} |
|
|
ProxyEndpoints is a struct for proxy endpoints containing the information needed to access the API server. |
Optional: \{} |
|
|
{ } |
Optional: \{} |
|
|
{ } |
Optional: \{} |
AntreaNodePortLocal
Field | Description | Default | Validation |
---|---|---|---|
|
|||
|
AntreaProxy
Field | Description | Default | Validation |
---|---|---|---|
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
Disables the health check server run by Antrea Proxy |
AntreaWindowsConfig
Field | Description | Default | Validation |
---|---|---|---|
|
Specifies AntreaProxy related configuration. |
Optional: \{} |
|
|
Specifies NodePortLocal related configuration. |
Optional: \{} |
|
|
Specifies FlowExporter related configuration. |
Optional: \{} |
|
|
Provide the address of Kubernetes apiserver, to override any value provided in kubeconfig or InClusterConfig. |
Optional: \{} |
|
|
The name of the interface on Node which is used for tunneling or routing. |
Optional: \{} |
|
|
The network CIDRs of the interface on Node which is used for tunneling or routing. |
Optional: \{} |
|
|
List of allowed cipher suites. If omitted, the default Go Cipher Suites will be used |
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_GCM_SHA384 |
Optional: \{} |
|
FeatureGates is a map of feature names to flags that enable or disable experimental features |
Optional: \{} |
AntreaWindowsConfigDataValue
Field | Description | Default | Validation |
---|---|---|---|
|
{ } |
Optional: \{} |
|
|
Enable windows config |
Optional: \{} |
AntreaWindowsFeatureGates
Field | Description | Default | Validation |
---|---|---|---|
|
Flag to enable/disable Antrea Proxy |
Optional: \{} |
|
|
Flag to enable/disable NodePortLocal feature to make the pods reachable externally through NodePort |
Optional: \{} |
|
|
Flag to enable/disable flow exporter |
Optional: \{} |
AntreaWindowsProxy
Field | Description | Default | Validation |
---|---|---|---|
|
|||
|
|||
|
AntreaWireGuard
Field | Description | Default | Validation |
---|---|---|---|
|
AuditLogging
Field | Description | Default | Validation |
---|---|---|---|
|
|||
|
|||
|
|||
|
CCPAdapterConf
Field | Description | Default | Validation |
---|---|---|---|
|
EnableDebugServer indicates whether to enable the debug server. |
Optional: \{} |
|
|
Port on which the API server listens. |
Optional: \{} |
|
|
DebugServerPort is the port for the APIServer to serve on. Defaults to 16667. |
Optional: \{} |
|
|
NSXRPCDebug indicates whether to enable NSX RPC debug mode. |
Optional: \{} |
|
|
Time to wait for realization. |
Optional: \{} |
|
|
An interval for regularly report latest realization error in background. |
Optional: \{} |
|
|
Number of workers for reconciler. |
Optional: \{} |
|
|
Average QPS = ReconcilerWorkerCount * ReconcilerQPS |
Optional: \{} |
|
|
Peak QPS = ReconcilerWorkerCount * ReconcilerBurst |
Optional: \{} |
|
|
Period for Reconciler to rsync downstream events. |
Optional: \{} |
Calico
Calico stores the configurations for Calico.
Field | Description | Default | Validation |
---|---|---|---|
|
CalicoConfig
CalicoConfig is the Schema for the calicoconfigs API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
|||
|
CalicoConfigDataValue
CalicoConfigDataValue contains the specific configurations for the Calico package.
Field | Description | Default | Validation |
---|---|---|---|
|
VethMTU defines maximum transmission unit. "0" as default means MTU will be auto detected. |
0 |
Minimum: 0 |
|
SkipCNIBinaries allows to skip the cni plugin binaries installation. |
false |
Optional: \{} |
|
The method to use to autodetect the IPv4 address for this host. |
Optional: \{} |
|
|
The method to use to autodetect the IPv6 address for this host. |
Optional: \{} |
CalicoConfigSpec
CalicoConfigSpec defines the desired state of CalicoConfig.
Field | Description | Default | Validation |
---|---|---|---|
|
CalicoConfigStatus
CalicoConfigStatus defines the observed state of CalicoConfig.
Field | Description | Default | Validation |
---|---|---|---|
|
SecretRef is the name of the data value secret created by calico controller. |
MPAdapterConf
Field | Description | Default | Validation |
---|---|---|---|
|
Path to the client authentication certificate file. |
Optional: \{} |
|
|
Path to the client authentication key file. |
Optional: \{} |
|
|
NSXRemoteAuth indicates whether to use remote authentication. |
Optional: \{} |
|
|
Path to the CA file. |
Optional: \{} |
|
|
NSXInsecure indicates whether to enable insecure connections. |
Optional: \{} |
|
|
NsxRpcConnType is the NSX connection type: either mock or tnproxy. |
Optional: \{} |
|
|
ClusterType represents the type of the cluster. |
Optional: \{} |
|
|
Timeout for NSX client. |
Optional: \{} |
|
|
InventoryBatchSize is the max objects in one inventory update request. |
Optional: \{} |
|
|
InventoryBatchPeriod is the time in seconds to send out request even if the max batch size is not reached. |
Optional: \{} |
|
|
EnableDebugServer indicates whether to enable the debug server. |
Optional: \{} |
|
|
Port on which the API server listens. |
Optional: \{} |
|
|
DebugServerPort is the port for the APIServer to serve on. Defaults to 16666. |
Optional: \{} |
|
|
NSXRPCDebug indicates whether to enable NSX RPC debug mode. |
Optional: \{} |
|
|
Monitor for determine the timeout. |
Optional: \{} |
|
|
NSXVerifyServerName indicates whether to validate NSX server name when NSXInsecure is false. |
Optional: \{} |
ProxyEndpoints
ProxyEndpoints is a struct for proxy endpoints containing the information needed to access the API server.
Field | Description | Default | Validation |
---|---|---|---|
|
RestAPI is a string slice that contains the IP address or domain name of the REST API endpoint. |
Optional: \{} |
|
|
NSXRPCFwdProxy is a string slice that contains the IP address or domain name of the NSX RPC forward proxy. |
Optional: \{} |
cpi.tanzu.vmware.com/v1alpha1
Package v1alpha1 contains API Schema definitions for the cpi v1alpha1 API group
KubevipCPIConfig
KubevipCPIConfig is the Schema for the kubevipcpiconfigs API
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
|||
|
KubevipCPIConfigSpec
KubevipCPIConfigSpec defines the desired state of KubevipCPIConfig
Field | Description | Default | Validation |
---|---|---|---|
|
loadbalancerCIDRs is a list of comma separated cidrs will |
||
|
loadbalancerIPRanges is a list of comma separated IP ranges will |
KubevipCPIConfigStatus
KubevipCPIConfigStatus defines the observed state of KubevipCPIConfig
Field | Description | Default | Validation |
---|---|---|---|
|
Name of the secret created by kubevip cloudprovider config controller |
NSXTRouteConfig
Field | Description | Default | Validation |
---|---|---|---|
|
NSX-T T0/T1 logical router path |
Optional: \{} |
NSXVPC
NSXVPC represents the configuration in the VPC network
Field | Description | Default | Validation |
---|---|---|---|
|
The type of IP pool for routable Pods: Public, Private |
Enum: [Public Private] |
ParavirtualConfig
ParavirtualConfig represents the configuration in the paravirtual mode
Field | Description | Default | Validation |
---|---|---|---|
|
A flag that enables pod routing by Antrea NSX for paravirtual mode |
false |
Optional: \{} |
|
Optional: \{} |
VSphereCPI
Field | Description | Default | Validation |
---|---|---|---|
|
The vSphere mode. Either |
Enum: [vsphereCPI vsphereParavirtualCPI] |
|
|
VSphereCPIConfig
VSphereCPIConfig is the Schema for the VSphereCPIConfig API
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
|||
|
VSphereCPIConfigSpec
VSphereCPIConfigSpec defines the desired state of VSphereCPIConfig
Field | Description | Default | Validation |
---|---|---|---|
|
VSphereCPIConfigStatus
VSphereCPIConfigStatus defines the observed state of VSphereCPIConfig
Field | Description | Default | Validation |
---|---|---|---|
|
Message to indicate failure reason |
Optional: \{} |
|
|
Name of the data value secret created by vSphere CPI controller |
csi.tanzu.vmware.com/v1alpha1
Package v1alpha1 contains API Schema definitions for the csi v1alpha1 API group
VSphereCSI
Field | Description | Default | Validation |
---|---|---|---|
|
The vSphere mode. Either |
Enum: [vsphereCSI vsphereParavirtualCSI] |
VSphereCSIConfig
VSphereCSIConfig is the Schema for the vspherecsiconfigs API
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
|||
|
VSphereCSIConfigSpec
VSphereCSIConfigSpec defines the desired state of VSphereCSIConfig
Field | Description | Default | Validation |
---|---|---|---|
|
VSphereCSIConfigStatus
VSphereCSIConfigStatus defines the observed state of VSphereCSIConfig
Field | Description | Default | Validation |
---|---|---|---|
|
Name of the secret created by csi controller |
run.tanzu.vmware.com/v1alpha3
Package v1alpha3 contains API Schema definitions for the run.tanzu v1alpha3 API group
APIEndpoint
APIEndpoint represents a reachable Kubernetes API endpoint.
Field | Description | Default | Validation |
---|---|---|---|
|
The hostname on which the API server is serving. |
||
|
The port on which the API server is serving. |
AddonStatus
AddonStatus represents the status of an addon.
Field | Description | Default | Validation |
---|---|---|---|
|
Name of the add-on used. |
||
|
Type of the add-on used |
||
|
Version of the distribution applied |
||
|
Conditions defines the current conditions of the add-on. |
AddonType
Underlying type: string
CNIConfiguration
CNIConfiguration indicates which CNI should be used.
Field | Description | Default | Validation |
---|---|---|---|
|
Name is the name of the CNI plugin to use. Supported values: "calico", "antrea". |
ClusterBootstrap
ClusterBootstrap is the Schema for the ClusterBootstraps API
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
ClusterBootstrapPackage
Field | Description | Default | Validation |
---|---|---|---|
|
|||
|
ClusterBootstrapStatus
ClusterBootstrapStatus defines the observed state of ClusterBootstrap
Field | Description | Default | Validation |
---|---|---|---|
|
|||
|
ClusterBootstrapTemplate
ClusterBootstrapTemplate is the Schema for the ClusterBootstraptemplates API
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
ClusterBootstrapTemplateSpec
ClusterBootstrapTemplateSpec defines the desired state of ClusterBootstrapTemplate
Field | Description | Default | Validation |
---|---|---|---|
|
Paused can be used to prevent controllers from processing the ClusterBootstrap and all its associated objects. |
false |
|
|
Condition
Condition defines an observation of a Cluster API resource operational state.
Field | Description | Default | Validation |
---|---|---|---|
|
Type of condition in CamelCase or in foo.example.com/CamelCase. |
||
|
Status of the condition, one of True, False, Unknown. |
||
|
Severity provides an explicit classification of Reason code, so the users or machines can immediately |
||
|
Last time the condition transitioned from one status to another. |
||
|
The reason for the condition’s last transition in CamelCase. |
||
|
A human readable message indicating details about the transition. |
ConditionSeverity
Underlying type: string
ConditionSeverity expresses the severity of a Condition Type failing.
ConditionType
Underlying type: string
ConditionType is a valid value for Condition.Type.
ContainerImage
ContainerImage is a struct representing a single fully qualified container image name, constructed as
{Repository}/{Name}:{Tag}
.
Field | Description | Default | Validation |
---|---|---|---|
|
Repository is the container image repository used by this image. It MUST be a DNS-compatible name. |
||
|
Name is the container image name without the repository prefix. |
||
|
Tag is the container image version tag. It is the suffix coming after ':' in a fully qualified image name. |
ContainerImageInfo
ContainerImageInfo allows to customize the image used for components that are not originated from the Kubernetes/Kubernetes release process (such as etcd and coredns).
Field | Description | Default | Validation |
---|---|---|---|
|
ImageRepository sets the container registry to pull images from. |
||
|
ImageTag specifies a tag for the image. |
DependencyConstraint
DependencyConstraint defines type for the dependency constraint object
Field | Description | Default | Validation |
---|---|---|---|
|
Deployment
Field | Description | Default | Validation |
---|---|---|---|
|
Deployment update strategy |
RollingUpdate |
Enum: [RollingUpdate Recreate] |
|
Deployment rolling update info |
Optional: \{} |
Distribution
Distribution specifies the version of software which should be installed on the control plane and worker nodes. This version information encompasses Kubernetes and its dependencies, the base OS of the node, and add-ons.
Field | Description | Default | Validation |
---|---|---|---|
|
Version specifies the fully-qualified desired Kubernetes distribution version of the Tanzu Kubernetes cluster. If the Version is a semantic version string. The version may not be decreased. The major version may not be changed. If The current observed version of the cluster is held by |
||
|
VersionHint provides the version webhook with guidance about the desired Kubernetes distribution version of the The version selected based on the hint will be stored in the spec as the full version. This ensures that the same VersionHint is a semantic prefix of a full version number. (E.g., v1.15.1 matches any distribution of v1.15.1, A hint that does not match the full version is invalid and will be rejected. To upgrade a cluster to the most recent version that still matches the hint, leave the hint alone and remove the |
FieldError
Field | Description | Default | Validation |
---|---|---|---|
|
|||
|
|||
|
KappConfig
Field | Description | Default | Validation |
---|---|---|---|
|
A cert chain of trusted CA certs. These will be added to the system-wide cert pool of trusted CA’s. Cluster-wide CA Certificate setting will be used if this is not provided. |
Optional: \{} |
|
|
The url/ip of a proxy for kapp controller to use when making network requests. Cluster-wide HTTP proxy setting will be used if this is not provided. |
Optional: \{} |
|
|
The url/ip of a TLS capable proxy for kapp-controller to use when making network requests. Cluster-wide HTTPS proxy setting will be used if this is not provided. |
Optional: \{} |
|
|
A comma delimited list of domain names which kapp-controller should bypass the proxy for when making requests. Cluster-wide no-proxy setting will be used if this is not provided. |
Optional: \{} |
|
|
A comma delimited list of hostnames for which kapp-controller should skip TLS verification |
Optional: \{} |
KappController
Field | Description | Default | Validation |
---|---|---|---|
|
Whether to create namespace specified for kapp-controller |
false |
Optional: \{} |
|
The namespace value used for global packaging resources. Any Package and PackageMetadata CRs within that namespace will be included in all other namespaces on the cluster, without duplicating them |
tkg-system |
Optional: \{} |
|
{ hostNetwork:true } |
Optional: \{} |
|
|
KappControllerConfig
KappControllerConfig is the Schema for the kappcontrollerconfigs API
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
KappControllerConfigSpec
KappControllerConfigSpec defines the desired state of KappControllerConfig
Field | Description | Default | Validation |
---|---|---|---|
|
The namespace in which kapp-controller is deployed |
tkg-system |
Optional: \{} |
|
Optional: \{} |
||
|
{ deployment:map[hostNetwork:true] } |
Optional: \{} |
KappControllerConfigStatus
KappControllerConfigStatus defines the observed state of KappControllerConfig
Field | Description | Default | Validation |
---|---|---|---|
|
Name of the data value secret created by controller |
Optional: \{} |
KappDeployment
Field | Description | Default | Validation |
---|---|---|---|
|
Whether to enable host networking for kapp-controller deployment |
true |
Optional: \{} |
|
The priority value that various system components use to find the priority of the kapp-controller pod |
system-cluster-critical |
Optional: \{} |
|
Concurrency of kapp-controller deployment |
4 |
Optional: \{} |
|
kapp-controller deployment tolerations |
Optional: \{} |
|
|
Bind port for kapp-controller API |
10100 |
Optional: \{} |
|
Address for metrics server |
0 |
Optional: \{} |
KubernetesSpec
KubernetesSpec specifies the details about the Kubernetes distribution shipped by this TKR.
Field | Description | Default | Validation |
---|---|---|---|
|
Version is Semantic Versioning conformant version of the Kubernetes build shipped by this TKR. |
||
|
ImageRepository specifies container image registry to pull images from. |
||
|
Etcd specifies the container image repository and tag for etcd. |
||
|
Pause specifies the container image repository and tag for pause. |
||
|
CoreDNS specifies the container image repository and tag for coredns. |
||
|
KubeVIP specifies the container image repository and tag for kube-vip. |
MachineImageInfo
MachineImageInfo describes the "Image" part of the OSImage, defined by the image type.
Field | Description | Default | Validation |
---|---|---|---|
|
Type of the OSImage, roughly corresponding to the infrastructure provider (vSphere can serve both ova and vmop). |
||
|
Ref is a key-value map identifying the image within the infrastructure provider. This is the data |
Schemaless: \{} |
ManifestResource
ManifestResource represents a YAML manifest for installing an addon.
Field | Description | Default | Validation |
---|---|---|---|
|
Version is the addon version. |
||
|
Type is the type of the manifest resource. In VirtualMachineImage based addons its value is 'inline'. |
||
|
Value is the text of the YAML manifest. |
Network
Network specifies network-related settings for a cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
Services specify network settings for services. Defaults to 10.96.0.0/12. |
||
|
Pods specify network settings for pods. When CNI is antrea, set Defaults to 192.168.0.0/16. |
||
|
ServiceDomain specifies service domain for Tanzu Kubernetes cluster. Defaults to a cluster.local. |
||
|
CNI is the Container Networking Interface plugin for the Tanzu Kubernetes cluster. Defaults to Calico. |
||
|
Proxy specifies HTTP(s) proxy configuration for Tanzu Kubernetes cluster. If omitted, no proxy will be configured in the system. |
||
|
Trust specifies certificate configuration for the Tanzu Kubernetes Cluster. If omitted, no certificate will be configured in the system. |
NetworkRanges
NetworkRanges describes a collection of IP addresses as a list of ranges.
Field | Description | Default | Validation |
---|---|---|---|
|
CIDRBlocks specifies one or more ranges of IP addresses. Note: supplying multiple ranges many not be supported by all CNI plugins. |
NodePool
NodePool describes a group of nodes within a cluster that have the same configuration
Field | Description | Default | Validation |
---|---|---|---|
|
Name is the name of the NodePool. |
||
|
Labels are map of string keys and values that can be used to organize and categorize objects. |
||
|
Taints specifies the taints the Node API object should be registered with. |
||
|
FailureDomain is the failure domain the machines will be created in. |
||
|
Replicas is the number of nodes. |
||
|
VMClass is the name of the VirtualMachineClass, which describes the virtual hardware settings, to be used each node |
||
|
StorageClass is the storage class to be used for storage of the disks which store the root filesystems of the |
||
|
Volumes is the set of PVCs to be created and attached to each node. |
||
|
TKR points to KubernetesRelease intended to be used by the node pool |
||
|
NodeDrainTimeout is the total amount of time that the controller will |
OSImage
OSImage is the schema for the OSImages API. OSImage objects represent OSImages shipped as parts of TKRs. OSImages are immutable to end-users. They are created and managed by TKG to provide discovery of Kubernetes releases to TKG users and OS image details for infrastructure Machines.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
|||
|
OSImageSpec
OSImageSpec defines the desired state of OSImage
Field | Description | Default | Validation |
---|---|---|---|
|
KubernetesVersion specifies the build version of the Kubernetes shipped with this OSImage. |
||
|
OS specifies the "OS" part of the OSImage. |
||
|
Image specifies the "Image" part of the OSImage. |
OSImageStatus
OSImageStatus defines the observed state of OSImage
Field | Description | Default | Validation |
---|---|---|---|
|
OSInfo
OSInfo describes the "OS" part of the OSImage, defined by the Operating System’s name, version and CPU architecture.
Field | Description | Default | Validation |
---|---|---|---|
|
|||
|
|||
|
|||
|
ProviderServiceAccount
ProviderServiceAccount is the schema for the ProviderServiceAccount API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
ProviderServiceAccountSpec
ProviderServiceAccountSpec defines the desired state of ProviderServiceAccount.
Field | Description | Default | Validation |
---|---|---|---|
|
Ref specifies the reference to the TanzuKubernetesCluster for which the ProviderServiceAccount needs to be realized. |
||
|
Rules specifies the privileges that need to be granted to the service account. |
||
|
TargetNamespace is the namespace in the target cluster where the secret containing the generated service account |
||
|
TargetSecretName is the name of the secret in the target cluster that contains the generated service account |
ProxyConfiguration
ProxyConfiguration configures the HTTP(s) proxy to be used inside the Tanzu Kubernetes cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
HttpProxy specifies a proxy URL to use for creating HTTP connections outside the cluster. |
||
|
HttpsProxy specifies a proxy URL to use for creating HTTPS connections outside the cluster. |
||
|
NoProxy specifies a list of destination domain names, domains, IP addresses or other network CIDRs to exclude proxying. |
RollingUpdateInfo
RollingUpdateInfo contains the rolling update settings
Field | Description | Default | Validation |
---|---|---|---|
|
0 |
Optional: \{} |
|
|
1 |
Optional: \{} |
Settings
Settings specifies configuration information for a cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
Network specifies network-related settings for the cluster. |
||
|
Storage specifies storage-related settings for the cluster. The storage used for node’s disks is controlled by TopologySettings. |
Storage
Storage configures persistent storage for a cluster.
Field | Description | Default | Validation |
---|---|---|---|
|
Classes is a list of storage classes from the supervisor namespace to expose within a cluster. If omitted, all storage classes from the supervisor namespace will be exposed within the cluster. |
||
|
DefaultClass is the valid storage class name which is treated as the default storage class within a cluster. |
TKRReference
TKRReference is an extensible way to link a KubernetesRelease.
Field | Description | Default | Validation |
---|---|---|---|
|
Reference is a way to set the fixed link to the target object. |
TLSCertificate
TLSCertificate specifies a single additional certificate name and contents
Field | Description | Default | Validation |
---|---|---|---|
|
Name specifies the name of the additional certificate, used in the filename |
||
|
Data specifies the contents of the additional certificate, encoded as a |
TanzuKubernetesAddon
TanzuKubernetesAddon is the schema for the tanzukubernetesaddons API. TanzuKubernetesAddon objects represent Kubernetes addons available via TKG Service, which can be used to create TanzuKubernetesCluster instances. TKAs are immutable to end-users. They are created and managed by TKG Service to provide discovery of Kubernetes addons to TKG Service users.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
TanzuKubernetesAddonSpec
TanzuKubernetesAddonSpec defines the desired state of TanzuKubernetesAddon
Field | Description | Default | Validation |
---|---|---|---|
|
AddonName is the generic name of this addon, e.g. "antrea", "calico", "pvcsi", etc. |
||
|
Version is the fully qualified Semantic Versioning conformant version of the TanzuKubernetesAddon. |
||
|
Repository is the default container image repository used by Images. It MUST be a DNS-compatible name. |
||
|
Images is the list of container images shipped by this addon (e.g. coredns, etcd). |
||
|
Resource contains the YAML manifest for installing the addon. |
TanzuKubernetesAddonStatus
TanzuKubernetesAddonStatus defines the observed state of TanzuKubernetesAddon
TanzuKubernetesCluster
TanzuKubernetesCluster is the schema for the Tanzu Kubernetes Grid service for vSphere API.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
TanzuKubernetesClusterPhase
Underlying type: string
TanzuKubernetesClusterPhase is a type for the Tanzu Kubernetes cluster’s phase constants.
TanzuKubernetesClusterSpec
TanzuKubernetesClusterSpec defines the desired state of TanzuKubernetesCluster: its nodes, the software installed on those nodes and the way that software should be configured.
Field | Description | Default | Validation |
---|---|---|---|
|
Topology specifies the topology for the Tanzu Kubernetes cluster: the number, purpose, and organization of the nodes which |
||
|
Distribution specifies the distribution for the Tanzu Kubernetes cluster: the software installed on the control plane and |
||
|
Settings specifies settings for the Tanzu Kubernetes cluster: the way an instance of a distribution is configured, |
TanzuKubernetesClusterStatus
TanzuKubernetesClusterStatus defines the observed state of TanzuKubernetesCluster.
Field | Description | Default | Validation |
---|---|---|---|
|
APIEndpoints represents the endpoints to communicate with the control plane. |
||
|
Version holds the observed version of the Tanzu Kubernetes cluster. While an upgrade is in progress this value will be the |
||
|
Addons groups the statuses of a Tanzu Kubernetes cluster’s add-ons. |
||
Phase of this TanzuKubernetesCluster. |
|||
|
Conditions defines current service state of the TanzuKubernetestCluster. |
||
|
Total number of replicas in worker node pools. |
TanzuKubernetesRelease
TanzuKubernetesRelease is the schema for the tanzukubernetesreleases API. TanzuKubernetesRelease objects represent Kubernetes releases available via TKG, which can be used to create TanzuKubernetesCluster instances. TKRs are immutable to end-users. They are created and managed by TKG to provide discovery of Kubernetes releases to TKG users.
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
|
TanzuKubernetesReleaseSpec
TanzuKubernetesReleaseSpec defines the desired state of TanzuKubernetesRelease
Field | Description | Default | Validation |
---|---|---|---|
|
Version is the fully qualified Semantic Versioning conformant version of the TanzuKubernetesRelease. |
||
|
Kubernetes is Kubernetes |
||
|
OSImages lists references to all OSImage objects shipped with this TKR. |
||
|
BootstrapPackages lists references to all bootstrap packages shipped with this TKR. |
TanzuKubernetesReleaseStatus
TanzuKubernetesReleaseStatus defines the observed state of TanzuKubernetesRelease
Field | Description | Default | Validation |
---|---|---|---|
|
TkgServiceConfiguration
TkgServiceConfiguration is the Schema for the tkgserviceconfigurations API
Field | Description | Default | Validation |
---|---|---|---|
|
|
||
|
|
||
|
Refer to Kubernetes API documentation for fields of |
||
TkgServiceConfigurationSpec
TkgServiceConfigurationSpec defines the desired state of TkgServiceConfiguration
Field | Description | Default | Validation |
---|---|---|---|
|
Default CNI for TanzuKubernetesCluster |
||
|
Proxy specifies default global HTTP(s) Proxy Configuration for all new TanzuKubernetesClusters in this Supervisor cluster If omitted, no proxy will be configured for new TanzuKubernetesClusters |
||
|
Trust specifies default global Trust settings for all new TanzuKubernetesClusters If omitted, no additional Trust settings will be configured for the new TanzuKubernetesCluster. |
||
|
DefaultNodeDrainTimeout specifies the total amount of time that the |
TkgServiceConfigurationStatus
TkgServiceConfigurationStatus defines the observed state of TkgServiceConfiguration
Topology
Topology describes the number, purpose, and organization of nodes and the resources allocated for each. Nodes are grouped into pools based on their intended purpose. Each pool is homogeneous, having the same resource allocation and using the same storage.
Field | Description | Default | Validation |
---|---|---|---|
|
ControlPlane specifies the topology of the cluster’s control plane, including the number of control plane nodes |
||
|
NodePools specifies the topology of cluster’s worker node pools, including the number of nodes and resources |
TopologySettings
TopologySettings describes a homogeneous pool of nodes: the number of nodes in the pool and the properties of each of those nodes, including resource allocation and storage.
Field | Description | Default | Validation |
---|---|---|---|
|
Replicas is the number of nodes. |
||
|
VMClass is the name of the VirtualMachineClass, which describes the virtual hardware settings, to be used each node |
||
|
StorageClass is the storage class to be used for storage of the disks which store the root filesystems of the |
||
|
Volumes is the set of PVCs to be created and attached to each node. |
||
|
TKR points to KubernetesRelease intended to be used by the node pool |
||
|
NodeDrainTimeout is the total amount of time that the controller will |
TrustConfiguration
TrustConfiguration configures additional trust parameters to the cluster configuration
Field | Description | Default | Validation |
---|---|---|---|
|
AdditionalTrustedCAs specifies the additional trusted certificates (which |
ValuesFrom
ValuesFrom specifies how values for package install are retrieved from
Field | Description | Default | Validation |
---|---|---|---|
|
Schemaless: \{} |
||
|
|||
|
Volume
Volume defines a PVC attachment. These volumes are tied to the node lifecycle, created and deleted when the node is. The volumes are mounted in the node during the bootstrap process, prior to services being started (e.g. etcd, containerd).
Field | Description | Default | Validation |
---|---|---|---|
|
Name is suffix used to name this PVC as: node.Name + "-" + Name |
||
|
MountPath is the directory where the volume device is to be mounted |
||
|
StorageClass is the storage class to be used for the disks. |