Documentation

Overview

    Package v1alpha4 contains API Schema definitions for the kubeadm v1alpha4 API group +kubebuilder:object:generate=true +groupName=controlplane.cluster.x-k8s.io

    Index

    Constants

    View Source
    const (
    	// CertificatesAvailableCondition documents that cluster certificates were generated as part of the
    	// processing of a a KubeadmControlPlane object.
    	CertificatesAvailableCondition clusterv1.ConditionType = "CertificatesAvailable"
    
    	// CertificatesGenerationFailedReason (Severity=Warning) documents a KubeadmControlPlane controller detecting
    	// an error while generating certificates; those kind of errors are usually temporary and the controller
    	// automatically recover from them.
    	CertificatesGenerationFailedReason = "CertificatesGenerationFailed"
    )
    View Source
    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 KubeadmControlPlane object waiting for the first
    	// control plane instance to complete the kubeadm init operation.
    	WaitingForKubeadmInitReason = "WaitingForKubeadmInit"
    )
    View Source
    const (
    	// MachinesSpecUpToDateCondition documents that the spec of the machines controlled by the KubeadmControlPlane
    	// is up to date. Whe this condition is false, the KubeadmControlPlane is executing a rolling upgrade.
    	MachinesSpecUpToDateCondition clusterv1.ConditionType = "MachinesSpecUpToDate"
    
    	// RollingUpdateInProgressReason (Severity=Warning) documents a KubeadmControlPlane object executing a
    	// rolling upgrade for aligning the machines spec to the desired state.
    	RollingUpdateInProgressReason = "RollingUpdateInProgress"
    )
    View Source
    const (
    	// ResizedCondition documents a KubeadmControlPlane that is resizing the set of controlled machines.
    	ResizedCondition clusterv1.ConditionType = "Resized"
    
    	// ScalingUpReason (Severity=Info) documents a KubeadmControlPlane that is increasing the number of replicas.
    	ScalingUpReason = "ScalingUp"
    
    	// ScalingDownReason (Severity=Info) documents a KubeadmControlPlane that is decreasing the number of replicas.
    	ScalingDownReason = "ScalingDown"
    )
    View Source
    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"
    
    	// MachineAPIServerPodHealthyCondition reports a machine's kube-apiserver's operational status.
    	MachineAPIServerPodHealthyCondition clusterv1.ConditionType = "APIServerPodHealthy"
    
    	// MachineControllerManagerPodHealthyCondition reports a machine's kube-controller-manager's health status.
    	MachineControllerManagerPodHealthyCondition clusterv1.ConditionType = "ControllerManagerPodHealthy"
    
    	// MachineSchedulerPodHealthyCondition reports a machine's kube-scheduler's operational status.
    	MachineSchedulerPodHealthyCondition clusterv1.ConditionType = "SchedulerPodHealthy"
    
    	// MachineEtcdPodHealthyCondition reports a machine's etcd pod's operational status.
    	// NOTE: This conditions exists only if a stacked etcd cluster is used.
    	MachineEtcdPodHealthyCondition clusterv1.ConditionType = "EtcdPodHealthy"
    
    	// 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"
    )
    View Source
    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"
    
    	// EtcdClusterUnknownReason reports an etcd cluster in unknown status.
    	EtcdClusterUnknownReason = "EtcdClusterUnknown"
    
    	// EtcdClusterUnhealthyReason (Severity=Error) is set when the etcd cluster is unhealthy.
    	EtcdClusterUnhealthyReason = "EtcdClusterUnhealthy"
    
    	// 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"
    
    	// EtcdMemberUnhealthyReason (Severity=Error) documents a Machine's etcd member is unhealthy.
    	EtcdMemberUnhealthyReason = "EtcdMemberUnhealthy"
    
    	// MachinesCreatedCondition documents that the machines controlled by the KubeadmControlPlane 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 KubeadmControlPlane failing to
    	// clone the infrastructure template
    	InfrastructureTemplateCloningFailedReason = "InfrastructureTemplateCloningFailed"
    
    	// BootstrapTemplateCloningFailedReason (Severity=Error) documents a KubeadmControlPlane failing to
    	// clone the bootstrap template
    	BootstrapTemplateCloningFailedReason = "BootstrapTemplateCloningFailed"
    
    	// MachineGenerationFailedReason (Severity=Error) documents a KubeadmControlPlane failing to
    	// generate a machine object
    	MachineGenerationFailedReason = "MachineGenerationFailed"
    )
    View Source
    const (
    	KubeadmControlPlaneFinalizer = "kubeadm.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"
    
    	// KubeadmClusterConfigurationAnnotation is a machine annotation that stores the json-marshalled string of KCP ClusterConfiguration.
    	// This annotation is used to detect any changes in ClusterConfiguration and trigger machine rollout in KCP.
    	KubeadmClusterConfigurationAnnotation = "controlplane.cluster.x-k8s.io/kubeadm-cluster-configuration"
    )
    View Source
    const (
    	// MachinesReady reports an aggregate of current status of the machines controlled by the KubeadmControlPlane.
    	MachinesReadyCondition clusterv1.ConditionType = "MachinesReady"
    )

    Variables

    View Source
    var (
    	// GroupVersion is group version used to register these objects
    	GroupVersion = schema.GroupVersion{Group: "controlplane.cluster.x-k8s.io", Version: "v1alpha4"}
    
    	// 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 KubeadmControlPlane

    type KubeadmControlPlane struct {
    	metav1.TypeMeta   `json:",inline"`
    	metav1.ObjectMeta `json:"metadata,omitempty"`
    
    	Spec   KubeadmControlPlaneSpec   `json:"spec,omitempty"`
    	Status KubeadmControlPlaneStatus `json:"status,omitempty"`
    }

      KubeadmControlPlane is the Schema for the KubeadmControlPlane API.

      func (*KubeadmControlPlane) DeepCopy

      func (in *KubeadmControlPlane) DeepCopy() *KubeadmControlPlane

        DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmControlPlane.

        func (*KubeadmControlPlane) DeepCopyInto

        func (in *KubeadmControlPlane) DeepCopyInto(out *KubeadmControlPlane)

          DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

          func (*KubeadmControlPlane) DeepCopyObject

          func (in *KubeadmControlPlane) DeepCopyObject() runtime.Object

            DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

            func (*KubeadmControlPlane) Default

            func (in *KubeadmControlPlane) Default()

              Default implements webhook.Defaulter so a webhook will be registered for the type

              func (*KubeadmControlPlane) GetConditions

              func (in *KubeadmControlPlane) GetConditions() clusterv1.Conditions

              func (*KubeadmControlPlane) Hub

              func (*KubeadmControlPlane) Hub()

              func (*KubeadmControlPlane) SetConditions

              func (in *KubeadmControlPlane) SetConditions(conditions clusterv1.Conditions)

              func (*KubeadmControlPlane) SetupWebhookWithManager

              func (in *KubeadmControlPlane) SetupWebhookWithManager(mgr ctrl.Manager) error

              func (*KubeadmControlPlane) ValidateCreate

              func (in *KubeadmControlPlane) ValidateCreate() error

                ValidateCreate implements webhook.Validator so a webhook will be registered for the type

                func (*KubeadmControlPlane) ValidateDelete

                func (in *KubeadmControlPlane) ValidateDelete() error

                  ValidateDelete implements webhook.Validator so a webhook will be registered for the type

                  func (*KubeadmControlPlane) ValidateUpdate

                  func (in *KubeadmControlPlane) ValidateUpdate(old runtime.Object) error

                    ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

                    type KubeadmControlPlaneList

                    type KubeadmControlPlaneList struct {
                    	metav1.TypeMeta `json:",inline"`
                    	metav1.ListMeta `json:"metadata,omitempty"`
                    	Items           []KubeadmControlPlane `json:"items"`
                    }

                      KubeadmControlPlaneList contains a list of KubeadmControlPlane.

                      func (*KubeadmControlPlaneList) DeepCopy

                        DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmControlPlaneList.

                        func (*KubeadmControlPlaneList) DeepCopyInto

                        func (in *KubeadmControlPlaneList) DeepCopyInto(out *KubeadmControlPlaneList)

                          DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                          func (*KubeadmControlPlaneList) DeepCopyObject

                          func (in *KubeadmControlPlaneList) DeepCopyObject() runtime.Object

                            DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

                            func (*KubeadmControlPlaneList) Hub

                            func (*KubeadmControlPlaneList) Hub()

                            type KubeadmControlPlaneSpec

                            type KubeadmControlPlaneSpec 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 Kubernetes version.
                            	Version string `json:"version"`
                            
                            	// InfrastructureTemplate is a required reference to a custom resource
                            	// offered by an infrastructure provider.
                            	InfrastructureTemplate corev1.ObjectReference `json:"infrastructureTemplate"`
                            
                            	// KubeadmConfigSpec is a KubeadmConfigSpec
                            	// to use for initializing and joining machines to the control plane.
                            	KubeadmConfigSpec cabpkv1.KubeadmConfigSpec `json:"kubeadmConfigSpec"`
                            
                            	// UpgradeAfter is a field to indicate an upgrade should be performed
                            	// after the specified time even if no changes have been made to the
                            	// KubeadmControlPlane
                            	// +optional
                            	UpgradeAfter *metav1.Time `json:"upgradeAfter,omitempty"`
                            
                            	// 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"`
                            }

                              KubeadmControlPlaneSpec defines the desired state of KubeadmControlPlane.

                              func (*KubeadmControlPlaneSpec) DeepCopy

                                DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmControlPlaneSpec.

                                func (*KubeadmControlPlaneSpec) DeepCopyInto

                                func (in *KubeadmControlPlaneSpec) DeepCopyInto(out *KubeadmControlPlaneSpec)

                                  DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

                                  type KubeadmControlPlaneStatus

                                  type KubeadmControlPlaneStatus 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,omitempty"`
                                  
                                  	// Total number of non-terminated machines targeted by this control plane
                                  	// that have the desired template spec.
                                  	// +optional
                                  	UpdatedReplicas int32 `json:"updatedReplicas,omitempty"`
                                  
                                  	// Total number of fully running and ready control plane machines.
                                  	// +optional
                                  	ReadyReplicas int32 `json:"readyReplicas,omitempty"`
                                  
                                  	// Total number of unavailable machines targeted by this control plane.
                                  	// 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,omitempty"`
                                  
                                  	// Initialized denotes whether or not the control plane has the
                                  	// uploaded kubeadm-config configmap.
                                  	// +optional
                                  	Initialized bool `json:"initialized"`
                                  
                                  	// Ready denotes that the KubeadmControlPlane 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 KubeadmControlPlane.
                                  	// +optional
                                  	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
                                  }

                                    KubeadmControlPlaneStatus defines the observed state of KubeadmControlPlane.

                                    func (*KubeadmControlPlaneStatus) DeepCopy

                                      DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmControlPlaneStatus.

                                      func (*KubeadmControlPlaneStatus) DeepCopyInto

                                        DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.