Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the cluster v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/magnusr/kubermatic-machine-controller/pkg/apis/cluster +k8s:defaulter-gen=TypeMeta +groupName=cluster.k8s.io
Package v1alpha1 contains API Schema definitions for the cluster v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/magnusr/kubermatic-machine-controller/pkg/apis/cluster +k8s:defaulter-gen=TypeMeta +groupName=cluster.k8s.io
Index ¶
- Constants
- Variables
- func PopulateDefaultsMachineDeployment(d *MachineDeployment)
- func Resource(resource string) schema.GroupResource
- type LastOperation
- type Machine
- type MachineClass
- type MachineClassList
- type MachineClassRef
- type MachineDeployment
- type MachineDeploymentList
- type MachineDeploymentSpec
- type MachineDeploymentStatus
- type MachineDeploymentStrategy
- type MachineList
- type MachineRollingUpdateDeployment
- type MachineSet
- type MachineSetDeletePolicy
- type MachineSetList
- type MachineSetSpec
- type MachineSetStatus
- type MachineSpec
- type MachineStatus
- type MachineTemplateSpec
- type MachineVersionInfo
- type ProviderSpec
- type ProviderSpecSource
Constants ¶
const ( // MachineFinalizer is set on PrepareForCreate callback. MachineFinalizer = "machine.cluster.k8s.io" // MachineClusterLabelName is the label set on machines linked to a cluster. MachineClusterLabelName = "cluster.k8s.io/cluster-name" )
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects. SchemeGroupVersion = schema.GroupVersion{Group: "cluster.k8s.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme adds registered types to the builder. // Required by pkg/client/... // TODO(pwittrock): Remove this after removing pkg/client/... AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func PopulateDefaultsMachineDeployment ¶
func PopulateDefaultsMachineDeployment(d *MachineDeployment)
PopulateDefaultsMachineDeployment fills in default field values Currently it is called after reading objects, but it could be called in an admission webhook also.
func Resource ¶
func Resource(resource string) schema.GroupResource
Required by pkg/client/listers/... TODO(pwittrock): Remove this after removing pkg/client/...
Types ¶
type LastOperation ¶
type LastOperation struct { // Description is the human-readable description of the last operation. Description *string `json:"description,omitempty"` // LastUpdated is the timestamp at which LastOperation API was last-updated. LastUpdated *metav1.Time `json:"lastUpdated,omitempty"` // State is the current status of the last performed operation. // E.g. Processing, Failed, Successful etc State *string `json:"state,omitempty"` // Type is the type of operation which was last performed. // E.g. Create, Delete, Update etc Type *string `json:"type,omitempty"` }
LastOperation represents the detail of the last performed operation on the MachineObject.
func (*LastOperation) DeepCopy ¶
func (in *LastOperation) DeepCopy() *LastOperation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LastOperation.
func (*LastOperation) DeepCopyInto ¶
func (in *LastOperation) DeepCopyInto(out *LastOperation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Machine ¶
type Machine struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec MachineSpec `json:"spec,omitempty"` Status MachineStatus `json:"status,omitempty"` }
/ Machine Machine is the Schema for the machines API +k8s:openapi-gen=true +kubebuilder:resource:shortName=ma +kubebuilder:subresource:status +kubebuilder:printcolumn:name="ProviderID",type="string",JSONPath=".spec.providerID",description="Provider ID" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="Machine status such as Terminating/Pending/Running/Failed etc" +kubebuilder:printcolumn:name="NodeName",type="string",JSONPath=".status.nodeRef.name",description="Node name associated with this machine",priority=1
func (*Machine) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Machine.
func (*Machine) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Machine) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MachineClass ¶
type MachineClass struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Provider-specific configuration to use during node creation. ProviderSpec runtime.RawExtension `json:"providerSpec"` }
/ MachineClass MachineClass can be used to templatize and re-use provider configuration across multiple Machines / MachineSets / MachineDeployments. +k8s:openapi-gen=true +resource:path=machineclasses +kubebuilder:resource:shortName=mc
func (*MachineClass) DeepCopy ¶
func (in *MachineClass) DeepCopy() *MachineClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineClass.
func (*MachineClass) DeepCopyInto ¶
func (in *MachineClass) DeepCopyInto(out *MachineClass)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineClass) DeepCopyObject ¶
func (in *MachineClass) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MachineClassList ¶
type MachineClassList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []MachineClass `json:"items"` }
MachineClassList contains a list of MachineClasses.
func (*MachineClassList) DeepCopy ¶
func (in *MachineClassList) DeepCopy() *MachineClassList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineClassList.
func (*MachineClassList) DeepCopyInto ¶
func (in *MachineClassList) DeepCopyInto(out *MachineClassList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineClassList) DeepCopyObject ¶
func (in *MachineClassList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MachineClassRef ¶
type MachineClassRef struct { // +optional *corev1.ObjectReference `json:",inline"` // Provider is the name of the cloud-provider which MachineClass is intended for. // +optional Provider string `json:"provider,omitempty"` }
MachineClassRef is a reference to the MachineClass object. Controllers should find the right MachineClass using this reference.
func (*MachineClassRef) DeepCopy ¶
func (in *MachineClassRef) DeepCopy() *MachineClassRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineClassRef.
func (*MachineClassRef) DeepCopyInto ¶
func (in *MachineClassRef) DeepCopyInto(out *MachineClassRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineDeployment ¶
type MachineDeployment struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec MachineDeploymentSpec `json:"spec,omitempty"` Status MachineDeploymentStatus `json:"status,omitempty"` }
/ MachineDeployment MachineDeployment is the Schema for the machinedeployments API +k8s:openapi-gen=true +kubebuilder:resource:shortName=md +kubebuilder:subresource:status +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas,selectorpath=.status.labelSelector
func (*MachineDeployment) DeepCopy ¶
func (in *MachineDeployment) DeepCopy() *MachineDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineDeployment.
func (*MachineDeployment) DeepCopyInto ¶
func (in *MachineDeployment) DeepCopyInto(out *MachineDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineDeployment) DeepCopyObject ¶
func (in *MachineDeployment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MachineDeploymentList ¶
type MachineDeploymentList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []MachineDeployment `json:"items"` }
MachineDeploymentList contains a list of MachineDeployment.
func (*MachineDeploymentList) DeepCopy ¶
func (in *MachineDeploymentList) DeepCopy() *MachineDeploymentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineDeploymentList.
func (*MachineDeploymentList) DeepCopyInto ¶
func (in *MachineDeploymentList) DeepCopyInto(out *MachineDeploymentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineDeploymentList) DeepCopyObject ¶
func (in *MachineDeploymentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MachineDeploymentSpec ¶
type MachineDeploymentSpec struct { // Number of desired machines. Defaults to 1. // This is a pointer to distinguish between explicit zero and not specified. Replicas *int32 `json:"replicas,omitempty"` // Label selector for machines. Existing MachineSets whose machines are // selected by this will be the ones affected by this deployment. // It must match the machine template's labels. Selector metav1.LabelSelector `json:"selector"` // Template describes the machines that will be created. Template MachineTemplateSpec `json:"template"` // The deployment strategy to use to replace existing machines with // new ones. // +optional Strategy *MachineDeploymentStrategy `json:"strategy,omitempty"` // Minimum number of seconds for which a newly created machine should // be ready. // Defaults to 0 (machine will be considered available as soon as it // is ready) // +optional MinReadySeconds *int32 `json:"minReadySeconds,omitempty"` // The number of old MachineSets to retain to allow rollback. // This is a pointer to distinguish between explicit zero and not specified. // Defaults to 1. // +optional RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"` // Indicates that the deployment is paused. // +optional Paused bool `json:"paused,omitempty"` // The maximum time in seconds for a deployment to make progress before it // is considered to be failed. The deployment controller will continue to // process failed deployments and a condition with a ProgressDeadlineExceeded // reason will be surfaced in the deployment status. Note that progress will // not be estimated during the time a deployment is paused. Defaults to 600s. ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty"` }
/ MachineDeploymentSpec MachineDeploymentSpec defines the desired state of MachineDeployment.
func (*MachineDeploymentSpec) DeepCopy ¶
func (in *MachineDeploymentSpec) DeepCopy() *MachineDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineDeploymentSpec.
func (*MachineDeploymentSpec) DeepCopyInto ¶
func (in *MachineDeploymentSpec) DeepCopyInto(out *MachineDeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineDeploymentStatus ¶
type MachineDeploymentStatus struct { // The generation observed by the deployment controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"` // Total number of non-terminated machines targeted by this deployment // (their labels match the selector). // +optional Replicas int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"` // Total number of non-terminated machines targeted by this deployment // that have the desired template spec. // +optional UpdatedReplicas int32 `json:"updatedReplicas,omitempty" protobuf:"varint,3,opt,name=updatedReplicas"` // Total number of ready machines targeted by this deployment. // +optional ReadyReplicas int32 `json:"readyReplicas,omitempty" protobuf:"varint,7,opt,name=readyReplicas"` // Total number of available machines (ready for at least minReadySeconds) // targeted by this deployment. // +optional AvailableReplicas int32 `json:"availableReplicas,omitempty" protobuf:"varint,4,opt,name=availableReplicas"` // This is the total number of machines that are still required for // the deployment to have 100% available capacity. They may either // be machines that are running but not yet available or machines // that still have not been created. // +optional UnavailableReplicas int32 `json:"unavailableReplicas,omitempty" protobuf:"varint,5,opt,name=unavailableReplicas"` }
/ MachineDeploymentStatus MachineDeploymentStatus defines the observed state of MachineDeployment.
func (*MachineDeploymentStatus) DeepCopy ¶
func (in *MachineDeploymentStatus) DeepCopy() *MachineDeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineDeploymentStatus.
func (*MachineDeploymentStatus) DeepCopyInto ¶
func (in *MachineDeploymentStatus) DeepCopyInto(out *MachineDeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineDeploymentStrategy ¶
type MachineDeploymentStrategy struct { // Type of deployment. Currently the only supported strategy is // "RollingUpdate". // Default is RollingUpdate. // +optional Type common.MachineDeploymentStrategyType `json:"type,omitempty"` // Rolling update config params. Present only if // MachineDeploymentStrategyType = RollingUpdate. // +optional RollingUpdate *MachineRollingUpdateDeployment `json:"rollingUpdate,omitempty"` }
/ MachineDeploymentStrategy MachineDeploymentStrategy describes how to replace existing machines with new ones.
func (*MachineDeploymentStrategy) DeepCopy ¶
func (in *MachineDeploymentStrategy) DeepCopy() *MachineDeploymentStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineDeploymentStrategy.
func (*MachineDeploymentStrategy) DeepCopyInto ¶
func (in *MachineDeploymentStrategy) DeepCopyInto(out *MachineDeploymentStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineList ¶
type MachineList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Machine `json:"items"` }
MachineList contains a list of Machine.
func (*MachineList) DeepCopy ¶
func (in *MachineList) DeepCopy() *MachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineList.
func (*MachineList) DeepCopyInto ¶
func (in *MachineList) DeepCopyInto(out *MachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineList) DeepCopyObject ¶
func (in *MachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MachineRollingUpdateDeployment ¶
type MachineRollingUpdateDeployment struct { // Value can be an absolute number (ex: 5) or a percentage of desired // machines (ex: 10%). // Absolute number is calculated from percentage by rounding down. // This can not be 0 if MaxSurge is 0. // Defaults to 0. // Example: when this is set to 30%, the old MachineSet can be scaled // down to 70% of desired machines immediately when the rolling update // starts. Once new machines are ready, old MachineSet can be scaled // down further, followed by scaling up the new MachineSet, ensuring // that the total number of machines available at all times // during the update is at least 70% of desired machines. // +optional MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty" protobuf:"bytes,1,opt,name=maxUnavailable"` // The maximum number of machines that can be scheduled above the // desired number of machines. // Value can be an absolute number (ex: 5) or a percentage of // desired machines (ex: 10%). // This can not be 0 if MaxUnavailable is 0. // Absolute number is calculated from percentage by rounding up. // Defaults to 1. // Example: when this is set to 30%, the new MachineSet can be scaled // up immediately when the rolling update starts, such that the total // number of old and new machines do not exceed 130% of desired // machines. Once old machines have been killed, new MachineSet can // be scaled up further, ensuring that total number of machines running // at any time during the update is at most 130% of desired machines. // +optional MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty" protobuf:"bytes,2,opt,name=maxSurge"` }
/ MachineRollingUpdateDeployment Spec to control the desired behavior of rolling update.
func (*MachineRollingUpdateDeployment) DeepCopy ¶
func (in *MachineRollingUpdateDeployment) DeepCopy() *MachineRollingUpdateDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineRollingUpdateDeployment.
func (*MachineRollingUpdateDeployment) DeepCopyInto ¶
func (in *MachineRollingUpdateDeployment) DeepCopyInto(out *MachineRollingUpdateDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineSet ¶
type MachineSet struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec MachineSetSpec `json:"spec,omitempty"` Status MachineSetStatus `json:"status,omitempty"` }
/ MachineSet MachineSet ensures that a specified number of machines replicas are running at any given time. +k8s:openapi-gen=true +kubebuilder:resource:shortName=ms +kubebuilder:subresource:status +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas,selectorpath=.status.labelSelector
func (*MachineSet) DeepCopy ¶
func (in *MachineSet) DeepCopy() *MachineSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineSet.
func (*MachineSet) DeepCopyInto ¶
func (in *MachineSet) DeepCopyInto(out *MachineSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineSet) DeepCopyObject ¶
func (in *MachineSet) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*MachineSet) Default ¶
func (m *MachineSet) Default()
DefaultingFunction sets default MachineSet field values...
func (*MachineSet) Validate ¶
func (m *MachineSet) Validate() field.ErrorList
type MachineSetDeletePolicy ¶
type MachineSetDeletePolicy string
MachineSetDeletePolicy defines how priority is assigned to nodes to delete when downscaling a MachineSet. Defaults to "Random".
const ( // RandomMachineSetDeletePolicy prioritizes both Machines that have the annotation // "cluster.k8s.io/delete-machine=yes" and Machines that are unhealthy // (Status.ErrorReason or Status.ErrorMessage are set to a non-empty value). // Finally, it picks Machines at random to delete. RandomMachineSetDeletePolicy MachineSetDeletePolicy = "Random" // NewestMachineSetDeletePolicy prioritizes both Machines that have the annotation // "cluster.k8s.io/delete-machine=yes" and Machines that are unhealthy // (Status.ErrorReason or Status.ErrorMessage are set to a non-empty value). // It then prioritizes the newest Machines for deletion based on the Machine's CreationTimestamp. NewestMachineSetDeletePolicy MachineSetDeletePolicy = "Newest" // OldestMachineSetDeletePolicy prioritizes both Machines that have the annotation // "cluster.k8s.io/delete-machine=yes" and Machines that are unhealthy // (Status.ErrorReason or Status.ErrorMessage are set to a non-empty value). // It then prioritizes the oldest Machines for deletion based on the Machine's CreationTimestamp. OldestMachineSetDeletePolicy MachineSetDeletePolicy = "Oldest" )
type MachineSetList ¶
type MachineSetList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []MachineSet `json:"items"` }
MachineSetList contains a list of MachineSet.
func (*MachineSetList) DeepCopy ¶
func (in *MachineSetList) DeepCopy() *MachineSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineSetList.
func (*MachineSetList) DeepCopyInto ¶
func (in *MachineSetList) DeepCopyInto(out *MachineSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineSetList) DeepCopyObject ¶
func (in *MachineSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MachineSetSpec ¶
type MachineSetSpec struct { // Replicas is the number of desired replicas. // This is a pointer to distinguish between explicit zero and unspecified. // Defaults to 1. // +optional Replicas *int32 `json:"replicas,omitempty"` // MinReadySeconds is the minimum number of seconds for which a newly created machine should be ready. // Defaults to 0 (machine will be considered available as soon as it is ready) // +optional MinReadySeconds int32 `json:"minReadySeconds,omitempty"` // DeletePolicy defines the policy used to identify nodes to delete when downscaling. // Defaults to "Random". Valid values are "Random, "Newest", "Oldest" // +kubebuilder:validation:Enum=Random,Newest,Oldest DeletePolicy string `json:"deletePolicy,omitempty"` // Selector is a label query over machines that should match the replica count. // Label keys and values that must match in order to be controlled by this MachineSet. // It must match the machine template's labels. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors Selector metav1.LabelSelector `json:"selector"` // Template is the object that describes the machine that will be created if // insufficient replicas are detected. // +optional Template MachineTemplateSpec `json:"template,omitempty"` }
/ MachineSetSpec MachineSetSpec defines the desired state of MachineSet.
func (*MachineSetSpec) DeepCopy ¶
func (in *MachineSetSpec) DeepCopy() *MachineSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineSetSpec.
func (*MachineSetSpec) DeepCopyInto ¶
func (in *MachineSetSpec) DeepCopyInto(out *MachineSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineSetStatus ¶
type MachineSetStatus struct { // Replicas is the most recently observed number of replicas. Replicas int32 `json:"replicas"` // The number of replicas that have labels matching the labels of the machine template of the MachineSet. // +optional FullyLabeledReplicas int32 `json:"fullyLabeledReplicas,omitempty"` // The number of ready replicas for this MachineSet. A machine is considered ready when the node has been created and is "Ready". // +optional ReadyReplicas int32 `json:"readyReplicas,omitempty"` // The number of available replicas (ready for at least minReadySeconds) for this MachineSet. // +optional AvailableReplicas int32 `json:"availableReplicas,omitempty"` // ObservedGeneration reflects the generation of the most recently observed MachineSet. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // In the event that there is a terminal problem reconciling the // replicas, both ErrorReason and ErrorMessage will be set. ErrorReason // will be populated with a succinct value suitable for machine // interpretation, while ErrorMessage will contain a more verbose // string suitable for logging and human consumption. // // These fields should not be set for transitive errors that a // controller faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the MachineTemplate's spec or the configuration of // the machine controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the machine controller, or the // responsible machine controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of Machines // can be added as events to the MachineSet object and/or logged in the // controller's output. // +optional ErrorReason *common.MachineSetStatusError `json:"errorReason,omitempty"` // +optional ErrorMessage *string `json:"errorMessage,omitempty"` }
/ MachineSetStatus MachineSetStatus defines the observed state of MachineSet.
func (*MachineSetStatus) DeepCopy ¶
func (in *MachineSetStatus) DeepCopy() *MachineSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineSetStatus.
func (*MachineSetStatus) DeepCopyInto ¶
func (in *MachineSetStatus) DeepCopyInto(out *MachineSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineSpec ¶
type MachineSpec struct { // ObjectMeta will autopopulate the Node created. Use this to // indicate what labels, annotations, name prefix, etc., should be used // when creating the Node. // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // The list of the taints to be applied to the corresponding Node in additive // manner. This list will not overwrite any other taints added to the Node on // an ongoing basis by other entities. These taints should be actively reconciled // e.g. if you ask the machine controller to apply a taint and then manually remove // the taint the machine controller will put it back) but not have the machine controller // remove any taints // +optional Taints []corev1.Taint `json:"taints,omitempty"` // ProviderSpec details Provider-specific configuration to use during node creation. // +optional ProviderSpec ProviderSpec `json:"providerSpec"` // Versions of key software to use. This field is optional at cluster // creation time, and omitting the field indicates that the cluster // installation tool should select defaults for the user. These // defaults may differ based on the cluster installer, but the tool // should populate the values it uses when persisting Machine objects. // A Machine spec missing this field at runtime is invalid. // +optional Versions MachineVersionInfo `json:"versions,omitempty"` // ConfigSource is used to populate in the associated Node for dynamic kubelet config. This // field already exists in Node, so any updates to it in the Machine // spec will be automatically copied to the linked NodeRef from the // status. The rest of dynamic kubelet config support should then work // as-is. // Deprecated: This feature has been removed with k8s v1.24. // +optional ConfigSource *corev1.NodeConfigSource `json:"configSource,omitempty"` // ProviderID is the identification ID of the machine provided by the provider. // This field must match the provider ID as seen on the node object corresponding to this machine. // This field is required by higher level consumers of cluster-api. Example use case is cluster autoscaler // with cluster-api as provider. Clean-up logic in the autoscaler compares machines to nodes to find out // machines at provider which could not get registered as Kubernetes nodes. With cluster-api as a // generic out-of-tree provider for autoscaler, this field is required by autoscaler to be // able to have a provider view of the list of machines. Another list of nodes is queried from the k8s apiserver // and then a comparison is done to find out unregistered machines and are marked for delete. // This field will be set by the actuators and consumed by higher level entities like autoscaler that will // be interfacing with cluster-api as generic provider. // +optional ProviderID *string `json:"providerID,omitempty"` }
/ MachineSpec MachineSpec defines the desired state of Machine.
func (*MachineSpec) DeepCopy ¶
func (in *MachineSpec) DeepCopy() *MachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineSpec.
func (*MachineSpec) DeepCopyInto ¶
func (in *MachineSpec) DeepCopyInto(out *MachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineStatus ¶
type MachineStatus struct { // NodeRef will point to the corresponding Node if it exists. // +optional NodeRef *corev1.ObjectReference `json:"nodeRef,omitempty"` // LastUpdated identifies when this status was last observed. // +optional LastUpdated *metav1.Time `json:"lastUpdated,omitempty"` // Versions specifies the current versions of software on the corresponding Node (if it // exists). This is provided for a few reasons: // // 1) It is more convenient than checking the NodeRef, traversing it to // the Node, and finding the appropriate field in Node.Status.NodeInfo // (which uses different field names and formatting). // 2) It removes some of the dependency on the structure of the Node, // so that if the structure of Node.Status.NodeInfo changes, only // machine controllers need to be updated, rather than every client // of the Machines API. // 3) There is no other simple way to check the control plane // version. A client would have to connect directly to the apiserver // running on the target node in order to find out its version. // +optional Versions *MachineVersionInfo `json:"versions,omitempty"` // ErrorReason will be set in the event that there is a terminal problem // reconciling the Machine and will contain a succinct value suitable // for machine interpretation. // // This field should not be set for transitive errors that a controller // faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the Machine's spec or the configuration of // the controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the controller, or the // responsible controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of Machines // can be added as events to the Machine object and/or logged in the // controller's output. // +optional ErrorReason *common.MachineStatusError `json:"errorReason,omitempty"` // ErrorMessage will be set in the event that there is a terminal problem // reconciling the Machine and will contain a more verbose string suitable // for logging and human consumption. // // This field should not be set for transitive errors that a controller // faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the Machine's spec or the configuration of // the controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the controller, or the // responsible controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of Machines // can be added as events to the Machine object and/or logged in the // controller's output. // +optional ErrorMessage *string `json:"errorMessage,omitempty"` // ProviderStatus details a Provider-specific status. // It is recommended that providers maintain their // own versioned API types that should be // serialized/deserialized from this field. // +optional ProviderStatus *runtime.RawExtension `json:"providerStatus,omitempty"` // Addresses is a list of addresses assigned to the machine. Queried from cloud provider, if available. // +optional Addresses []corev1.NodeAddress `json:"addresses,omitempty"` // Conditions lists the conditions synced from the node conditions of the corresponding node-object. // Machine-controller is responsible for keeping conditions up-to-date. // MachineSet controller will be taking these conditions as a signal to decide if // machine is healthy or needs to be replaced. // Refer: https://kubernetes.io/docs/concepts/architecture/nodes/#condition // +optional Conditions []corev1.NodeCondition `json:"conditions,omitempty"` // LastOperation describes the last-operation performed by the machine-controller. // This API should be useful as a history in terms of the latest operation performed on the // specific machine. It should also convey the state of the latest-operation for example if // it is still on-going, failed or completed successfully. // +optional LastOperation *LastOperation `json:"lastOperation,omitempty"` // Phase represents the current phase of machine actuation. // E.g. Pending, Running, Terminating, Failed etc. // +optional Phase *string `json:"phase,omitempty"` }
/ MachineStatus MachineStatus defines the observed state of Machine.
func (*MachineStatus) DeepCopy ¶
func (in *MachineStatus) DeepCopy() *MachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineStatus.
func (*MachineStatus) DeepCopyInto ¶
func (in *MachineStatus) DeepCopyInto(out *MachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineTemplateSpec ¶
type MachineTemplateSpec struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the desired behavior of the machine. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status // +optional Spec MachineSpec `json:"spec,omitempty"` }
/ MachineTemplateSpec // doxygen marker MachineTemplateSpec describes the data needed to create a Machine from a template.
func (*MachineTemplateSpec) DeepCopy ¶
func (in *MachineTemplateSpec) DeepCopy() *MachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineTemplateSpec.
func (*MachineTemplateSpec) DeepCopyInto ¶
func (in *MachineTemplateSpec) DeepCopyInto(out *MachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineVersionInfo ¶
type MachineVersionInfo struct { // Kubelet is the semantic version of kubelet to run Kubelet string `json:"kubelet"` // ControlPlane is the semantic version of the Kubernetes control plane to // run. This should only be populated when the machine is a // control plane. // +optional ControlPlane string `json:"controlPlane,omitempty"` }
/ MachineVersionInfo Holds information regarding kubelet and controlplane versions for machine.
func (*MachineVersionInfo) DeepCopy ¶
func (in *MachineVersionInfo) DeepCopy() *MachineVersionInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineVersionInfo.
func (*MachineVersionInfo) DeepCopyInto ¶
func (in *MachineVersionInfo) DeepCopyInto(out *MachineVersionInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderSpec ¶
type ProviderSpec struct { // Value is an inlined, serialized representation of the resource // configuration. It is recommended that providers maintain their own // versioned API types that should be serialized/deserialized from this // field, akin to component config. // +optional Value *runtime.RawExtension `json:"value,omitempty"` // Source for the provider configuration. Cannot be used if value is // not empty. // +optional ValueFrom *ProviderSpecSource `json:"valueFrom,omitempty"` }
ProviderSpec defines the configuration to use during node creation.
func (*ProviderSpec) DeepCopy ¶
func (in *ProviderSpec) DeepCopy() *ProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderSpec.
func (*ProviderSpec) DeepCopyInto ¶
func (in *ProviderSpec) DeepCopyInto(out *ProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderSpecSource ¶
type ProviderSpecSource struct { // The machine class from which the provider config should be sourced. // +optional MachineClass *MachineClassRef `json:"machineClass,omitempty"` }
ProviderSpecSource represents a source for the provider-specific resource configuration.
func (*ProviderSpecSource) DeepCopy ¶
func (in *ProviderSpecSource) DeepCopy() *ProviderSpecSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderSpecSource.
func (*ProviderSpecSource) DeepCopyInto ¶
func (in *ProviderSpecSource) DeepCopyInto(out *ProviderSpecSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.