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=sigs.k8s.io/cluster-api/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=sigs.k8s.io/cluster-api/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 APIEndpoint
- type Cluster
- type ClusterList
- type ClusterNetworkingConfig
- type ClusterSpec
- type ClusterStatus
- 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 NetworkRanges
- 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" )
const ClusterFinalizer = "cluster.cluster.k8s.io"
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 APIEndpoint ¶
type APIEndpoint struct {
// The hostname on which the API server is serving.
Host string `json:"host"`
// The port on which the API server is serving.
Port int `json:"port"`
}
/ APIEndpoint APIEndpoint represents a reachable Kubernetes API endpoint.
func (*APIEndpoint) DeepCopy ¶
func (in *APIEndpoint) DeepCopy() *APIEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIEndpoint.
func (*APIEndpoint) DeepCopyInto ¶
func (in *APIEndpoint) DeepCopyInto(out *APIEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cluster ¶
type Cluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterSpec `json:"spec,omitempty"`
Status ClusterStatus `json:"status,omitempty"`
}
/ Cluster Cluster is the Schema for the clusters API +k8s:openapi-gen=true +kubebuilder:resource:shortName=cl +kubebuilder:subresource:status
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterList ¶
type ClusterList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Cluster `json:"items"`
}
ClusterList contains a list of Cluster
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterNetworkingConfig ¶
type ClusterNetworkingConfig struct {
// The network ranges from which service VIPs are allocated.
Services NetworkRanges `json:"services"`
// The network ranges from which Pod networks are allocated.
Pods NetworkRanges `json:"pods"`
// Domain name for services.
ServiceDomain string `json:"serviceDomain"`
}
/ ClusterNetworkingConfig ClusterNetworkingConfig specifies the different networking parameters for a cluster.
func (*ClusterNetworkingConfig) DeepCopy ¶
func (in *ClusterNetworkingConfig) DeepCopy() *ClusterNetworkingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterNetworkingConfig.
func (*ClusterNetworkingConfig) DeepCopyInto ¶
func (in *ClusterNetworkingConfig) DeepCopyInto(out *ClusterNetworkingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSpec ¶
type ClusterSpec struct {
// Cluster network configuration
// +optional
ClusterNetwork ClusterNetworkingConfig `json:"clusterNetwork"`
// Provider-specific serialized configuration to use during
// cluster creation. It is recommended that providers maintain
// their own versioned API types that should be
// serialized/deserialized from this field.
// +optional
ProviderSpec ProviderSpec `json:"providerSpec,omitempty"`
}
/ ClusterSpec ClusterSpec defines the desired state of Cluster
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct {
// APIEndpoint represents the endpoint to communicate with the IP.
// +optional
APIEndpoints []APIEndpoint `json:"apiEndpoints,omitempty"`
// If set, indicates that there is a problem reconciling the
// state, and will be set to a token value suitable for
// programmatic interpretation.
// +optional
ErrorReason common.ClusterStatusError `json:"errorReason,omitempty"`
// If set, indicates that there is a problem reconciling the
// state, and will be set to a descriptive error message.
// +optional
ErrorMessage string `json:"errorMessage,omitempty"`
// 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"`
}
/ ClusterStatus ClusterStatus defines the observed state of Cluster
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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.
// +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"`
}
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 NetworkRanges ¶
type NetworkRanges struct {
CIDRBlocks []string `json:"cidrBlocks"`
}
/ NetworkRanges NetworkRanges represents ranges of network addresses.
func (*NetworkRanges) DeepCopy ¶
func (in *NetworkRanges) DeepCopy() *NetworkRanges
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkRanges.
func (*NetworkRanges) DeepCopyInto ¶
func (in *NetworkRanges) DeepCopyInto(out *NetworkRanges)
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.