Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the controlplane v1beta1 API group +kubebuilder:object:generate=true +groupName=controlplane.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- type K3sControlPlane
- func (in *K3sControlPlane) DeepCopy() *K3sControlPlane
- func (in *K3sControlPlane) DeepCopyInto(out *K3sControlPlane)
- func (in *K3sControlPlane) DeepCopyObject() runtime.Object
- func (in *K3sControlPlane) Default()
- func (in *K3sControlPlane) GetConditions() clusterv1.Conditions
- func (in *K3sControlPlane) SetConditions(conditions clusterv1.Conditions)
- func (in *K3sControlPlane) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (in *K3sControlPlane) ValidateCreate() error
- func (in *K3sControlPlane) ValidateDelete() error
- func (in *K3sControlPlane) ValidateUpdate(old runtime.Object) error
- type K3sControlPlaneList
- type K3sControlPlaneMachineTemplate
- type K3sControlPlaneSpec
- type K3sControlPlaneStatus
- type K3sControlPlaneTemplate
- func (in *K3sControlPlaneTemplate) DeepCopy() *K3sControlPlaneTemplate
- func (in *K3sControlPlaneTemplate) DeepCopyInto(out *K3sControlPlaneTemplate)
- func (in *K3sControlPlaneTemplate) DeepCopyObject() runtime.Object
- func (r *K3sControlPlaneTemplate) Default()
- func (r *K3sControlPlaneTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *K3sControlPlaneTemplate) ValidateCreate() error
- func (r *K3sControlPlaneTemplate) ValidateDelete() error
- func (r *K3sControlPlaneTemplate) ValidateUpdate(oldRaw runtime.Object) error
- type K3sControlPlaneTemplateList
- type K3sControlPlaneTemplateMachineTemplate
- type K3sControlPlaneTemplateResource
- type K3sControlPlaneTemplateResourceSpec
- type K3sControlPlaneTemplateSpec
- type RollingUpdate
- type RolloutStrategy
- type RolloutStrategyType
Constants ¶
const ( // CertificatesAvailableCondition documents that cluster certificates were generated as part of the // processing of a a K3sControlPlane object. CertificatesAvailableCondition clusterv1.ConditionType = "CertificatesAvailable" // CertificatesGenerationFailedReason (Severity=Warning) documents a K3sControlPlane controller detecting // an error while generating certificates; those kind of errors are usually temporary and the controller // automatically recover from them. CertificatesGenerationFailedReason = "CertificatesGenerationFailed" )
const ( // AvailableCondition documents that the first control plane instance has completed the kubeadm init operation // and so the control plane is available and an API server instance is ready for processing requests. AvailableCondition clusterv1.ConditionType = "Available" // WaitingForKubeadmInitReason (Severity=Info) documents a K3sControlPlane object waiting for the first // control plane instance to complete the kubeadm init operation. WaitingForKubeadmInitReason = "WaitingForKubeadmInit" )
const ( // MachinesSpecUpToDateCondition documents that the spec of the machines controlled by the K3sControlPlane // is up to date. When this condition is false, the K3sControlPlane is executing a rolling upgrade. MachinesSpecUpToDateCondition clusterv1.ConditionType = "MachinesSpecUpToDate" // RollingUpdateInProgressReason (Severity=Warning) documents a K3sControlPlane object executing a // rolling upgrade for aligning the machines spec to the desired state. RollingUpdateInProgressReason = "RollingUpdateInProgress" )
const ( // ResizedCondition documents a K3sControlPlane that is resizing the set of controlled machines. ResizedCondition clusterv1.ConditionType = "Resized" // ScalingUpReason (Severity=Info) documents a K3sControlPlane that is increasing the number of replicas. ScalingUpReason = "ScalingUp" // ScalingDownReason (Severity=Info) documents a K3sControlPlane that is decreasing the number of replicas. ScalingDownReason = "ScalingDown" )
const ( // ControlPlaneComponentsHealthyCondition reports the overall status of control plane components // implemented as static pods generated by kubeadm including kube-api-server, kube-controller manager, // kube-scheduler and etcd if managed. ControlPlaneComponentsHealthyCondition clusterv1.ConditionType = "ControlPlaneComponentsHealthy" // ControlPlaneComponentsUnhealthyReason (Severity=Error) documents a control plane component not healthy. ControlPlaneComponentsUnhealthyReason = "ControlPlaneComponentsUnhealthy" // ControlPlaneComponentsUnknownReason reports a control plane component in unknown status. ControlPlaneComponentsUnknownReason = "ControlPlaneComponentsUnknown" // ControlPlaneComponentsInspectionFailedReason documents a failure in inspecting the control plane component status. ControlPlaneComponentsInspectionFailedReason = "ControlPlaneComponentsInspectionFailed" // MachineAgentHealthyCondition reports a machine's agent operational status. // NOTE: This conditions exists only if a stacked etcd cluster is used. MachineAgentHealthyCondition clusterv1.ConditionType = "AgentHealthy" // PodProvisioningReason (Severity=Info) documents a pod waiting to be provisioned i.e., Pod is in "Pending" phase. PodProvisioningReason = "PodProvisioning" // PodMissingReason (Severity=Error) documents a pod does not exist. PodMissingReason = "PodMissing" // PodFailedReason (Severity=Error) documents if a pod failed during provisioning i.e., e.g CrashLoopbackOff, ImagePullBackOff // or if all the containers in a pod have terminated. PodFailedReason = "PodFailed" // PodInspectionFailedReason documents a failure in inspecting the pod status. PodInspectionFailedReason = "PodInspectionFailed" )
const ( // EtcdClusterHealthyCondition documents the overall etcd cluster's health. EtcdClusterHealthyCondition clusterv1.ConditionType = "EtcdClusterHealthyCondition" // EtcdClusterInspectionFailedReason documents a failure in inspecting the etcd cluster status. EtcdClusterInspectionFailedReason = "EtcdClusterInspectionFailed" // MachineEtcdMemberHealthyCondition report the machine's etcd member's health status. // NOTE: This conditions exists only if a stacked etcd cluster is used. MachineEtcdMemberHealthyCondition clusterv1.ConditionType = "EtcdMemberHealthy" // EtcdMemberInspectionFailedReason documents a failure in inspecting the etcd member status. EtcdMemberInspectionFailedReason = "MemberInspectionFailed" // MachinesCreatedCondition documents that the machines controlled by the K3sControlPlane are created. // When this condition is false, it indicates that there was an error when cloning the infrastructure/bootstrap template or // when generating the machine object. MachinesCreatedCondition clusterv1.ConditionType = "MachinesCreated" // InfrastructureTemplateCloningFailedReason (Severity=Error) documents a K3sControlPlane failing to // clone the infrastructure template. InfrastructureTemplateCloningFailedReason = "InfrastructureTemplateCloningFailed" // BootstrapTemplateCloningFailedReason (Severity=Error) documents a K3sControlPlane failing to // clone the bootstrap template. BootstrapTemplateCloningFailedReason = "BootstrapTemplateCloningFailed" // MachineGenerationFailedReason (Severity=Error) documents a K3sControlPlane failing to // generate a machine object. MachineGenerationFailedReason = "MachineGenerationFailed" )
const ( // K3sControlPlaneFinalizer is the finalizer applied to K3sControlPlane resources // by its managing controller. K3sControlPlaneFinalizer = "k3s.controlplane.cluster.x-k8s.io" // SkipCoreDNSAnnotation annotation explicitly skips reconciling CoreDNS if set. SkipCoreDNSAnnotation = "controlplane.cluster.x-k8s.io/skip-coredns" // SkipKubeProxyAnnotation annotation explicitly skips reconciling kube-proxy if set. SkipKubeProxyAnnotation = "controlplane.cluster.x-k8s.io/skip-kube-proxy" // K3sServerConfigurationAnnotation is a machine annotation that stores the json-marshalled string of K3SCP ClusterConfiguration. // This annotation is used to detect any changes in ClusterConfiguration and trigger machine rollout in K3SCP. K3sServerConfigurationAnnotation = "controlplane.cluster.x-k8s.io/k3s-server-configuration" )
const ( // MachinesReadyCondition reports an aggregate of current status of the machines controlled by the K3sControlPlane. MachinesReadyCondition clusterv1.ConditionType = "MachinesReady" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "controlplane.cluster.x-k8s.io", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type K3sControlPlane ¶
type K3sControlPlane struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec K3sControlPlaneSpec `json:"spec,omitempty"` Status K3sControlPlaneStatus `json:"status,omitempty"` }
K3sControlPlane is the Schema for the k3scontrolplanes API
func (*K3sControlPlane) DeepCopy ¶
func (in *K3sControlPlane) DeepCopy() *K3sControlPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K3sControlPlane.
func (*K3sControlPlane) DeepCopyInto ¶
func (in *K3sControlPlane) DeepCopyInto(out *K3sControlPlane)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*K3sControlPlane) DeepCopyObject ¶
func (in *K3sControlPlane) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*K3sControlPlane) Default ¶
func (in *K3sControlPlane) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*K3sControlPlane) GetConditions ¶
func (in *K3sControlPlane) GetConditions() clusterv1.Conditions
GetConditions returns the set of conditions for this object.
func (*K3sControlPlane) SetConditions ¶
func (in *K3sControlPlane) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the conditions on this object.
func (*K3sControlPlane) SetupWebhookWithManager ¶
func (in *K3sControlPlane) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*K3sControlPlane) ValidateCreate ¶
func (in *K3sControlPlane) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*K3sControlPlane) ValidateDelete ¶
func (in *K3sControlPlane) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*K3sControlPlane) ValidateUpdate ¶
func (in *K3sControlPlane) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type K3sControlPlaneList ¶
type K3sControlPlaneList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []K3sControlPlane `json:"items"` }
K3sControlPlaneList contains a list of K3sControlPlane
func (*K3sControlPlaneList) DeepCopy ¶
func (in *K3sControlPlaneList) DeepCopy() *K3sControlPlaneList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K3sControlPlaneList.
func (*K3sControlPlaneList) DeepCopyInto ¶
func (in *K3sControlPlaneList) DeepCopyInto(out *K3sControlPlaneList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*K3sControlPlaneList) DeepCopyObject ¶
func (in *K3sControlPlaneList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type K3sControlPlaneMachineTemplate ¶
type K3sControlPlaneMachineTemplate struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"` // InfrastructureRef is a required reference to a custom resource // offered by an infrastructure provider. InfrastructureRef corev1.ObjectReference `json:"infrastructureRef"` // NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane node // The default value is 0, meaning that the node can be drained without any time limitations. // NOTE: NodeDrainTimeout is different from `kubectl drain --timeout` // +optional NodeDrainTimeout *metav1.Duration `json:"nodeDrainTimeout,omitempty"` // NodeDeletionTimeout defines how long the machine controller will attempt to delete the Node that the Machine // hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely. // If no value is provided, the default value for this property of the Machine resource will be used. // +optional NodeDeletionTimeout *metav1.Duration `json:"nodeDeletionTimeout,omitempty"` }
K3sControlPlaneMachineTemplate defines the template for Machines in a K3sControlPlane object.
func (*K3sControlPlaneMachineTemplate) DeepCopy ¶
func (in *K3sControlPlaneMachineTemplate) DeepCopy() *K3sControlPlaneMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K3sControlPlaneMachineTemplate.
func (*K3sControlPlaneMachineTemplate) DeepCopyInto ¶
func (in *K3sControlPlaneMachineTemplate) DeepCopyInto(out *K3sControlPlaneMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K3sControlPlaneSpec ¶
type K3sControlPlaneSpec struct { // Number of desired machines. Defaults to 1. When stacked etcd is used only // odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members). // This is a pointer to distinguish between explicit zero and not specified. // +optional Replicas *int32 `json:"replicas,omitempty"` // Version defines the desired K3s version. Version string `json:"version"` // MachineTemplate contains information about how machines // should be shaped when creating or updating a control plane. MachineTemplate K3sControlPlaneMachineTemplate `json:"machineTemplate"` // K3sConfigSpec is a K3sConfigSpec // to use for initializing and joining machines to the control plane. // +optional K3sConfigSpec infrabootstrapv1.K3sConfigSpec `json:"k3sConfigSpec,omitempty"` // RolloutAfter is a field to indicate a rollout should be performed // after the specified time even if no changes have been made to the // K3sControlPlane. // // +optional RolloutAfter *metav1.Time `json:"rolloutAfter,omitempty"` // The RolloutStrategy to use to replace control plane machines with // new ones. // +optional // +kubebuilder:default={type: "RollingUpdate", rollingUpdate: {maxSurge: 1}} RolloutStrategy *RolloutStrategy `json:"rolloutStrategy,omitempty"` }
K3sControlPlaneSpec defines the desired state of K3sControlPlane
func (*K3sControlPlaneSpec) DeepCopy ¶
func (in *K3sControlPlaneSpec) DeepCopy() *K3sControlPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K3sControlPlaneSpec.
func (*K3sControlPlaneSpec) DeepCopyInto ¶
func (in *K3sControlPlaneSpec) DeepCopyInto(out *K3sControlPlaneSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K3sControlPlaneStatus ¶
type K3sControlPlaneStatus struct { // Selector is the label selector in string format to avoid introspection // by clients, and is used to provide the CRD-based integration for the // scale subresource and additional integrations for things like kubectl // describe.. The string will be in the same format as the query-param syntax. // More info about label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors // +optional Selector string `json:"selector,omitempty"` // Total number of non-terminated machines targeted by this control plane // (their labels match the selector). // +optional Replicas int32 `json:"replicas"` // Version represents the minimum Kubernetes version for the control plane machines // in the cluster. // +optional Version *string `json:"version,omitempty"` // Total number of non-terminated machines targeted by this control plane // that have the desired template spec. // +optional UpdatedReplicas int32 `json:"updatedReplicas"` // Total number of fully running and ready control plane machines. // +optional ReadyReplicas int32 `json:"readyReplicas"` // 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 ready or machines // that still have not been created. // +optional UnavailableReplicas int32 `json:"unavailableReplicas"` // Initialized denotes whether or not the control plane has the // uploaded kubeadm-config configmap. // +optional Initialized bool `json:"initialized"` // Ready denotes that the K3sControlPlane API Server is ready to // receive requests. // +optional Ready bool `json:"ready"` // FailureReason indicates that there is a terminal problem reconciling the // state, and will be set to a token value suitable for // programmatic interpretation. // +optional FailureReason errors.KubeadmControlPlaneStatusError `json:"failureReason,omitempty"` // ErrorMessage indicates that there is a terminal problem reconciling the // state, and will be set to a descriptive error message. // +optional FailureMessage *string `json:"failureMessage,omitempty"` // ObservedGeneration is the latest generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Conditions defines current service state of the K3sControlPlane. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
K3sControlPlaneStatus defines the observed state of K3sControlPlane
func (*K3sControlPlaneStatus) DeepCopy ¶
func (in *K3sControlPlaneStatus) DeepCopy() *K3sControlPlaneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K3sControlPlaneStatus.
func (*K3sControlPlaneStatus) DeepCopyInto ¶
func (in *K3sControlPlaneStatus) DeepCopyInto(out *K3sControlPlaneStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K3sControlPlaneTemplate ¶
type K3sControlPlaneTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec K3sControlPlaneTemplateSpec `json:"spec,omitempty"` }
K3sControlPlaneTemplate is the Schema for the k3scontrolplanetemplates API
func (*K3sControlPlaneTemplate) DeepCopy ¶
func (in *K3sControlPlaneTemplate) DeepCopy() *K3sControlPlaneTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K3sControlPlaneTemplate.
func (*K3sControlPlaneTemplate) DeepCopyInto ¶
func (in *K3sControlPlaneTemplate) DeepCopyInto(out *K3sControlPlaneTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*K3sControlPlaneTemplate) DeepCopyObject ¶
func (in *K3sControlPlaneTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*K3sControlPlaneTemplate) Default ¶
func (r *K3sControlPlaneTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*K3sControlPlaneTemplate) SetupWebhookWithManager ¶
func (r *K3sControlPlaneTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*K3sControlPlaneTemplate) ValidateCreate ¶
func (r *K3sControlPlaneTemplate) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*K3sControlPlaneTemplate) ValidateDelete ¶
func (r *K3sControlPlaneTemplate) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*K3sControlPlaneTemplate) ValidateUpdate ¶
func (r *K3sControlPlaneTemplate) ValidateUpdate(oldRaw runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type K3sControlPlaneTemplateList ¶
type K3sControlPlaneTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []K3sControlPlaneTemplate `json:"items"` }
K3sControlPlaneTemplateList contains a list of K3sControlPlaneTemplate
func (*K3sControlPlaneTemplateList) DeepCopy ¶
func (in *K3sControlPlaneTemplateList) DeepCopy() *K3sControlPlaneTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K3sControlPlaneTemplateList.
func (*K3sControlPlaneTemplateList) DeepCopyInto ¶
func (in *K3sControlPlaneTemplateList) DeepCopyInto(out *K3sControlPlaneTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*K3sControlPlaneTemplateList) DeepCopyObject ¶
func (in *K3sControlPlaneTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type K3sControlPlaneTemplateMachineTemplate ¶
type K3sControlPlaneTemplateMachineTemplate struct { // NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane node // The default value is 0, meaning that the node can be drained without any time limitations. // NOTE: NodeDrainTimeout is different from `kubectl drain --timeout` // +optional NodeDrainTimeout *metav1.Duration `json:"nodeDrainTimeout,omitempty"` // NodeDeletionTimeout defines how long the machine controller will attempt to delete the Node that the Machine // hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely. // If no value is provided, the default value for this property of the Machine resource will be used. // +optional NodeDeletionTimeout *metav1.Duration `json:"nodeDeletionTimeout,omitempty"` }
K3sControlPlaneTemplateMachineTemplate defines the template for Machines in a K3sControlPlaneTemplate object. NOTE: K3sControlPlaneTemplateMachineTemplate is similar to K3sControlPlaneMachineTemplate but omits ObjectMeta and InfrastructureRef fields. These fields do not make sense on the K3sControlPlaneTemplate, because they are calculated by the Cluster topology reconciler during reconciliation and thus cannot be configured on the K3sControlPlaneTemplate.
func (*K3sControlPlaneTemplateMachineTemplate) DeepCopy ¶
func (in *K3sControlPlaneTemplateMachineTemplate) DeepCopy() *K3sControlPlaneTemplateMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K3sControlPlaneTemplateMachineTemplate.
func (*K3sControlPlaneTemplateMachineTemplate) DeepCopyInto ¶
func (in *K3sControlPlaneTemplateMachineTemplate) DeepCopyInto(out *K3sControlPlaneTemplateMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K3sControlPlaneTemplateResource ¶
type K3sControlPlaneTemplateResource struct {
Spec K3sControlPlaneTemplateResourceSpec `json:"spec"`
}
K3sControlPlaneTemplateResource describes the data needed to create a K3sControlPlane from a template.
func (*K3sControlPlaneTemplateResource) DeepCopy ¶
func (in *K3sControlPlaneTemplateResource) DeepCopy() *K3sControlPlaneTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K3sControlPlaneTemplateResource.
func (*K3sControlPlaneTemplateResource) DeepCopyInto ¶
func (in *K3sControlPlaneTemplateResource) DeepCopyInto(out *K3sControlPlaneTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K3sControlPlaneTemplateResourceSpec ¶
type K3sControlPlaneTemplateResourceSpec struct { // MachineTemplate contains information about how machines // should be shaped when creating or updating a control plane. // +optional MachineTemplate *K3sControlPlaneTemplateMachineTemplate `json:"machineTemplate,omitempty"` // K3sConfigSpec is a K3sConfigSpec // to use for initializing and joining machines to the control plane. K3sConfigSpec infrabootstrapv1.K3sConfigSpec `json:"k3sConfigSpec"` // RolloutAfter is a field to indicate a rollout should be performed // after the specified time even if no changes have been made to the // K3sControlPlane. // // +optional RolloutAfter *metav1.Time `json:"rolloutAfter,omitempty"` // The RolloutStrategy to use to replace control plane machines with // new ones. // +optional // +kubebuilder:default={type: "RollingUpdate", rollingUpdate: {maxSurge: 1}} RolloutStrategy *RolloutStrategy `json:"rolloutStrategy,omitempty"` }
K3sControlPlaneTemplateResourceSpec defines the desired state of K3sControlPlane. NOTE: K3sControlPlaneTemplateResourceSpec is similar to K3sControlPlaneSpec but omits Replicas and Version fields. These fields do not make sense on the K3sControlPlaneTemplate, because they are calculated by the Cluster topology reconciler during reconciliation and thus cannot be configured on the K3sControlPlaneTemplate.
func (*K3sControlPlaneTemplateResourceSpec) DeepCopy ¶
func (in *K3sControlPlaneTemplateResourceSpec) DeepCopy() *K3sControlPlaneTemplateResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K3sControlPlaneTemplateResourceSpec.
func (*K3sControlPlaneTemplateResourceSpec) DeepCopyInto ¶
func (in *K3sControlPlaneTemplateResourceSpec) DeepCopyInto(out *K3sControlPlaneTemplateResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type K3sControlPlaneTemplateSpec ¶
type K3sControlPlaneTemplateSpec struct {
Template K3sControlPlaneTemplateResource `json:"template"`
}
K3sControlPlaneTemplateSpec defines the desired state of K3sControlPlaneTemplate
func (*K3sControlPlaneTemplateSpec) DeepCopy ¶
func (in *K3sControlPlaneTemplateSpec) DeepCopy() *K3sControlPlaneTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K3sControlPlaneTemplateSpec.
func (*K3sControlPlaneTemplateSpec) DeepCopyInto ¶
func (in *K3sControlPlaneTemplateSpec) DeepCopyInto(out *K3sControlPlaneTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RollingUpdate ¶
type RollingUpdate struct { // The maximum number of control planes that can be scheduled above or under the // desired number of control planes. // Value can be an absolute number 1 or 0. // Defaults to 1. // Example: when this is set to 1, the control plane can be scaled // up immediately when the rolling update starts. // +optional MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty"` }
RollingUpdate is used to control the desired behavior of rolling update.
func (*RollingUpdate) DeepCopy ¶
func (in *RollingUpdate) DeepCopy() *RollingUpdate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpdate.
func (*RollingUpdate) DeepCopyInto ¶
func (in *RollingUpdate) DeepCopyInto(out *RollingUpdate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutStrategy ¶
type RolloutStrategy struct { // Type of rollout. Currently the only supported strategy is // "RollingUpdate". // Default is RollingUpdate. // +optional Type RolloutStrategyType `json:"type,omitempty"` // Rolling update config params. Present only if // RolloutStrategyType = RollingUpdate. // +optional RollingUpdate *RollingUpdate `json:"rollingUpdate,omitempty"` }
RolloutStrategy describes how to replace existing machines with new ones.
func (*RolloutStrategy) DeepCopy ¶
func (in *RolloutStrategy) DeepCopy() *RolloutStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutStrategy.
func (*RolloutStrategy) DeepCopyInto ¶
func (in *RolloutStrategy) DeepCopyInto(out *RolloutStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutStrategyType ¶
type RolloutStrategyType string
RolloutStrategyType defines the rollout strategies for a K3sControlPlane.
const ( // RollingUpdateStrategyType replaces the old control planes by new one using rolling update // i.e. gradually scale up or down the old control planes and scale up or down the new one. RollingUpdateStrategyType RolloutStrategyType = "RollingUpdate" )